- Wymagane składniki:
- Konfiguracja Raspberry Pi dla budzika:
- Schemat obwodu i połączenia:
- Program i objaśnienie robocze:
W tej sesji połączymy moduł zegara czasu rzeczywistego DS1307 z Raspberry PI w celu wykonania budzika. Chociaż Raspberry Pi ma wewnętrzny zegar, ale bez połączenia z Internetem ten wewnętrzny zegar resetuje się po każdym ponownym uruchomieniu. Aby uzyskać dokładny CZAS bez połączenia z Internetem, musimy połączyć moduł RTC DS1307 z Raspberry Pi. Moduł RTC ma baterię guzikową do podtrzymania, więc CZAS nie zostanie zresetowany. Zbudowaliśmy również Budzik przy użyciu Arduino i mikrokontrolera ATmega32 AVR, sprawdź je również.
W tym zegarze cyfrowym Raspberry Pi wyświetlacz LCD 16 * 2 znaków ma wyświetlać czas rzeczywisty, czas alarmu i stan alarmu (WŁ. / WYŁ.). Gdy program zacznie działać w Pi, możemy odłączyć monitor i ustawić alarm za pomocą tego LCD i pięciu przycisków.
Każdy z 17 pinów GPIO może dostarczać lub pobierać maksymalnie 15 mA prądu. Więc nie baw się pinami GPIO i sprawdź połączenia dwa razy przed zasileniem Raspberry Pi. Dowiedz się więcej o pinach GPIO i przycisku łączącym z Raspberry Pi tutaj. Sprawdź również naszą serię samouczków Raspberry Pi oraz kilka dobrych projektów IoT.
Wymagane składniki:
Tutaj używamy Raspberry Pi 2 Model B z Raspbian Jessie OS. Wszystkie podstawowe wymagania sprzętowe i programowe zostały wcześniej omówione, możesz je sprawdzić we wprowadzeniu do Raspberry Pi i Miga dioda LED Raspberry PI, aby rozpocząć, poza tym, czego potrzebujemy:
- Raspberry Pi z preinstalowanym systemem operacyjnym
- Moduł RTC DS1307 z baterią
- Zasilacz
- Rezystor 1KΩ (6 sztuk)
- 5 przycisków
- Kondensator 1000uF (2 sztuki)
- Wyświetlacz LCD 16 * 2 znaków
- Tranzystor 2N2222
- Brzęczyk
Konfiguracja Raspberry Pi dla budzika:
Zanim przejdziemy dalej, musimy trochę skonfigurować Raspberry Pi i zainstalować plik biblioteki dla modułu RTC, wykonaj poniższe kroki:
Krok 1: Najpierw przejdź do menu konfiguracji Raspberry Pi i włącz opcję I2C, jak pokazano poniżej:
Krok 2: Utwórz nowy folder na ekranie pulpitu Raspberry Pi i nazwij go „Budzik”
Krok 3: Pobierz plik nagłówkowy modułu RTC z poniższego łącza:
codeload.github.com/switchdoclabs/RTC_SDL_DS1307/zip/master
Krok 4: Rozpakuj pobrany plik zip do folderu (Budzik) utworzonego na PULPICIE, jak opisano w poprzednim kroku.
Krok 5: Otwórz okno terminala w Raspberry Pi i wprowadź poniższe polecenie, a następnie naciśnij enter:
sudo apt-get install i2c-tools
To polecenie instaluje narzędzia I2C wymagane do połączenia modułu RTC. Następnie uruchom ponownie Raspberry pi, wydając polecenie „ sudo reboot” .
Krok 6: Teraz musimy sprawdzić adres I2C modułu RTC. Przed sprawdzeniem adresu należy najpierw podłączyć moduł RTC, jak pokazano na schemacie połączeń poniżej.
Następnie wprowadź poniżej w oknie terminala.
sudo i2cdetect -y 0 LUB sudo i2cdetect -y 1
Krok 7: Jeśli którekolwiek z powyższych poleceń działa, zobaczysz coś takiego:
Krok 8: Zobaczysz adres I2C 0x68, jeśli moduł RTC jest podłączony prawidłowo, zapisz wartość.
Dzięki temu wszystkie niezbędne korekty są wykonywane w konfiguracji Raspberry Pi.
Schemat obwodu i połączenia:
Połączenia między Raspberry Pi a wyświetlaczem LCD przedstawiono w poniższej tabeli:
Połączenia między Raspberry Pi a pięcioma przyciskami są również pokazane w poniższej tabeli z odpowiednimi funkcjami każdego przycisku:
Program i objaśnienie robocze:
Moduł RTC ma baterię guzikową do podtrzymania zasilania, tak jak omówiono, więc czas będzie aktualny do momentu wyczerpania się kopii zapasowej i będziemy mieć dokładny czas w RTC.
Teraz napiszemy program w Pythonie, aby uzyskać dokładny czas z modułu RTC DS1307. Tym razem zostanie to pokazane na wyświetlaczu LCD 16x2. Po tym będziemy mieli zapisaną w programie funkcję budzika. Czas alarmu będzie również wyświetlany w drugiej linii wyświetlacza LCD, a następnie stan ON i OFF. Czas alarmu można regulować za pomocą 5 przycisków podłączonych do Raspberry Pi zgodnie z powyższą tabelą i bardzo łatwo jest ustawić Alarm. Możesz również sprawdzić nasze wideo demonstracyjne, aby obsługiwać ten budzik Raspberry Pi. Dostępne są 2 przyciski do zwiększania i zmniejszania godziny alarmu, 2 przyciski do zwiększania i zmniejszania minutowego czasu alarmu i 1 przycisk do włączania i wyłączania alarmu.
Program w Pythonie stale porównuje czas alarmu z czasem RTC, a gdy czas alarmu zgadza się z czasem RTC, PI uruchamia brzęczyk, który jest podłączony do pinu 22 GPIO Raspberry Pi poprzez tranzystor NPN 2N2222. Więc gdy nadejdzie godzina alarmu, brzęczyk wydaje dźwięk.
Kompletny program jest podany poniżej i dobrze wyjaśniony w komentarzach. Jeśli masz jakiekolwiek wątpliwości, możesz zapytać w sekcji komentarzy poniżej.