Arduino
RELOJ DS1307
BMP280 - AHT20 - DS1307 - OLED SDD1306 - AT24C32
RELOJ DS1307
BMP280 - AHT20 - DS1307 - OLED SDD1306 - AT24C32
Otro montaje de relojes, esta vez montado con un DS1307.
En esta ocasión utilizo el sensor de presión BMP280, junto con el sensor de temperatura y humedad AHT20.
Además utilizo la memoria AT24C32 para registrar los valores diarios de temperatura, humedad, presión.
Se toman 4 valores por hora, en los minutos, 0, 15, 30, 45.
Con la memoria que tiene la EEPROM 24C32 , se podría almacenar 10 días, pero eso lo dejo para el que lo quiera hacer.
La toma de los diferentes sensores se toma cada 5 segundos, y esta se representa en la pantalla OLED y se transmite al terminal.
Para visualizar los valores diarios almacenados en la memoria, se debe escribir en el terminal serie la orden "print".
Para modificar la hora y la fecha, he añadido dos botones, con uno seleccionas el valor que quieres cambiar, y con el otro incrementas el valor.
He tenido algún problema con el BMP280, se bloqueaba aleatoriamente sin motivo. Para arreglar esto, he reducido la velocidad del reloj del bus I2C y he colocado un condensador (100uF 5V) en la alimentación.
Los pines del dibujo del BMP280 no corresponden a los pines reales, mirar en vuestro caso cuales son.
Respuesta de la placa cuando mandas la orden "print"
Programa Librería
Espero que os haya gustado este pequeño circuito.
Saludos.
Juan Galaz
Bibliografía:
https://github.com/adafruit/RTClib
https://naylampmechatronics.com/blog/52_tutorial-rtc-ds1307-y-eeprom-at24c.html