Página principal
RELOJ DS1307
Arduino
OLED - Rotary Encoder
Intentado
mejorar el programa de Alfredo, me puse a realizar otro programa
de reloj con el DS1307 y un mando rotativo para ajustar el
reloj.
Este circuito es fácil, el OLE y el reloj DS1307 se conectan a
través de BUS I2C al microcontrolador.
El encoder rotativo se conecta a los pins 2,3,4 .
Para detectar los cambios en en encoder rotativo se utiliza la
librería Rotary. Esta vez utilizo la del repositorio https://github.com/skathir38/Rotary.
El cambio en los pins 2 y 3, generan unas interrupciones, y
estas a su vez el cambio de valores en día, mes, año, hora,
minuto, segundo.
Solo se imprime en el OLED cuando se cambian los segundos.
He creado dos programas:
-El primero utiliza las librerías adafruit , pero al ser
bastante pesadas, el total del programa ocupa 19K.
Programa1
Librería1
-El segundo utiliza una librería simple creada por mi, solo
funciona en modo texto, por lo que el programa ocupa 10,5K.
Programa2
Librería2
Espero que os haya gustado este pequeño circuito.
Saludos.
Juan Galaz
Bibliografía:
https://github.com/skathir38/Rotary
https://github.com/adafruit/RTClib
https://github.com/adafruit/Adafruit-GFX-Library
https://github.com/adafruit/Adafruit_SSD1306
https://naylampmechatronics.com/blog/52_tutorial-rtc-ds1307-y-eeprom-at24c.html