- Potrebne komponente:
- Nastavite Raspberry Pi za budilko:
- Shema vezja in povezave:
- Program in delovna razlaga:
V tej seji bomo vmesnik modula za urni čas DS1307 z Raspberry PI izdelali z budilko. Čeprav ima Raspberry Pi notranjo uro, vendar brez internetne povezave, se ta notranja ura ponastavi po vsakem ponovnem zagonu. Torej, da dobimo natančen ČAS brez internetne povezave, moramo RTC modul DS1307 povezati z Raspberry Pi. RTC modul ima gumbno baterijo za varnostno kopiranje, tako da se čas ne ponastavi. Z uporabo Arduina in z uporabo mikrokrmilnika ATmega32 AVR smo zgradili tudi budilko, preverite jih tudi vi.
V tej digitalni uri Raspberry Pi mora LCD s 16 * 2 znaki prikazovati realni čas, čas alarma in stanje alarma (ON / OFF). Ko se program začne izvajati v Pi, lahko monitor odklopimo in s pomočjo tega LCD-ja in petih gumbov nastavimo alarm.
Vsak od 17 zatičev GPIO lahko odda ali izvleče največ 15 mA toka. Zato se ne igrajte z zatiči GPIO in dvakrat preverite povezave, preden vklopite Raspberry Pi. Več o zatičih GPIO in gumbu za povezovanje z Raspberry Pi lahko preberete tukaj. Oglejte si tudi našo vadnico Raspberry Pi skupaj z nekaj dobrimi IoT projekti.
Potrebne komponente:
Tu uporabljamo model Raspberry Pi 2 Model B z OS Raspbian Jessie. Vse osnovne zahteve glede strojne in programske opreme so že obravnavane, za začetek si jih lahko ogledate v Uvodu Raspberry Pi in Utripajoči LED Raspberry PI, razen tistega, kar potrebujemo:
- Raspberry Pi s prednameščenim OS
- RTC modul DS1307 z baterijo
- Napajanje
- 1KΩ upor (6 kosov)
- 5 gumbov
- 1000uF kondenzator (2 kosa)
- 16 * 2-mestni LCD
- Tranzistor 2N2222
- Zvočni signal
Nastavite Raspberry Pi za budilko:
Preden nadaljujemo, moramo malce konfigurirati Raspberry Pi in namestiti datoteko knjižnice za modul RTC, sledite spodnjim korakom:
1. korak: Najprej pojdite v konfiguracijski meni Raspberry Pi in omogočite možnost I2C, kot je prikazano spodaj:
2. korak: Na namizju zaslona Raspberry Pi ustvarite novo mapo in jo poimenujte kot »Budilka«
3. korak: Prenesite datoteko glave za modul RTC s spodnje povezave:
codeload.github.com/switchdoclabs/RTC_SDL_DS1307/zip/master
Korak 4: Razpakirajte preneseno datoteko zip v mapo (Alarm Clock), ustvarjeno na DESKTOP, kot je opisano v prejšnjem koraku.
5. korak: Odprite okno terminala v Raspberry Pi in vnesite spodnji ukaz, nato pritisnite enter:
sudo apt-get namestite i2c-tools
Ta ukaz namesti orodja I2C, potrebna za povezovanje modula RTC. Nato znova zaženite Raspberry pi z izdajo ukaza ' sudo reboot' .
6. korak: Zdaj moramo preveriti naslov I2C modula RTC. Pred preverjanjem naslova najprej priključite modul RTC, kot je prikazano na spodnjem vezju.
Nato vnesite spodaj v okno terminala.
sudo i2cdetect -y 0 ALI sudo i2cdetect -y 1
7. korak: Če kateri od zgornjih ukazov deluje, boste videli nekaj takega:
Korak 8: Če je modul RTC pravilno povezan, boste videli naslov I2C 0x68, zapišite vrednost.
S tem so vse potrebne prilagoditve opravljene s konfiguracijo Raspberry Pi.
Shema vezja in povezave:
Povezave med Raspberry Pi in LCD so prikazane v spodnji tabeli:
Povezave med Raspberry Pi in petimi gumbi so prikazane tudi v spodnji tabeli z vsako funkcijo vsakega gumba:
Program in delovna razlaga:
Modul RTC ima celico gumba za varnostno kopiranje energije, kot je bilo že omenjeno, zato bo čas posodobljen, dokler se varnostno kopiranje ne izteče in bomo imeli natančen čas v RTC.
Zdaj bomo napisali program Python, da bomo dobili natančen čas iz modula RTC DS1307. Ta čas bo prikazan na LCD 16x2. Po tem bomo v programu zapisali funkcijo budilke. Čas alarma bo prikazan tudi v drugi vrstici LCD-ja, čemur bo sledil status ON in OFF. Čas alarma lahko nastavite s 5 gumbi, povezanimi z Raspberry Pi, kot je omenjeno v zgornji tabeli, in nastavitev alarma je zelo enostavna. Za upravljanje te budilke Raspberry Pi lahko preverite tudi naš predstavitveni video. Na voljo sta 2 gumba za povečanje in zmanjšanje časa alarma, 2 gumba za povečanje in zmanjšanje časa alarma in 1 gumb za vklop in izklop alarma.
Program Python neprekinjeno primerja čas alarma s časom RTC in ko se čas alarma ujema s časom RTC, PI sproži zvočni signal, ki je prek NPN tranzistorja 2N2222 povezan z GPIO pinom 22 Raspberry Pi. Ko se alarmni čas izteče, se oglasi zvočni signal.
Celoten program je naveden spodaj in dobro pojasnjen s komentarji. Če dvomite, lahko vprašate v spodnjem oddelku za komentarje.