- Portada
- Ensablaje mecánico
-
Programación básica
-
Introducción al Montaje Electrónico
-
Resistencias y Ejemplos de cálculo
-
El pulsador
-
La protoboard y los LEDs
-
Entradas y salidas digitales. Lectura de un pulsador y encendido de un led.
-
Entradas Analógicas. Lectura de un potenciómetro.
-
El Servomotor
-
Salidas PWM. Control posición de un servo
-
Cuestionario Programación básica10 xp
-
-
Programación extendida
-
Actividad. Estados de caja. Apertura y cierre
-
Actividad. Dial analógico. Introducción de dígitos. Pantalla LCD
-
Introducción a Funciones
-
Las funciones
-
Actividad. Funcionalidad elemental caja fuerte.
-
El Zumbador
-
Actividad. Sistema de alarma con zumbador
-
Actividad avanzada. Cambio de contraseña. Memoria EEPROM
-
Actividad avanzada. Display: Íconos y animaciones
-
Cuestionario Programación extendida10 xp
-
- Para terminar
Actividad avanzada. Cambio de contraseña. Memoria EEPROM
PROGRAMACIÓN EXTENDIDA
Memoria EEPROM

Teoría
EEPROM significa Electrically Erasable Programmable Read-Only Memory. Es un tipo de memoria no volátil, lo que significa que conserva su contenido incluso cuando se apaga el dispositivo. Esto es útil para aplicaciones que requieren la conservación de la configuración del sistema, como contraseñas, estados de dispositivos, valor de contadores, entre otros.
Características de la EEPROM
No volátil: La EEPROM mantiene su contenido sin necesidad de alimentación eléctrica.
Ciclos de escritura: La EEPROM tiene un límite de ciclos de escritura. En la mayoría de los microcontroladores Arduino, este límite es de aproximadamente 100,000 ciclos por cada celda de memoria.
Velocidad: La velocidad de lectura es generalmente rápida, pero la escritura es más lenta en comparación con la RAM.
Capacidad: Suele tener una capacidad limitada en comparación con otros tipos de memoria no volátil, como la memoria flash.
Acceso byte a byte: Permite la lectura y escritura de datos a nivel de byte, lo cual es ideal para almacenar configuraciones y pequeñas cantidades de datos.
La librería EEPROM

En los microcontroladores Arduino, la EEPROM se encuentra integrada en el propio microcontrolador, usándose comúnmente para almacenar configuraciones y datos que deben persistir entre reinicios. La capacidad de la EEPROM varía según el modelo de Arduino, contando con 1KB (1024 bytes) en el modelo Arduino UNO y NANO.
La biblioteca EEPROM de Arduino facilita la lectura y escritura de datos en la memoria EEPROM. Las funciones principales incluyen:
- EEPROM.read(address): Lee un byte desde la dirección especificada.
- EEPROM.write(address, value): Escribe un byte en la dirección especificada.
- EEPROM.update(address, value): Escribe un byte solo si el valor es diferente al valor almacenado (reduce el desgaste).
- EEPROM.get(address, data): Lee un tipo de dato completo desde la EEPROM.
- EEPROM.put(address, data): Escribe un tipo de dato completo en la EEPROM.
Nota importante
Para maximizar la vida útil de la EEPROM, minimiza las operaciones de escritura. Utiliza EEPROM.update() en lugar de EEPROM.write() siempre que sea posible.
Programación

Explicación actividad a programar.
Para esta actividad partiremos del código elaborado hasta ahora, que permite la introducción de una combinación de 4 dígitos a través del dial y dos botones, contando también con el sistema de alarma. Haremos uso de la EEPROM interna del Arduino, por lo que no será necesaria ninguna conexión eléctrica adicional. La nueva funcionalidad a incorporar es la siguiente:
Después de abrir la caja con el código correcto, se deberá preguntar al usuario si desea cambiar la contraseña. Si el usuario indica que sí, se le solicitará que introduzca una nueva contraseña, almacenando la nueva contraseña en la EEPROM.
Tareas a realizar:
Durante la inicialización, se lee la contraseña correcta desde la EEPROM.
Después de abrir la caja fuerte con el código correcto, se le pregunta al usuario si desea cambiar la contraseña. Si el usuario decide cambiarla, se le pide que introduzca un nuevo código utilizando el dial y los botones. El nuevo código se guarda en la EEPROM.
Funciones Auxiliares
Además de las funciones ya creadas hasta el momento, entre las que se encuentran: updateLCD() ,resetCode(), checkCode(), openBox(), closeBox(), activateAlarm() y resetAttempts().Crearemos las siguientes:
readCodeFromEEPROM(): Lee la contraseña correcta desde la EEPROM.askForCodeChange(): Pregunta al usuario si desea cambiar la contraseña y gestiona la introducción del nuevo código.
La EEPROM se utilizará para almacenar la contraseña correcta que desbloquea la caja. Al encender el sistema, se lee la contraseña almacenada en la EEPROM para permitir la verificación del código introducido por el usuario. Si el usuario decide cambiar la contraseña, el nuevo código se guarda en la EEPROM (sobre-escribiendo el anterior) para su uso futuro.
Lectura código
Este fragmento de código lee los cuatro primeros bytes de la EEPROM y los almacena en el array correctCode, que contiene la contraseña correcta de la caja fuerte.
Escritura del código
enteredCode, en la EEPROM. Al igual que en el fragmento de código anterior, la contraseña se "coloca físicamente" en los 4 primeros bytes de la memoria EEPROM. Tras ello, se actualiza el array correctCode con la nueva contraseña.| Vistas | |
|---|---|
| 2 | Número de vistas |
| 2 | Vistas de miembros |
| 0 | Vistas públicas |
| Acciones | |
|---|---|
| 0 | Gustos |
| 0 | No me gusta |
| 0 | Comentarios |
Compartir por correo
Por favor iniciar sesión para compartir esto webpage por correo.