Simple módulo de EEPROM para Arduino u otro microcontrolador

EEPROMs son útiles si desea almacenar algunos datos sin perderlo. Muchos microcontroladores cuentan con algunas EEPROM interna, pero como EEPROMs tienen un número finito (aunque muy grande) de las escrituras antes empiezan a ser defectuoso, mi carácter retentivo anal siempre tuvo un problema con el uso de esa EEPROM interna.
Hay otras razones también por qué querrá usar una EEPROM externa: datos de registro en que solo quieren intercambiar un EEPROM, en lugar de tener que leer su microcontrolador en el campo.
De todos modos, sólo quería compartir un módulo EEPROM de estructura simple 5 minutos que es un poco más simple que una anterior que publiqué.
Lista de materiales
1 x EEPROM 24LC256 (o el otro tamaño)
4 k 7 resistencias 2 x
tiras de placa perforada 5 de 8
zócalo DIL IC de 8 pines (opcional)

Estoy usando una 24LC256. Es un kiloBIT 256 EEPROM por lo que en realidad sólo un 32 kilobytes EEPROM en mi forma de pensar tradicional. Estos no son de caros. Se puede tener para alrededor de 80 USD de ct.
Aunque la Junta se puede utilizar también para EEPROMS más pequeños, como un C 24 32, aconsejaría contra eso. Si eso es lo que necesita, comprar un módulo de RTC DS1307 ct 50 que incluye a 24C 32 (que es realmente 4kByte).

De todos modos, la 24LC256 es una EEPROM I2C, que es bastante estándar y que hace uso fácil
Pines A0, A1 y A2 seleccionan las direcciones I2C (A0 = pin1, A1 = pin1, A2 = pin3).
La dirección es la siguiente

1010A2A1A0x

Así que si conectas los pines A0, A1, A2 Dirección GND el I2C será 1010000 = 0 x 50 en hexadecimal.
Si conectas a Vcc será 1010111 = 0x57.
Como 0 x 50 es una dirección que es de uso frecuente, decidí conectar A2 y A1 A0 a Vcc, que da 0x51 y tierra. También hizo el diseño un tadd más simple.
7 el PIN es el pin 'WriteProtect' que necesita ser tirado alto para sólo lectura y bajo de lectura/escritura. Obviamente que conectado a tierra.
El levante de resistencias son ambos 4k 7
Usted encontrará muchas bibliotecas EEPROM en el Arduino Playground tienden a usar el siguiente código para leer y escribir:

 void writeData(int device, unsigned int addr, byte data) // writes a byte of data 'data' to the chip at I2C address 'device', // in memory location 'add' { if ( addr > 65535 ) addr = addr | B00001000; Wire.beginTransmission(device); Wire.write((int)(addr >> 8)); // left-part of pointer address Wire.write((int)(addr & 0xFF)); // and the right Wire.write(data); Wire.endTransmission(); delay(10); } byte readData(int device, unsigned int add) // reads a byte of data from memory location 'add' in chip at I2C address 'device' { byte result; // returned value Wire.beginTransmission(device); // these three lines set the pointer // position in the EEPROM Wire.write((int)(add >> 8)); // left-part of pointer address Wire.write((int)(add & 0xFF)); // and the right Wire.endTransmission(); Wire.requestFrom(device, 1); // now get the byte of data... result = Wire.read(); return result; // and return it as a result of the function readData } 

Notas especiales si utiliza el 24LC1025
Esta tabla puede utilizarse también para EEPROMS más grande, pero... Si lo usas para el 24LC1025, deberás hacer una pequeña adaptación. A2 debe vincularse con este chip a Vcc para funcione.

El 24LC1025 tiene una limitación de límite de direccionamiento interno que se divide en dos segmentos de 512K bits. Selección de bloque de bits 'B0' para controlar el acceso a cada segmento.

La dirección está determinada por 1010B0A1A0R /-W en el que el ' bloque select pedacito se utiliza para tratar la parte inferior o superior 512k bloquear el chip así tiene 2 direcciones diferentes. con la selección A0A1 como en mi tabla son:
1010101 = 0x55
1010001 = 0x51

Memoria de acceso de 0..65535 la dirección de I2C para el Chip de memoria es 0x51. Si desea acceder a memoria entre 65536..131071 la dirección de Chip es 0x55

No se puede escribir en el límite de bytes de 65535..65536 con la operación se rompe en dos llamadas write(). Uno a 0x51, el otro a la viruta 0x55 de la viruta.

Artículos Relacionados

3 canales Dimmer/atenuador para Arduino u otro microcontrolador

3 canales Dimmer/atenuador para Arduino u otro microcontrolador

En un anterior instructable presenté un simple AC TRIAC fader/atenuador que podría controlarse con un Arduino. En varias reacciones que tiene, un número de personas que expresaron su interés en un atenuador de 3 canales RGB. Pero ya no he visto todav
Simple pantalla táctil LCD para arduino

Simple pantalla táctil LCD para arduino

Esta es una guía que muestra de una manera fácil de configurar una interfaz de pantalla táctil LCD con arduino y otros microcontroladores similares.También es autopromoción desvergonzada de mi pedal de arranque... que se centra en lo que es muy fácil
Un más barato ESP8266 WiFi Shield para Arduino y otros micros

