Tabla de contenido:
Video: Agregar una EEPROM 24LC256 al Arduino Due: 3 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:43
El arduino due carece de eeprom. Este instructable agrega uno y le permite almacenar valores en la memoria no volátil que sobrevivirán a una actualización de firmware arduino.
Paso 1: Breadboarding
Aquí hay algunas instrucciones realmente buenas: https://www.hobbytronics.co.uk/arduino-external-eeprom Solo las seguí. La foto muestra el circuito integrado. las clavijas 1 a 4 y la clavija 7 están conectadas a tierra. El pin 8 está conectado al suministro de 3.3 V en la placa de vencimiento Los cables amarillo (pin 6) y blanco (pin 5) conectados a los pines i2c SDA (datos) y SCL (reloj) en la placa de vencimiento (numerados 21 y 20).
Paso 2: Código de tiempo
Aquí hay algunos fragmentos de código que utilizo en mis bocetos. En primer lugar, incluya los encabezados de la biblioteca Wire en algún lugar cerca de la parte superior de su boceto: / * Use 24LC256 EEPROM para guardar la configuración * / #include Luego agregue algunas funciones para leer y escribir bytes de la EEPROM (solo me preocupan los bytes individuales pero hay un función de escritura de página en el chip también). Tenga en cuenta que hay una definición de macro de 0x50 … esta es la dirección del chip en el bus i2c (puede conectar más de una cosa i2c en un bus i2c y seleccionar con cuál desea hablar cambiando la dirección). / * Estas dos funciones nos ayudan a escribir en el chip EEPROM 24LC256 * / #define EEPROM_ADDR 0x50 void EEPROM_write (unsigned int addr, byte data) {int rdata = data; Wire.beginTransmission (EEPROM_ADDR); Wire.write ((int) (addr >> 8)); // MSB Wire.write ((int) (addr & 0xFF)); // LSB Wire.write (rdata); Wire.endTransmission (); //Serial.print("EEPROM write: addr: "); //Serial.print(addr); //Serial.print (""); //Serial.println(data); retraso (5); } byte EEPROM_read (unsigned int addr) {byte data = 0xFF; Wire.beginTransmission (EEPROM_ADDR); Wire.write ((int) (addr >> 8)); // MSB Wire.write ((int) (addr & 0xFF)); // LSB Wire.endTransmission (); Wire.requestFrom (EEPROM_ADDR, 1); if (Wire.available ()) data = Wire.read (); //Serial.print("EEPROM read: addr: "); //Serial.print(addr); //Serial.print (""); //Serial.println(data); retraso (5); devolver datos; } Puede descomentar las líneas Serial.print (…) si desea ver algún resultado de depuración. En la función setup () de arduinos, inicia la biblioteca de cables y puede leer los valores iniciales. Aquí leo en dos bytes (banderas y max_cc), dos palabras (lean_min y lean_max) y una matriz de palabras sd_max [3]: // leer valores guardados en la EEPROM Wire.begin (); banderas = EEPROM_read (0); max_cc = EEPROM_read (1); lean_min = palabra (EEPROM_read (3), EEPROM_read (2)); lean_max = palabra (EEPROM_read (5), EEPROM_read (4)); para (int j = 0; j <3; j) {sd_max [j] = palabra (EEPROM_read (7 j * 2), EEPROM_read (6 j * 2)); } Aquí está el bit de código que los escribe en la EEPROM: EEPROM_write (0, flags); EEPROM_write (1, max_cc); EEPROM_write (2, lowByte (lean_min)); EEPROM_write (3, highByte (lean_min)); EEPROM_write (4, lowByte (magro_máx)); EEPROM_write (5, highByte (magro_máx)); para (int j = 0; j <3; j) {EEPROM_write (6 j * 2, lowByte (sd_max [j])); EEPROM_write (7 j * 2, highByte (sd_max [j])); } Eso es todo realmente.
Paso 3: Conéctelo
Conéctelo a un veroboard para atornillarlo en un gabinete y hacer el trabajo.
Recomendado:
Agregar una pantalla digital a un receptor de comunicaciones antiguo: 6 pasos (con imágenes)
Agregue una pantalla digital a un receptor de comunicaciones antiguo: una de las deficiencias de usar un equipo de comunicaciones antiguo es el hecho de que el dial analógico no es muy preciso. Siempre estás adivinando la frecuencia que estás recibiendo. En las bandas de AM o FM, esto generalmente no es un problema porque normalmente
Cómo agregar una pantalla de tinta electrónica a su proyecto: 12 pasos (con imágenes)
Cómo agregar una pantalla de tinta electrónica a su proyecto: muchos proyectos implican el monitoreo de algún tipo de datos, como datos ambientales, a menudo utilizando un Arduino para el control. En mi caso, quería controlar el nivel de sal en mi ablandador de agua. Es posible que desee acceder a los datos a través de su red doméstica
Agregar una función de carga rápida a una batería externa: 5 pasos (con imágenes)
Agregar una función de carga rápida a un banco de energía: en este proyecto, le mostraré cómo modifiqué un banco de energía común para reducir su tiempo de carga ridículamente largo. En el camino, hablaré sobre el circuito del banco de energía y por qué el paquete de batería de mi banco de energía es un poco especial. Vamos a
Cómo agregar una biblioteca externa a Arduino: 3 pasos
Cómo agregar una biblioteca externa a Arduino: La biblioteca proporciona funciones adicionales para el boceto que hicimos. Estas funciones pueden ayudarnos a hacer bocetos más fáciles. Hay muchas bibliotecas que podemos usar. Biblioteca predeterminada de Arduino IDE o biblioteca externa creada por alguien o una comunidad. En esto
Agregar una segunda SSD a una computadora portátil Dell Latitude E5470: 11 pasos
Agregue un segundo SSD a una computadora portátil Dell Latitude E5470 .: Este instructivo está diseñado para aplicarse a la computadora portátil E5470. Si las entrañas de su computadora portátil son similares y cree que podría lograr el mismo resultado, simplemente publique en la sección de comentarios. ¡Sería genial si esto pudiera aplicarse a varias laptops! Planeo u