Precíziós I2C Real Time Clock modul hőmérséklet kompenzációval Raspberry PI-hez - DS3231
A DS3231 egy i2c interfészen csatlakoztatható precíziós, hőmérséklet kompenzált Real Time Clock (RTC) modul Raspberry PI-hez
A Raspberry PI-hez illesztést lásd lent.
-
Egy nagyszerű, backup elemmel ellátott valósidejű nagypontosságú óra modul (RTC). Tökéletesen alkalmas arra az esetre, ha a Raspberry PI boot-olásakor nincs hálózatra kötve, de szükséges a pontos időt használni. Például adat loggolásnál, időbélyegző használatakor, óraépítéshez, időzítő készítéshez stb...
A DS3231-es a legnépszerűbb RTC eszköz. 3.3V-os tápigénye miatt közvetlenül csatlakoztatható a Raspberry PI-hez.A nagyobb pontosság érdekében, hőmérsékletkompenzált kristályoszcillátort (TCXO) és kristályt tartalmaz.
A modul tulajdonságai:
- Táp: 3.3V
- Interface: i2c
- Méret: 16mm * 22mm * 23mm (majdnem akkora mint a CR2032 gombelem)
- IC: DS3231
- Óra és naptár funkció (másodperc, perc, óra, nap, hónap és év kezelése)
- két rögzítő lyuk az alaplapon
- Legalább 5 évig üzemel egy elemmel
DS3231 használata Raspberry-PI-vel Raspbian alatt:
Helyes kábelezés esetén az alábbi paranccsal tudjuk lellenőrizni, hogy látható-e a DS3231 modul a Raspberry PI I2C buszán:
sudo i2cdetect -y 0 vagy sudo i2cdetect -y 1
Az első parancs a "régi" rev1-es míg a második az új rev2-es rPI-k esetén használatos.
Ha minden rendben, akkor a #68-as I2C címet kell látnunk.
Ha látjuk az i2cdetect-el, akkor töltsük be az RTC modult az alábbiak szerint (a DS1307 driverrel működik):
sudo modprobe rtc-ds1307
Első használathoz csatlakoztassuk a Raspberry PI-t hálózathoz, hogy onnan kapja meg a pontos időt.
Ezek után root-ként (gépeld be: sudo bash) beregisztráljuk a DS1307 RTC chip-et a 0x68 I2C címre:echo ds3231 0x68 > /sys/class/i2c-adapter/i2c-0/new_device (ha rev1-es rPI-d van)
vagy
echo ds3231 0x68 > /sys/class/i2c-adapter/i2c-1/new_device (rev2-es Raspberry PI esetén)
Ezután lépjünk ki a root shell-ből az exit paranccsal.
Ellenőrizzük le az RTC idejét a következő módon: sudo hwclock -r
Ha ez az első használata a DS3231 modulnak, akkor ezt látjuk (2000 január 01-es dátumot):Sat 01 Jan 2000 00:00:00 CET -0.000000 second
A Raspberry PI aktuális pontos idejét kiolvassuk: date
majd a hálózatról kapott - aktuális pontos - időt beírjuk az RTC-be: sudo hwclock -w
Ellenőrizni a sudo hwclock -r paranccsal tudjuk.Ahhoz, hogy bootolás után a Raspberry PI megkapja a pontos időt a DS3231 modultól fel kell venni a e /etc/modules listába. A sudo nano /etc/modules parancsot kiadva szerkeszthető a fájl, melyhez adjuk hozzá új sorba a következő bejegyzést: rtc-1307
A bootolási folyamat alatt létre kell hozni a DS3231 RTC eszközt, hogy a folyamat végén a Raspberry PI ki tudja olvasni a pontos időt belőle. Ehhez módosítani kell az /etc/rc.local fájlt.
Futtassuk a sudo nano /etc/rc.local parancsot a szerkesztéshez és adjuk hozzá az alábbi sorokat:
echo ds3231 0x68 > /sys/class/i2c-adapter/i2c-0/new_device
sudo hwclock -s -uaz exit 0 elé.
Ennyi az egész! A legközelebbi bootoláskor a Raspberry PI az RTC modulról fogja szinkronizálni az időt.
Ugye milyen könnyű :)
Bekötés:
Raspberry Pi
Pin
Jumper
Wire
DS3231
RTC3V3 Power
Red
VCC (3.3V) Ground Black GND
GPIO 0
(SDA)Yellow SDA
GPIO 1
(SCL)Blue SCL DS3231 adatlap
https://www.maximintegrated.com/en/products/digital/real-time-clocks/DS3231.html/tb_tab0
-
Raktárkészlet VANCikkszám RPI-475294