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