- Обязательные компоненты:
- RF модуль:
- Рабочее объяснение:
- Описание схемы:
- Установка библиотеки wiringPi в Raspberry Pi:
- Объяснение программирования:
В этом сеансе мы собираемся разработать радиочастотный пульт дистанционного управления с использованием Raspberry Pi, который можно использовать для управления устройствами по беспроводной сети. Мы можем включать и выключать устройства с помощью этого радиочастотного пульта дистанционного управления. Ранее мы разработали множество проектов с использованием радиочастотного модуля, таких как робот с радиочастотным управлением, робот с ручным управлением и т. Д., Проверьте их, чтобы понять работу радиочастотного модуля.
Обязательные компоненты:
Сторона передатчика:
- РЧ-передатчик (гибридный передатчик ASK)
- HT12E IC
- 4 кнопки
- Резистор 750к
- Аккумулятор на 9 Вольт
Сторона приемника:
- Raspberry Pi
- ЖК-дисплей 16x2
- 10K POT
- Хлебная доска
- Резистор 1 кОм (пять)
- Резистор 33 кОм
- HT12D IC
- РЧ-приемник (гибридный приемник ASK)
- Светодиоды (пять)
- Резистор 10 кОм (четыре)
- Соединительный провод
- Источник питания
RF модуль:
Это гибридный модуль передатчика и приемника ASK, работающий на частоте 433 МГц. Этот модуль имеет кварцевый стабилизатор для точного управления частотой и оптимального диапазона. Для этого модуля нам понадобится только одна внешняя антенна.
Этот модуль очень экономичен там, где требуется радиосвязь на большие расстояния. Этот модуль не отправляет данные через UART-соединение ПК или микроконтроллера напрямую, потому что на этой частоте и ее аналоговой технологии много шума. Мы можем использовать этот модуль с помощью микросхем кодировщика и декодера, которые извлекают данные из шума.
Дальность действия передатчика составляет около 100 метров при максимальном напряжении питания, а для 5 вольт дальность действия передатчика составляет около 50-60 метров с использованием простого провода антенны длиной 17 см с одним кодом.
Характеристики передатчика RF:
- Частотный диапазон: 433 МГц
- Выходная мощность: 4-16 дБм
- Входное питание: от 3 до 12 В постоянного тока
Описание контактов RF Tx:
- GND - заземление
- Data In - этот вывод принимает последовательные данные от кодировщика
- Vcc - к этому выводу должно быть подключено +5 Вольт.
- Антенна - соединение с этим контактом для правильной передачи данных
Характеристики приемника RF:
- Чувствительность: -105 дБм
- ПЧ частота: 1 МГц
- Низкое энергопотребление
- Ток 3,5 мА
- Напряжение питания: 5 вольт
Описание контактов RF Rx:
- GND - Земля
- Data In - этот вывод передает выходные последовательные данные декодеру.
- Data In - этот вывод передает выходные последовательные данные декодеру.
- Vcc - к этому выводу должно быть подключено +5 Вольт.
- Vcc - к этому выводу должно быть подключено +5 Вольт.
- GND - Земля
- GND - Земля
- Антенна - соединение с этим контактом для правильного приема данных
Рабочее объяснение:
Работа над этим проектом очень проста. В этом проекте мы использовали четыре кнопки на стороне передатчика (служат в качестве пульта дистанционного управления) для управления четырьмя светодиодами на стороне приемника. Когда мы нажимаем любую из четырех кнопок, Encoder IC кодирует сигнал и отправляет его на РЧ-передатчик, а РЧ-передатчик передает его в окружающую среду. Теперь RF Receiver принимает переданный сигнал, декодирует его с помощью Decoder IC HT12D и отправляет свой 4-битный вывод на Raspberry Pi. Затем Raspberry Pi считывает эти биты и выполняет связанную задачу и зажигает соответствующий светодиод. Зуммер издает звуковой сигнал на секунду при нажатии любой клавиши. ЖК-дисплей 16x2 также используется для отображения состояния «ВКЛ или ВЫКЛ» всех светодиодов.
В этом проекте мы использовали четыре светодиода только в демонстрационных целях, мы можем запустить любую задачу, нажав соответствующую кнопку на «RF Remote». Так же, как мы можем подключить бытовую технику переменного тока вместо светодиодов, используя реле, и можем управлять этими приборами с помощью того же «RF Remote» по беспроводной сети. Таким образом, эта же схема может работать как проект домашней автоматизации на основе RF с использованием Raspberry Pi. Ранее мы разработали множество проектов домашней автоматизации, управляемых с помощью Bluetooth, DTMF, GSM и т. Д., Вы можете проверить все здесь Проекты домашней автоматизации.
Описание схемы:
Схема этого радиочастотного пульта дистанционного управления Raspberry Pi проста и содержит плату Raspberry Pi, кнопку и ЖК-дисплей, радиочастотную пару и ИС кодировщика / декодера. Raspberry Pi управляет ЖК-дисплеем, считывает ввод и отправляет вывод в соответствии с вводом. Мы использовали здесь Raspberry Pi 3, но подойдет любая модель Raspberry. Схема разделена на две части: одна - это схема радиочастотного приемника, а другая - радиочастотного передатчика. Обе схемы показаны на схеме ниже.
В части приемника контакты ЖК-дисплея rs, en, d4, d5, d6, d7 подключены к контактам GPIO WiringPi 11, 10, 6, 5, 4, 1 в 4-битном режиме. РЧ-приемник принимает сигнал от РЧ-передатчика, а HT12D IC декодирует его. D8, D9, D10, D11 микросхемы декодера HT12D подключаются напрямую к контактам 25, 24, 23 и 22 GPIO GPIO. Выходные светодиоды подключаются к контактам 26, 27, 28 и 29 GPIO проводки GPIO. Зуммер также используется для оповещения о нажата клавиша при wiringPi GPIO 0.
Схема радиочастотного передатчика содержит микросхему кодировщика HT12E и 4 кнопки для управления 4 светодиодами. В ИС кодировщика и декодера все адресные линии заземлены.
Установка библиотеки wiringPi в Raspberry Pi:
Как и в Python, мы импортируем import RPi.GPIO как файл заголовка ввода-вывода, чтобы использовать выводы GPIO Raspberry Pi, здесь, на языке C, нам нужно использовать библиотеку wiringPi для использования выводов GPIO в нашей программе C. Мы можем установить его, используя следующие команды одну за другой, вы можете запустить эту команду из Терминала или из некоторых клиентов SSH, таких как Putty (если вы используете Windows). Ознакомьтесь с нашим руководством по началу работы с Raspberry Pi, чтобы узнать больше об обращении и настройке Raspberry Pi.
sudo apt-get install 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 () {если (wiringPiSetup () == -1) {clear (); print («Невозможно запустить»); setCursor (0,1); печать ("wiringPi"); } pinMode (led1, ВЫХОД); pinMode (светодиод2, ВЫХОД); pinMode (led3, ВЫХОД); pinMode (led4, ВЫХОД);……………….
В коде мы использовали функцию digitalRead для чтения вывода Decoder и digitalWrite для отправки вывода на светодиод или устройство.
…………….. в то время как (1) {setCursor (0,0); печать ("D1 D2 D3 D4"); если (digitalRead (d1) == 0) {flag1 ++; setCursor (0,1); если (flag1% 2 == 1) {печать ("ВКЛ"); digitalWrite (led1, HIGH); }……………..
Вот еще несколько функций, которые использовались в этом проекте.
Функция void lcdcmd используется для отправки команды на ЖК-дисплей, а функция записи void используется для отправки данных на ЖК-дисплей.
Функция void clear () используется для очистки ЖК-дисплея, void setCursor используется для установки положения курсора, а пустая печать для отправки строки на ЖК-дисплей.
Функция void begin используется для инициализации ЖК-дисплея в 4-битном режиме и void buzzer () для подачи звукового сигнала.
Ознакомьтесь с полным кодом для этого дистанционного управления Raspberry RF ниже.