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