Un más barato ESP8266 WiFi Shield para Arduino y otros micros

Actualización: 19 de mayo de 201614 Rev de este proyecto revisa las bibliotecas y código para trabajar con ESP8266.com IDE plugin V2.2Actualización: 17 de diciembre de 210511 Rev de este proyecto limpia otras conexiones intentadas si ya está conectad
Módulo de relé para Arduino

Módulo de relé para Arduino

Espero que todos ustedes están familiarizados con relés (si no cheque esta), en palabras simples son tipos de interruptores en los que si no pasamos algunos voltios (según clasificación de voltaje del relé) a través de terminales de la bobina entonce
Control de Motor Reversible, fácil para Arduino (o cualquier microcontrolador)

Control de Motor Reversible, fácil para Arduino (o cualquier microcontrolador)

este proyecto utiliza tres componentes principales para proporcionar control de avance y retroceso de un solo motor.  Fácilmente pueden interconectar a un Arduino o cualquier otro microcontrolador.Es tan simple - usted alambre encima de "forma libre&
Cómo medida actual de AC usando el Sensor de efecto Hall con Arduino u otros microcontroladores comunes

Cómo medida actual de AC usando el Sensor de efecto Hall con Arduino u otros microcontroladores comunes

Un nuevo enfoque más simple consulte aquíObjetivo: Este Instructable muestra cómo hacer una caja de interfaz que, al empalmar un cable de extensión, permite a los microcontroladores comunes como Arduino a medida AC actual como una señal de voltaje DC
Controlar un Furby con Arduino (u otro microcontrolador)

Controlar un Furby con Arduino (u otro microcontrolador)

El Furby millones de dólares: Podemos reconstruirlo. Contamos con la tecnología.Continuación de la anterior Instructable donde suprimimos cerebro primitivo de Furby, ahora es tiempo de reemplazarlo con algo más grande.Este Instructable detallará cómo
La introducción de Digital reloj temperatura voltaje módulo electrónico para Arduino STM8 AVR 51 STM32 brazo

La introducción de Digital reloj temperatura voltaje módulo electrónico para Arduino STM8 AVR 51 STM32 brazo

Hola amigos, hoy le presento este maravilloso reloj electrónico digital temperatura voltaje módulo de ICStation en detalles. Este producto es desarrollado recientemente por el equipo de ICStation. Compartimos a usted y bienvenida todo amigo para eval
DIY Kit de Blue LCD1602 ultrasónico módulo DHT11 Shield para Arduino

DIY Kit de Blue LCD1602 ultrasónico módulo DHT11 Shield para Arduino

LCD1602 módulo ultrasónico DHT11 Shield es compatible con el arduino mega R3. Puede utilizar LCD1602 Mostrar distancia y valor de la humedad de temperatura al mismo tiempo.LCD1602:Pantalla: 16 x 2 caracteresLED luz de fondo: azulEsquema de módulo tam
Construir un tablero de conductor del LED para Arduino (y otros diputados) utilizando cuatro H-puentes

Construir un tablero de conductor del LED para Arduino (y otros diputados) utilizando cuatro H-puentes

salidas digitales del Arduino pueden bombear sobre 40 mA de corriente de cada uno.  Esto está lejos de lo suficiente para la mayoría de las aplicaciones iluminación o motor, por lo que el uso de un escudo de controlador relé impreso o motor son neces
Sensor de presión y pre-amp de Mike de sonido para Arduino

Sensor de presión y pre-amp de Mike de sonido para Arduino

he publicado una sonido presión Sensor para arduino (u otro microcontrolador) antes.Se basó en un TLC272 doble Op-amp y lo hizo muy bien.Una de las personas reacciona aunque estaba preguntando si lo había hecho ningún análisis de ondas sonoras con él
ESP8266 Wifi adiciónales para Arduino fácil

ESP8266 Wifi adiciónales para Arduino fácil

ActualizaciónEl proceso descrito aquí ya no se recomienda. Este instructivo ha sido reemplazado por ESP8266 WiFi Shield para Arduino y otros micros que proporciona una función de configuración de página web más universal.IntroducciónESP8266 es un chi
SensoDuino: Convertir su teléfono Android en un concentrador de sensores inalámbricos para Arduino

SensoDuino: Convertir su teléfono Android en un concentrador de sensores inalámbricos para Arduino

Actualizaciones23 de noviembre de 2013: SensoDuino 0.160 obtiene una cara izquierda.19 de noviembre. 2031: opinión: la increíble sinergia entre Arduino y Android.19 de noviembre de 2013: SensoDuino 0.159 está hacia fuera. Fecha teléfono Android (y, m
ArduDroid: Un Simple 2-Way Bluetooth controlador basado en Android para Arduino

ArduDroid: Un Simple 2-Way Bluetooth controlador basado en Android para Arduino

ACTUALIZACIONES:19 de noviembre. 2031: opinión: la increíble sinergia entre Arduino y Android.30 de octubre de 2013: Andruino está ahora oficialmente ARDUDROID y pronto estará disponible en Google Play. Este cambio de nombre para evitar conflicto con