- Необхідні компоненти:
- Налаштування Raspberry Pi для будильника:
- Схема та з'єднання:
- Програма та робоче пояснення:
У цій сесії ми збираємось інтерфейс модуля годинника реального часу DS1307 з Raspberry PI, щоб зробити будильник. Хоча Raspberry Pi має внутрішній годинник, але без підключення до Інтернету цей внутрішній годинник скидається після кожного перезавантаження. Отже, щоб отримати точний ЧАС без підключення до Інтернету, нам потрібно підключити модуль RTC DS1307 до Raspberry Pi. Модуль RTC має кнопку батареї для резервного копіювання, тому ЧАС не буде скинуто. Ми також створили будильник за допомогою Arduino та за допомогою мікроконтролера ATmega32 AVR, перевірте їх теж.
У цьому цифровому годиннику Raspberry Pi цифровий РК-дисплей із 16 * 2 символами повинен відображати реальний час, час будильника та стан сигналу (ON / OFF). Як тільки програма почне працювати в Pi, ми можемо відключити монітор і встановити будильник за допомогою цього РК-дисплея та п’яти кнопок.
Кожен з 17 штифтів GPIO може подавати або отримувати максимум струму 15 мА. Тому не грайте зі шпильками GPIO і двічі перевіряйте з'єднання перед тим, як живити Raspberry Pi. Дізнайтеся більше про шпильки GPIO та кнопку взаємодії з Raspberry Pi тут. Також перегляньте наші навчальні серії Raspberry Pi разом із декількома хорошими проектами IoT.
Необхідні компоненти:
Тут ми використовуємо Raspberry Pi 2 Model B з ОС Raspbian Jessie. Усі основні вимоги до обладнання та програмного забезпечення обговорювались раніше, ви можете переглянути їх у Вступі про Raspberry Pi та Світлодіодний індикатор Raspberry PI для початку, крім того, що нам потрібно:
- Raspberry Pi з попередньо встановленою ОС
- Модуль RTC DS1307 з акумулятором
- Блок живлення
- Резистор 1 кОм (6 штук)
- 5 кнопок
- Конденсатор 1000 мкФ (2 штуки)
- 16 * 2-символьний РК-дисплей
- Транзистор 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 та РК-дисплеєм показані в таблиці нижче:
Зв'язки між Raspberry Pi та п'ятьма кнопками також показані в таблиці нижче з відповідною функцією кожної кнопки:
Програма та робоче пояснення:
Модуль RTC має комірку для резервного живлення, як було обговорено, тому час буде актуальним, поки резервне копіювання не закінчиться, і ми матимемо точний час у RTC.
Тепер ми напишемо програму Python, щоб отримати точний час з модуля RTC DS1307. Цей час буде показано на РК-дисплеї 16x2. Після цього в програмі буде записана функція будильника. Час будильника також відображатиметься на другому рядку РК-дисплея, після чого відображатиметься статус УВІМК. Час тривоги можна регулювати за допомогою 5 кнопок, підключених до Raspberry Pi, як зазначено у таблиці, наведеній вище, і встановити сигнал тривоги дуже просто. Ви також можете перевірити наше демонстраційне відео, щоб керувати цим будильником Raspberry Pi. Існує 2 кнопки для збільшення та зменшення часу тривоги, 2 кнопки для збільшення та зменшення часу тривоги і 1 кнопка для увімкнення та вимкнення будильника.
Програма Python постійно порівнює час тривоги з часом RTC, і як тільки час тривоги збігається з часом RTC, PI запускає зумер, який підключений до виводу GPIO 22 Raspberry Pi через транзистор NPN 2N2222. Отож, коли час будильника досягається, зумер видає звуковий сигнал.
Повна програма наведена нижче та добре пояснена за допомогою коментарів. Якщо у вас є якісь сумніви, ви можете задати їх у розділі коментарів нижче.