Construir un reloj con un Arduino, una pantalla OLED y el módulo DS1307 en tiempo real (RTC) es un proyecto divertido y práctico. El módulo RTC DS1307 mantiene el tiempo preciso incluso cuando el Arduino está apagado, mientras que el OLED proporciona una interfaz elegante para mostrar la hora actual. Este tutorial lo guiará a través del proceso paso a paso.
Lo que necesitarás
- Arduino tablero (por ejemplo, Uno, Mega, Nano)
- Pantalla OLED de 0.91 " (Interfaz I2C)
- Módulo RTC DS1307
- Cables de placa y jersey
- Una computadora con el Arduino IDE instalado
- Bibliotecas: Adafruit SSD1306, Adafruit GFX y RTCLIB
Paso 1: Cableado los componentes
Cableado de pantalla OLED (I2C)
Alfiler | Alfiler de arduino |
---|---|
VCC | 5V |
Gnd | Gnd |
SDA | A4 |
SCL | A5 |
Cableado del módulo RTC DS1307 (I2C)
Pasador RTC | Alfiler de arduino |
---|---|
VCC | 5V |
Gnd | Gnd |
SDA | A4 |
SCL | A5 |
Nota: Si usa un tablero Arduino con pines SDA y SCL dedicados (por ejemplo, Mega), conecte los pines OLED y RTC SDA/SCL en su lugar.
Paso 2: Instalación de las bibliotecas requeridas
Para trabajar con la pantalla OLED y DS1307 RTC, necesita las siguientes bibliotecas:
- Adafruit SSD1306 (para OLED)
- Adafruit GFX (Biblioteca gráfica para OLED)
- Rtclib (para la funcionalidad RTC)
Instalación de bibliotecas
- Abra el IDE Arduino.
- Ir a Sketch> incluir biblioteca> Administrar bibliotecas.
- Buscar e instalar:
- "Adafruit SSD1306"
- "Biblioteca Adafruit GFX"
- "Rtclib"
Paso 3: cargar el código
Aquí está el código para mostrar la hora actual en el OLED usando el módulo RTC DS1307:
Código de ejemplo
Paso 4: Ajustar el tiempo
Si el RTC no se está ejecutando o se debe actualizar el tiempo, la siguiente línea en el setup()
La función establece el RTC en la hora actual:
-
F(__DATE__)
yF(__TIME__)
son macros que establecen automáticamente la fecha y la hora de su computadora al cargar el código.
Para establecer un tiempo específico manualmente, use:
Paso 5: Personalización de la pantalla
Puede personalizar la pantalla del reloj por:
-
Cambiar el tamaño del texto: Usar
display.setTextSize()
Para ajustar el tamaño de la fuente. - Agregar gráficos: Use la biblioteca Adafruit GFX para dibujar formas como líneas o rectángulos.
- Tiempo de formato: Agregue el formato AM/PM o las 24 horas según sea necesario.
Ejemplo: Agregar AM/PM
Solución de problemas
-
OLED no se muestra:
- Asegúrese de que las coincidencias de la dirección I2C (comúnmente
0x3C
o0x3D
). - Verifique las conexiones de cableado.
- Asegúrese de que las coincidencias de la dirección I2C (comúnmente
-
RTC no encontrado:
- Verifique las conexiones SDA y SCL.
- Asegúrese de insertar la batería RTC correctamente.
-
Tiempo incorrecto:
- Usar
rtc.adjust()
Para establecer el tiempo correcto.
- Usar
Aplicaciones
- Reloj de escritorio de bricolaje
- Temporizadores y alarmas
- Reloj habilitado para IoT con sensores adicionales
- Proyectos educativos
Conclusión
Al combinar el Arduino, un OLED de 0.91 "y el DS1307 RTC, puede crear un reloj preciso y visualmente atractivo. Con algunos ajustes, puede personalizar el reloj para satisfacer sus necesidades o integrarlo en proyectos más grandes. Experimente con características adicionales. ¡Como alarmas o sincronización de Internet para llevar su proyecto al siguiente nivel!