- Požadované komponenty:
- Nastavení Raspberry Pi pro budík:
- Schéma zapojení a zapojení:
- Vysvětlení programu a práce:
V této relaci se chystáme na rozhraní Real Time Clock Module DS1307 s Raspberry PI, abychom vytvořili budík. Raspberry Pi má sice vnitřní hodiny, ale bez připojení k internetu se tyto vnitřní hodiny po každém restartu resetují. Abychom tedy získali přesný ČAS bez připojení k internetu, musíme propojit RTC modul DS1307 s Raspberry Pi. RTC modul má knoflíkovou baterii pro zálohování, takže TIME se neresetuje. Také jsme postavili budík pomocí Arduina a pomocí mikrokontroléru ATmega32 AVR, zkontrolujte je také.
U těchto digitálních hodin Raspberry Pi má 16 * 2 znakový LCD displej zobrazovat reálný čas, čas alarmu a stav alarmu (ON / OFF). Jakmile program začne běžet v Pi, můžeme odpojit monitor a pomocí tohoto LCD a pěti tlačítek nastavit alarm.
Každý ze 17 pinů GPIO může dodávat nebo odebírat proud maximálně 15 mA. Nehrajte si s piny GPIO a před napájením Raspberry Pi zkontrolujte připojení dvakrát. Další informace o pinech GPIO a tlačítku rozhraní s Raspberry Pi najdete zde. Podívejte se také na naši sérii kurzů Raspberry Pi spolu s některými dobrými projekty IoT.
Požadované komponenty:
Zde používáme Raspberry Pi 2 Model B s Raspbian Jessie OS. Všechny základní hardwarové a softwarové požadavky jsou již dříve diskutovány, můžete si je vyhledat v Raspberry Pi Introduction a Raspberry PI LED Blinking pro začátek, kromě toho, co potřebujeme:
- Raspberry Pi s předinstalovaným operačním systémem
- RTC modul DS1307 s baterií
- Zdroj napájení
- 1KΩ rezistor (6 kusů)
- 5 tlačítek
- 1000uF kondenzátor (2 kusy)
- 16 * 2 znakový LCD
- Tranzistor 2N2222
- Bzučák
Nastavení Raspberry Pi pro budík:
Než budeme pokračovat, musíme trochu nakonfigurovat Raspberry Pi a nainstalovat soubor knihovny pro modul RTC, postupujte podle následujících kroků:
Krok 1: Nejprve přejděte do konfiguračního menu Raspberry Pi a povolte možnost I2C, jak je uvedeno níže:
Krok 2: Vytvořte novou složku na ploše obrazovky Raspberry Pi a pojmenujte ji jako „Budík“
Krok 3: Stáhněte si soubor záhlaví pro modul RTC z níže uvedeného odkazu:
codeload.github.com/switchdoclabs/RTC_SDL_DS1307/zip/master
Krok 4: Stažený soubor ZIP rozbalte do složky (Budík) vytvořené na DESKTOPU, jak bylo řečeno v předchozím kroku.
Krok 5: Otevřete okno terminálu v Raspberry Pi a zadejte níže uvedený příkaz a stiskněte klávesu enter:
sudo apt-get nainstalovat i2c-tools
Tento příkaz nainstaluje nástroje I2C potřebné pro propojení modulu RTC. Poté restartujte Raspberry pi vydáním příkazu ' sudo reboot' .
Krok 6: Nyní musíme zkontrolovat adresu I2C modulu RTC. Před kontrolou adresy nejprve připojte modul RTC, jak je znázorněno na následujícím schématu.
Poté zadejte níže v okně terminálu.
sudo i2cdetect -y 0 NEBO sudo i2cdetect -y 1
Krok 7: Pokud některý z výše uvedených příkazů funguje, uvidíte něco podobného:
Krok 8: Pokud je modul RTC správně připojen, uvidíte adresu I2C 0x68, zaznamenejte hodnotu.
Díky tomu jsou všechny potřebné úpravy provedeny s konfigurací Raspberry Pi.
Schéma zapojení a zapojení:
Spojení mezi Raspberry Pi a LCD jsou uvedena v následující tabulce:
Spojení mezi Raspberry Pi a pěti tlačítky jsou také uvedena v následující tabulce s příslušnou funkcí každého tlačítka:
Vysvětlení programu a práce:
RTC modul má knoflíkovou buňku pro zálohování napájení, jak bylo uvedeno, takže čas bude aktuální, dokud nedojde k zálohování a my budeme mít přesný čas v RTC.
Nyní napíšeme program v Pythonu, abychom získali přesný čas z RTC modulu DS1307. Tento čas se zobrazí na 16x2 LCD. Poté budeme mít v programu napsanou funkci budíku. Čas alarmu se také zobrazí na druhém řádku LCD, následovaný stavem ZAPNUTO a VYPNUTO. Čas alarmu lze nastavit pomocí 5 tlačítek připojených k Raspberry Pi, jak je uvedeno v tabulce uvedené výše, a nastavení alarmu je velmi snadné. Můžete také zkontrolovat naše demo video k ovládání tohoto budíku Raspberry Pi. K dispozici jsou 2 tlačítka pro zvýšení a snížení času alarmu, 2 tlačítka pro zvýšení a snížení času alarmu a 1 tlačítko pro zapnutí a vypnutí alarmu.
Program Python nepřetržitě porovnává čas alarmu s časem RTC a jakmile se čas alarmu shoduje s časem RTC, PI spustí bzučák, který je připojen k GPIO pinu 22 Raspberry Pi přes NPN tranzistor 2N2222. Jakmile tedy nastane čas alarmu, vydá zvuk bzučák.
Kompletní program je uveden níže a je dobře vysvětlen prostřednictvím komentářů. Pokud máte pochybnosti, můžete se zeptat v sekci komentářů níže.