Tabla de contenido:

BYTEBANGER EEPROM Arduino I²C ™: 5 pasos
BYTEBANGER EEPROM Arduino I²C ™: 5 pasos

Video: BYTEBANGER EEPROM Arduino I²C ™: 5 pasos

Video: BYTEBANGER EEPROM Arduino I²C ™: 5 pasos
Video: Arduino I2C External I²C EEPROM BYTEBANGER OVERVIEW 2024, Mes de julio
Anonim
BYTEBANGER EEPROM Arduino I²C ™
BYTEBANGER EEPROM Arduino I²C ™

Recientemente me sentí intrigado con I²C EEProms después de rescatar algunos de un viejo televisor de retroproyección que estaba desechando.

Busqué en Internet tratando de encontrar más información sobre ellos, como hojas de datos y tutoriales sobre cómo funcionaban y podían usarse. Sorprendentemente, la información estaba dispersa y algo escasa … las hojas de datos eran bastante fáciles de encontrar y hay algunos tutoriales (incluidos videos) que muestran algunas formas muy básicas de acceder a la funcionalidad de eeproms. Todavía no estaba satisfecho con lo que quería hacer, así que decidí configurar mi tablero y escribir mi propio código, junto con un par de bibliotecas Arduino… ¡y nació I²C ™ EEPROM BYTEBANGER!

Los tutoriales que encontré carecían de algunas cosas que quería hacer, como leer y escribir datos desde y hacia la eeprom más de un byte a la vez. También quería tener la opción de volcar los datos de la eeprom en una tarjeta SD, así como cargar un archivo CSV desde la tarjeta SD y reprogramar la eeprom.

Agregar algunas funciones de manipulación de datos y configuraciones de control al código realmente completó lo que creo que es una aplicación Arduino muy agradable que disfrutará. Sorprendentemente, los suministros que necesita son pocos … escribir el código fue la parte difícil … lo cual es una buena noticia para usted, ya que se proporciona aquí para que lo descargue.

Quería asegurarme de poder hacer todo esto usando un Arduino UNO, ya que todavía parece ser un microcontrolador muy popular, y mis pensamientos eran "si funciona en un UNO, entonces debería funcionar en cualquier cosa" que probablemente sea true cambiando ligeramente el código para su microcontrolador específico.

Suministros

Necesitará:

un Arduino UNO R3 con cable USB al menos 1 (y hasta 8) módulo de tarjeta SD I²C EEPromsan un altavoz o zumbador piezoeléctrico (opcional) un cable de conexión de tablero de pruebas

Paso 1: esquema

Esquemático
Esquemático
Esquemático
Esquemático

Utilice el esquema y las fotos de Fritzing anteriores como guía para conectar su (s) eeprom (s), módulo SD y altavoz opcional.

Descubrí que era mejor comenzar con los eeproms.

Colóquelos en la placa de pruebas como se muestra, prestando atención al espacio entre eeprom. Consulte la hoja de datos para su eeprom específico, pero he descubierto que la mayoría de los eeprom I²C PDIP8 tienen el mismo pinout:

Los pines 1-3 son los ajustes de dirección para el eeprom. El pin 4 está conectado a tierra. El pin 5 es SDA (datos) que se conecta al pin de UNO SDA El pin 6 es SCL (reloj) que se conecta al pin de UNO SCL El pin 7 es WP (Protección contra escritura) que está conectado a tierra El pin 8 es VCC conectado a + 5v

Me pareció más fácil comenzar agregando el VCC y los cables de tierra a cada eeprom primero. (¡Si solo usa una eeprom, esto es muy fácil!)

A continuación, conecte las líneas SDA y las líneas SCL al bus I²C.

Como podemos direccionar hasta 8 eeproms en el bus I²C, uniremos todas las líneas SDA y lo mismo con las líneas SCL. Si se da cuenta en la foto, utilicé una línea de alimentación adicional como bus I²C. Si no tiene un riel adicional, puede seguir el esquema de Fritzing.

Ahora ate todo el WP (pin7) a tierra. Queremos poder escribir en la eeprom después de todo … y no se preocupe, hay una función SAFEMODE en el código que podemos usar para emular la función de protección contra escritura.

Ahora conectaremos el módulo SD …

Paso 2: módulo SD

Módulo SD
Módulo SD

Su módulo SD puede ser ligeramente diferente al que usé, pero todos son básicamente iguales. (Incluso podría usar un adaptador de tarjeta micro SD por sí solo … pero ese es un proyecto futuro)

Mirando los pines del módulo SD de izquierda a derecha, son:

CS- Selección de chip SCK- Reloj en serie MOSI- Master Out / Slave In MISO- Master In / Slave Out VCC- + 5vGROUND3.3 (no usado)

Conecte CS a UNO pin 8 Conecte SCK a UNO pin 13 Conecte MOSI a UNO pin 11 Conecte MISO a UNO pin 12

Paso 3: conecte el altavoz

El altavoz o el zumbador piezoeléctrico es completamente opcional.

Conecte el altavoz a tierra y al pin 7 de UNO.

El código utiliza algunas funciones de sonido, pero no es imperativo para su funcionamiento. (de hecho, a veces desconecto el altavoz cuando no quiero escuchar el sonido. También puedes configurar un interruptor).

Paso 4: Conecte UNO Power y cargue el código

Conecte UNO Power y cargue el código
Conecte UNO Power y cargue el código
Conecte UNO Power y cargue el código
Conecte UNO Power y cargue el código

Conecte la tierra y + 5v del UNO a los rieles eléctricos de su tablero.

¡NO OLVIDE ATAR SUS RIELES SUPERIORES E INFERIORES Y LOS RIELES DE TIERRA JUNTOS!

¡Ahora simplemente conecte su UNO a su computadora y cargue el código!

El código I²C EEPROM BYTEBANGER es bastante extenso y haré una serie de tutoriales en video sobre todas las características, pero también está bastante bien anotado con comentarios.

Te doy la bienvenida a suscribirte a mi canal de YouTube, donde pronto podrás encontrar los videos tutoriales, así como más proyectos por venir.

¡Nos vemos más tarde, adiós!

~ MITZ

Recomendado: