OctopusLAB 63
Jednoduché letní projekty
Digitální hodiny s modulem ds3231

Projekt hodin s ESP32 jsme už v Hamíkovi popisovali, ale pro jejich nastavení jsme využívali připojení k internetu, ze kterého jsme si pro inicializaci stáhli aktuální čas. Toto řešení se ne vždy hodí (třeba na samotě u lesa bez internetu).
V dnes představovaném zapojení použijeme zajímavý (a zatím dostupný) modul reálného času ds3231.
Tento modul obsahuje:
– Obvod vysoce přesných hodin DS3231
– Paměťový čip: AT24C32 (kapacita EEPROM úložiště 32 KB)
(provozní napětí 3.3 – 5.5 V, teplotní rozsah 0 – 40 °C, přesnost 2 ppm.)

Modul připojte přes I2C k ESP vývojové desce (ROBOTboard, ESP32board nebo DoIt adapter, nově i modul většího displeje Big display). Dejte si pozor na pořadí pinů, často bývají „proházené“ a nedá se použít kabel 1:1. My preferujeme kabely dvoupinové, protože mají delší životnost a jsou spolehlivější. Jednopinový kabel se kroutí a po čase začne „zlobit“.
Základní práce s modulem je velmi jednoduchá – ukázka je v Micropythonu:
from time import sleep from machine import RTC from utils.octopus_lib import i2c_init import ds3231 rtc = RTC() i2c = i2c_init() ds = ds3231.DS3231(i2c) def ds3231_init(ds3231, rtc): now = (2022, 6, 21, 6, 16, 20, 0, 0) rtc.datetime(now) ds3231.save_time() #ds3231_init(ds, rtc) #použijeme jen pro inicializaci while True: hh = rtc.datetime()[4] mm = rtc.datetime()[5] print(hh,":",mm) #vypisování času sleeep(10)
Pro zobrazování na displeji doplníme kód podle typu displeje (OLED, LCD nebo náš oblíbený s osmi sedmisegmentovkami).
Pracovní verze je opět k dispozici na githubu:
https://github.com/octopuslab-cz/hamik_cz/tree/master/clock-disp7-ds3231
Novinkou letošního léta je také Big display. Deska, kterou jsme předělali pro ESP32 (původně byla pro ESP8266).

Pro osazení si můžete vybrat ze dvou velikostí displeje (na obrázku rámečkem označeno A nebo B).

Základem modulu je integrovaný řadič displeje MAXX7912. Pak už stačí jeden odpor (10k-20k) případně je zde místo i pro PIEZZO pípák. Displej pak funguje i samostatně – stejně jako známý čínský modul (menší – na obrázku nahoře).
Po zapájení dvou patnáctipinových konektorů můžete přímo připojit i ESP32 DoIt. A když si připojíte modul reálného času DS3231 přes I2C získáte skvělé digitální hodiny. Stačí jen vymyslet jim nějakou pěknou krabičku.