- Необхідні компоненти:
- RF модуль:
- Робоче пояснення:
- Пояснення схеми:
- Встановлення бібліотеки wiringPi в Raspberry Pi:
- Пояснення програмування:
У цій сесії ми збираємося розробити радіочастотний пульт дистанційного керування за допомогою Raspberry Pi, який може використовуватися для бездротового керування пристроями. Ми можемо вмикати та вимикати пристрої за допомогою цього пульта дистанційного керування. Раніше ми розробили багато проектів з використанням RF модуля, таких як RF Controlled Robot, Hand Gesture Controlled Robot тощо, перевірте їх, щоб зрозуміти роботу RF модуля.
Необхідні компоненти:
Сторона передавача:
- РЧ-передавач (гібридний передавач ASK)
- Схема HT12E
- 4 Кнопки
- 750k резистор
- Акумулятор 9 Вольт
Сторона приймача:
- Raspberry Pi
- РК-дисплей 16x2
- 10K POT
- Хлібна дошка
- Резистор 1К (п'ять)
- Резистор 33K
- Схема HT12D
- РЧ-приймач (гібридний приймач ASK)
- Світлодіоди (п’ять)
- 10K резистор (чотири)
- З'єднувальний провід
- Блок живлення
RF модуль:
Це гібридний передавач і модуль ASK, який працює на частоті 433 МГц. Цей модуль має кристально стабілізований генератор для підтримки точного регулювання частоти для найкращого діапазону. Там нам потрібна лише одна антена зовні для цього модуля.
Цей модуль є економічно вигідним там, де потрібен радіочастотний зв’язок великого діапазону. Цей модуль не надсилає дані за допомогою UART-зв'язку ПК чи мікроконтролера безпосередньо, оскільки на цій частоті є багато шуму та його аналогова технологія. Ми можемо використовувати цей модуль за допомогою мікросхем кодера та декодера, які витягують дані із шуму.
Дальність передавача становить близько 100 метрів при максимальній напрузі живлення, а для 5 вольт дальність передавача становить близько 50-60 метрів за допомогою простого дроту з однокодовою антеною довжиною 17 см.
Особливості радіочастотного передавача:
- Діапазон частот: 433 МГц
- Вихідна потужність: 4-16дБм
- Вхідне живлення: від 3 до 12 вольт постійного струму
Контактний опис RF Tx:
- GND - Наземне постачання
- Data In - Цей штифт приймає послідовні дані від кодера
- Vcc - +5 Вольт повинен бути підключений до цього виводу
- Антена - загорнуте з'єднання з цим штифтом для належної передачі даних
Особливості радіочастотного приймача:
- Чутливість: -105 дБм
- ПІЧ-частота: 1 МГц
- Низьке споживання енергії
- Струм 3,5 мА
- Напруга живлення: 5 вольт
Контактний опис RF Rx:
- GND - Земля
- Data In - Цей штифт дає вихідні послідовні дані для декодера
- Data In - Цей штифт дає вихідні послідовні дані для декодера
- Vcc - +5 Вольт повинен бути підключений до цього виводу
- Vcc - +5 Вольт повинен бути підключений до цього виводу
- GND - Земля
- GND - Земля
- Антена - загорнуте з'єднання з цим штифтом для належного прийому даних
Робоче пояснення:
Робота з цим проектом дуже проста. У цьому проекті ми використали чотири кнопки на стороні передавача (виконують функцію дистанційного керування) для управління чотирма світлодіодами на кінці приймача. Коли ми натискаємо будь-яку з чотирьох кнопок, тоді Encoder IC кодує сигнал і відправляє його в радіочастотний передавач, а радіочастотний передавач передає його в середовищі. Тепер РЧ-приймач приймає переданий сигнал і декодує його за допомогою декодера IC HT12D і відправляє свій 4-бітний вихід на Raspberry Pi. Потім Raspberry Pi зчитує ці біти і виконує відповідне завдання та світить відповідний світлодіод. Звуковий сигнал протягом секунди подає звуковий сигнал при кожному натисканні будь-якої клавіші. РК-дисплей 16х2 також використовується для відображення стану "УВІМК. Або ВИМК." Усіх світлодіодів.
У цьому проекті ми використали чотири світлодіоди лише для демонстрації. Ми можемо запустити будь-яке завдання, натиснувши відповідну кнопку на «RF Remote». Як і ми можемо підключити побутову техніку змінного струму замість світлодіодів, використовуючи реле, і ми можемо бездротово керувати цими приладами за допомогою того самого «RF Remote». Тож ця ж схема може працювати як проект домашньої автоматизації на основі ВЧ із використанням Raspberry Pi. Раніше ми розробили безліч проектів автоматизації будинків, керованих за допомогою Bluetooth, DTMF, GSM тощо, ви можете перевірити всі тут Проекти автоматизації будинку.
Пояснення схеми:
Схема цього пульта дистанційного керування Raspberry Pi RF проста, що містить дошку Raspberry Pi, кнопку та РК-дисплей, ВЧ-пару та мікросхему кодера / декодера. Raspberry Pi керує РК-дисплеєм, зчитує вхідні дані і надсилає вихідні дані відповідно до вхідних даних. Тут ми використовували Raspberry Pi 3, але будь-яка модель Raspberry повинна працювати. Схема розділена на дві частини, одна - це радіочастотний приймач, а інша - це радіочастотний передавач. Обидві схеми показані на схемі нижче.
У частині приймача РК-наконечники rs, en, d4, d5, d6, d7 підключені до проводки Pi GPIO Pin 11, 10, 6, 5, 4, 1 у 4-бітному режимі. Радіочастотний приймач приймає сигнал від радіочастотного передавача, а мікросхема HT12D декодує його. D8, D9, D10, D11 IC-декодера HT12D безпосередньо підключаються до проводкиPI GPIO pin 25, 24, 23 і 22. Вихідні світлодіоди підключаються до проводкиPi GPIO pin 26, 27, 28 і 29. Звуковий сигнал також використовується для попередження про клавіша, натиснута на проводці Pi GPIO 0.
Схема радіочастотного передавача містить мікросхему кодера HT12E та 4 кнопки для управління 4 світлодіодами. У кодері та декодері IC всі лінії адрес підключені до землі.
Встановлення бібліотеки wiringPi в Raspberry Pi:
Як і в Python, ми імпортуємо імпорт RPi.GPIO як файл заголовка вводу-виводу для використання штифтів GPIO Raspberry Pi, тут мовою C нам потрібно використовувати бібліотеку wiringPi, щоб використовувати шпильки GPIO у нашій програмі C. Ми можемо встановити його, використовуючи наведені нижче команди по черзі, ви можете запустити цю команду з терміналу або з деяких клієнтів SSH, таких як Putty (якщо ви використовуєте Windows). Пройдіть наш посібник «Початок роботи з Raspberry Pi», щоб дізнатися більше про обробку та налаштування Raspberry Pi.
sudo apt-get встановити git-core sudo apt-get update sudo apt-get upgrade git clone git: //git.drogon.net/wiringPi cd wiringPi git pull origin cd wiringPi./build
Перевірте установку бібліотеки wiringPi, використовуйте команди нижче:
gpio -v gpio readall
Пояснення програмування:
Перш за все, ми включаємо файли заголовків та визначаємо висновки для РК-дисплея, а потім ініціалізуємо деякі змінні та висновки для отримання вхідних та світлодіодних індикацій.
#включати
Після цього ми даємо вказівки усім використаним штифтам GPIO у функціях void setup () .
void setup () {if (wiringPiSetup () == -1) {clear (); print ("Неможливо запустити"); setCursor (0,1); друк ("wiringPi"); } pinMode (led1, OUTPUT); pinMode (led2, OUTPUT); pinMode (led3, OUTPUT); pinMode (led4, OUTPUT);……………….
У коді ми використовували функцію digitalRead для зчитування результатів декодера та digitalWrite для надсилання виходу на світлодіод або пристрій.
…………….. while (1) {setCursor (0,0); друк ("D1 D2 D3 D4"); if (digitalRead (d1) == 0) {flag1 ++; setCursor (0,1); if (flag1% 2 == 1) {print ("ON"); digitalWrite (led1, HIGH); }……………..
Ось ще деякі функції, які були використані в цьому проекті.
Функція void lcdcmd використовується для надсилання команди на РК-дисплей, а функція void write використовується для надсилання даних на РК-дисплей.
Функція void clear () використовується для очищення РК-дисплея, void setCursor використовується для встановлення положення курсора та порожнього друку для надсилання рядка на РК-дисплей.
Функція void start використовується для ініціалізації РК-дисплея в 4-розрядному режимі та void зумер () для подачі звукового сигналу.
Перевірте повний код цього пульта дистанційного керування Raspberry RF нижче.