- Необходими компоненти:
- Настройте Raspberry Pi за будилник:
- Електрическа схема и връзки:
- Обяснение на програмата и работата:
В тази сесия ще се свържем с модул за часовник в реално време DS1307 с Raspberry PI, за да направим будилник. Въпреки че Raspberry Pi има вътрешен часовник, но без връзка с интернет, този вътрешен часовник се нулира след всяко рестартиране. Така че, за да получим точно ВРЕМЕ без интернет връзка, трябва да свържем RTC модул DS1307 с Raspberry Pi. RTC модулът има батерия с бутони за архивиране, така че ВРЕМЕТО няма да се нулира. Също така сме изградили Будилник с помощта на Arduino и с помощта на ATmega32 AVR Microcontroller, проверете и тях.
В този цифров часовник Raspberry Pi LCD с 16 * 2 знака е за показване в реално време, време за аларма и състояние на алармата (ON / OFF). След като програмата започне да работи в Pi, можем да изключим монитора и да настроим алармата с помощта на този LCD и пет бутона.
Всеки от 17 GPIO щифта може да достави или изтегли максимум 15 mA ток. Затова не си играйте с GPIO щифтове и проверявайте връзките два пъти, преди да захранвате Raspberry Pi. Научете повече за GPIO щифтовете и бутона за свързване с Raspberry Pi тук. Също така проверете нашата серия уроци за Raspberry Pi заедно с някои добри IoT проекти.
Необходими компоненти:
Тук използваме Raspberry Pi 2 Model B с OS Raspbian Jessie. Всички основни хардуерни и софтуерни изисквания са обсъдени по-рано, можете да ги потърсите във въведението на Raspberry Pi и мигащият индикатор Raspberry PI за начало, освен това, от което се нуждаем:
- Raspberry Pi с предварително инсталирана ОС
- RTC модул DS1307 с батерия
- Захранване
- 1KΩ резистор (6 броя)
- 5 бутона
- Кондензатор 1000uF (2 броя)
- 16 * 2 символен LCD
- 2N2222 транзистор
- Звънец
Настройте Raspberry Pi за будилник:
Преди да продължим по-нататък, трябва да конфигурираме Raspberry Pi малко и да инсталираме библиотечния файл за RTC модул, следвайте стъпките по-долу:
Стъпка 1: Първо отидете в конфигурационното меню на Raspberry Pi и активирайте опцията I2C, както е показано по-долу:
Стъпка 2: Създайте нова папка на екрана на работния плот на Raspberry Pi и я наречете като „Будилник“
Стъпка 3: Изтеглете заглавния файл за RTC модул от долната връзка:
codeload.github.com/switchdoclabs/RTC_SDL_DS1307/zip/master
Стъпка 4: Разархивирайте изтегления zip файл в папката (Будилник), създадена на DESKTOP, както беше казано в предишната стъпка.
Стъпка 5: Отворете прозореца на терминала в Raspberry Pi и въведете командата отдолу, след което натиснете enter:
sudo apt-get install i2c-tools
Тази команда инсталира I2C инструменти, необходими за свързване на RTC модул. След това рестартирайте Raspberry pi, като издадете командата ' sudo reboot' .
Стъпка 6: Сега трябва да проверим I2C адреса на RTC модула. Преди да проверите адреса, първо свържете RTC модула, както е показано в схемата по-долу.
След това въведете отдолу в терминалния прозорец.
sudo i2cdetect -y 0 ИЛИ sudo i2cdetect -y 1
Стъпка 7: Ако някоя от горните команди работи, ще видите нещо подобно:
Стъпка 8: Ще видите I2C адрес 0x68, ако RTC модулът е свързан правилно, запишете стойността.
С това всички необходими корекции се извършват с конфигурацията на Raspberry Pi.
Електрическа схема и връзки:
Връзките между Raspberry Pi и LCD са показани в таблицата по-долу:
Връзките между Raspberry Pi и пет бутона са показани и в таблицата по-долу със съответната функция на всеки бутон:
Обяснение на програмата и работата:
Модулът RTC има клетка за бутони за архивиране на захранването, както беше обсъдено, така че времето ще бъде актуално, докато резервното копие изтече и ще имаме точно време в RTC.
Сега ще напишем програма на Python, за да получим точното време от RTC модул DS1307. Това време ще бъде показано на 16x2 LCD. След това ще имаме функция за будилник, написана в програма. Времето за аларма също ще се покаже на втория ред на LCD, последвано от състоянието ВКЛ и ИЗКЛ. Времето за аларма може да се регулира чрез 5 бутона, свързани към Raspberry Pi, както е споменато в таблицата по-горе, и е много лесно да настроите алармата. Можете също да проверите нашето демонстрационно видео, за да управлявате този будилник Raspberry Pi. Има 2 бутона за увеличаване и намаляване на часа на алармата, 2 бутона за увеличаване и намаляване на минутата на алармата и 1 бутон за включване и изключване на алармата.
Програмата Python непрекъснато сравнява времето за аларма с времето RTC и след като времето за аларма съвпада с времето RTC, PI задейства зумера, който е свързан към GPIO пин 22 на Raspberry Pi чрез транзистора NPN 2N2222. Така че след достигане на времето за аларма, зумерът издава звук.
Пълната програма е дадена по-долу и е добре обяснена чрез коментарите. Ако имате някакви съмнения, можете да попитате в раздела за коментари по-долу.