Paso 2: Diagrama y programa
- Diagrama de
El diagrama es muy sencillo con pocas conexiones entre los componentes.
Sólo tenga cuidado con + 5V y GND pernos y también tenga cuidado con los botones táctiles para evitar cualquier desajuste de conexión.
Personalmente he utilizado la tarjeta de expansión opcional con Arduino Nano (véase las fotos) porque es un conjunto más compacto.
Pero por supuesto tienes la opción de utilizar un Arduino Uno y conecte los cables directamente en él.
- Programa de Arduino
El programa de Arduino está conectado en este paso y necesita de las siguientes librerías para funcionar correctamente:
1. alambre (apoyo a I2C y ya incluido en librerías de Arduino)
2. TimerOne (para leer los botones en intervalos de microsegundos)
3. U8glib (para controlar la visualización de I2C)
En el sitio de la biblioteca de U8glib para el control de la pantalla que usted puede encontrar un tutorial explicando cómo trabajar con él y también se puede encontrar la descripción de todas las fuentes disponibles que se puede aplicar en tus proyectos.
Pero aquí hay una advertencia sobre el tamaño de las fuentes.
Cada fuente será compilada juntos el programa de Arduino y por supuesto estas fuentes tendrá una parte considerable de la memoria disponible.
Este proyecto aplica 3 fuentes diferentes y después compilarlo, se utilizaron 96% del total 30 KB de memoria de Arduino.
Cada fuente es de 5 KB de tamaño promedio y usted también necesita considerar el espacio necesario para su programa!
Así que tenga cuidado con el uso de estas fuentes.
Otra información importante es acerca de qué controlador tienes que usar la pantalla de I2C.
En la biblioteca hay muchas opciones pero debe aplicar la versión correcta para su dispositivo.
Para la pantalla tengo que usar la siguiente declaración en el programa:
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0 | U8G_I2C_OPT_NO_ACK | U8G_I2C_OPT_FAST); Rápida I2C / TWI
Todas las opciones son como comentarios (/ /) y es necesario eliminarlos para establecer la versión correctamente de acuerdo con el controlador de pantalla (SSD1306 en mi caso).