Tabla de contenido:

Inicialización de la configuración de Arduino EEPROM: 5 pasos
Inicialización de la configuración de Arduino EEPROM: 5 pasos

Video: Inicialización de la configuración de Arduino EEPROM: 5 pasos

Video: Inicialización de la configuración de Arduino EEPROM: 5 pasos
Video: Usar una EEPROM con Arduino 2024, Mes de julio
Anonim
Image
Image
¿Qué es una EEPROM?
¿Qué es una EEPROM?

Hola a todos, Cada Arduino tiene una pequeña memoria incorporada llamada EEPROM. Puede usar esto para almacenar configuraciones para su proyecto donde los valores elegidos se mantendrán entre ciclos de energía y estarán allí la próxima vez que encienda el Arduino. Tengo un truco genial que le enseñará cómo puede iniciar un conjunto de valores predeterminados en su primera ejecución, así que quédese para descubrir cómo.

Paso 1: ¿Qué es una EEPROM?

¿Qué es una EEPROM?
¿Qué es una EEPROM?

Una EEPROM es un pequeño almacenamiento de memoria, cuyos valores se mantienen incluso cuando la placa Arduino está apagada. Esto actúa como un pequeño disco duro para que pueda almacenar sus parámetros para la próxima vez que encienda el dispositivo. Dependiendo del tipo de placa Arduino, tendrá una cantidad diferente de almacenamiento disponible en cada una, por ejemplo, la Uno tiene 1024 bytes, la Mega tiene 4096 bytes y la LilyPad tiene 512 bytes.

Es importante tener en cuenta que todas las EEPROM tienen un número limitado de ciclos de escritura. Atmel especifica una esperanza de vida de alrededor de 100 000 ciclos de escritura / borrado para la EEPROM en Arduino. Esto puede parecer una gran cantidad de escrituras, pero puede ser fácil alcanzar este límite si está leyendo y escribiendo en un bucle. Una vez que una ubicación se ha escrito y borrado demasiadas veces, puede empezar a ser poco fiable. Puede que no devuelva los datos correctos o devuelva el valor de un bit vecino.

Paso 2: importar la biblioteca

Importar la biblioteca
Importar la biblioteca
Importar la biblioteca
Importar la biblioteca
Importar la biblioteca
Importar la biblioteca

Para usar esta memoria, primero incluimos la biblioteca proporcionada por Arduino. La biblioteca proporciona dos métodos: leer y escribir para las acciones correspondientes. La función de lectura acepta la dirección desde la que queremos leer, mientras que la función de escritura acepta tanto la dirección como el valor que queremos escribir.

En nuestro ejemplo, el objetivo es tener una matriz de configuraciones lista en cada inicio de Arduino, por lo que comenzamos definiendo la matriz que usaremos para el almacenamiento y definiendo las direcciones para cada una de las configuraciones que queremos almacenar. En un chip donde tenemos 1024 bytes disponibles, las ubicaciones de las direcciones serán de 0 a 1023.

Paso 3: establecer el indicador de inicialización

Establecer la bandera de inicialización
Establecer la bandera de inicialización

El truco para la configuración inicial de los valores predeterminados para la configuración es utilizar una de las direcciones como indicador de si la configuración se ha inicializado o no. He usado la última ubicación de la dirección para esto, ya que a menudo no se usa para nada más. La función loadSettings primero verificará esta ubicación si el valor almacenado allí es un carácter “T” y si no, irá configurando por configuración, escribiendo los valores iniciales para cada uno de ellos. Una vez hecho esto, ahora establecerá el valor de la ubicación donde mantenemos un registro de la configuración inicializada en el carácter "T" y la próxima vez que encienda el Arduino, ya no iniciaremos los valores, sino que leeremos los datos guardados en nuestra matriz.

Paso 4: Actualización de la configuración

Actualización de la configuración
Actualización de la configuración

Para actualizar los valores, podemos usar la función de escritura como la teníamos en la inicialización, pero una mejor manera es usar la función de actualización provista. Lo que hace esta función es que primero comprueba si el valor que estamos intentando guardar es el mismo que ya está en la EEPROM y si lo es entonces no se actualiza. Al hacerlo, intenta minimizar el número de operaciones de escritura para extender la vida útil de la EEPROM.

Paso 5: ¡Disfruta

¡Disfrutar!
¡Disfrutar!
¡Disfrutar!
¡Disfrutar!

Espero que este Instructable te haya sido útil y que hayas logrado aprender algo. El código fuente está disponible en mi página de GitHub y el enlace se encuentra a continuación. Si tiene alguna sugerencia, déjela en los comentarios y no olvide suscribirse a mi canal de YouTube para ver más videos similares.

Recomendado: