Página principal
RELOJ DS1307
ESP8266  , modulo 12E , HW-364B
 OLED - Rotary Encoder


Otro montaje de relojes, esta vez montado con un DS1307 y un mando rotativo para ajustar el reloj, esta vez con el modulo 12E y HW-364B.



Con el ESP8266  , modulo 12E


Sobre la placa HW-364B, que incorpora un OLED.


Este circuito es fácil, el OLE y el reloj DS1307 se conectan a través de BUS I2C ( D5-SDA , D6-SCL) al microcontrolador.
El encoder rotativo se conecta a los pins D1,D2,D3 .
Para detectar los cambios en en encoder rotativo se utiliza la librería Rotary.
El cambio en los pins D1 y D2, 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.

Antes de nada he de comentar que existen algún diagrama del HW-364B  en el cual están cambiados los pins SDA y SCL.
Me dio bastantes problemas hasta que descubrir un programa i2c_port_address_scanner , busca los pins donde se encuentra algún chip que emplee el protocolo  I2C.
Debo decir que el ESP8266 no tiene circuito para manejar el protocolo I2C, por lo cual se hace mediante software.

En cuanto al modulo de encoder rotatorio lo normal es que lleven las resistencia desde las salidas al positivo, pero en algunos casos que no las tienen,  se deberán colocar  la mencionadas resistencias externamente. También en el programa podemos colocar las salidas en INPUT_PULLUP ,  los
pines digitales 0—15 pueden ser INPUT, OUTPUT o INPUT_PULLUP. El pin 16 puede ser INPUT, OUTPUT o INPUT_PULLDOWN_16. Al arranque los pines están configurados como INPUT.



He creado dos programas:
-El primero utiliza las librerías adafruit .
    Programa1        Librería1
-El segundo utiliza una librería simple creada por mi, solo funciona en modo texto.
    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