Archivo de la etiqueta: eeprom

Memoria EEPROM en ArduinoBlocks

La memoria EEPROM nos permite almacenar información de forma persistente (no volátil) aunque desconectemos la fuente de alimentación de la placa Arduino. Es el sistema para guardar información importante como valores de configuración, histórico de valores, etc…

La memoria EEPROM de Arduino es de 1024 bytes, pero ArduinoBlocks trabaja internamente con variables que utilizan 4 bytes (valor decimal “double” de 32 bits) por lo que en la práctica  en ArduinoBlocks podemos guardar 256 variables en la EEPROM (1024 bytes / 4 bytes por variable  = 256 variables)

Para guardar un valor en la memoria EEPROM simplemente indicamos la posición (dirección) donde guardar y el valor a almacenar:

Para recuperar un valor especificamos la posición (dirección) y obtendremos el valor almacenado:

IMPORTANTE: La memoria EEPROM de Arduino suele venir pregrabada a 255 (0xFF) en cada uno de sus bytes. En la mayoría de ocasiones es recomendable hacer un pequeño programa inicial para fijar toda la memoria a valor 0:

Ejemplo 1: Guardar el valor máximo, mínimo de temperatura registrado en la memoria EEPROM.

Programa para iniciar la EEPROM con valores máximo y mínimo correctos:

Programa para el funcionamiento normal:

Ejemplo 2: Obtener la configuración desde la memoria EEPROM.

Movemos un servo poco a poco (de 5 en 5 grados cada medio segundo). Después de cada movimiento se guarda la posición actual. Si apagamos y encendemos continuará por donde se había quedado.

Ejemplo 3: Almacenar lista de valores de una secuencia numérica en la memoria EEPROM.

Iniciamos la memoria EEPROM con este programa (valores de las frecuencias de las primeras 12 notas musicales)

Y este el programa que “toca” la escala musical recuperando los valores de cada nota desde la memoria EEPROM (guardada en el programa anterior)

 

+Info:

http://www.arduinoblocks.com

http://blog.arduinoblocks.com

http://blog.arduinoblocks.com

Libros:

Compartir