Радио модули 433MHz връзка към Arduino
Рано или късно в създаваните проекти ще се появи необходимостта от дистанционно управление. Едно от най-бюджетните решения е използването на радиоприемник и радиопредавател. Най-простият пример за тяхното използване ще намерите в тази статия, а след това всичко зависи само от вашите нужди и въображение.
Първо, вземаме 2 платки Arduino и свързваме приемника и предавателя към тях, както е показано на фигурата:
Компоненти за повторение (купете от Китай):
Преди да продължите да работите, трябва да посочите, че за пълноценна работа е необходимо да запоите антената към модулите. Препоръчителната дължина на антената за 433 MHz предаватели е 17 см.
Необходима библиотека за работа с VirtualWire
Той трябва да бъде разопакован и добавен към папката "libraries" в папката Arduino IDE. Не забравяйте да рестартирате средата, ако IDE е била отворена, когато сте я добавили.
След това свържете платката с предавателя и попълнете следния код:
Нека анализираме този код за пълно разбиране.
Първо формираме низа strMsg. Използваме типа String, защото с него се работи по-лесно (можете да го свържете с числа, като използвате оператора '+').
Тъй като всички предаватели работят в един и същи честотен диапазон, всеки приемник ще получава информация от всеки предавател в обхвата. За да филтрирате излишните символи в най-простия случай, можете просто да поставите пред командите някакъв специален знак. В нашия случай това е знакът 'z'.
След това ще предадем символа 'c', който може да означава изпълнението на някаква команда, и числото 123 като параметър на тази команда. На практика е удобно да се работи по този начин.
След това преобразуваме типа String в стандартен масив от символи, използвайкиtoCharArray и го предайте на командата vw_send.
Нашият код ще изпрати низа 'z c 123'.
Да преминем към кода на приемника:
Съобщението ще бъде прочетено в буфера buf, за да бъде анализирано.
Първо проверяваме за наличието на служебния символ 'z', след това четем кода на командата и след това преобразуваме низовото представяне на параметъра в число.
Получената и анализирана информация, какво следва да се направи зависи от конкретната задача.
Тази статия разглежда най-простата версия на комуникацията. В идеалния случай трябва да помислите за кодиране на предаваната информация, защото. то ще бъде получено не само от вашите приемници.
P.S. Работейки с тези модули, се натъкнахме на един неприятен подводен камък, а именно конфликт, невъзможност за работа с библиотеката "servo.h".
За да разрешите този проблем, трябва да използвате библиотеката ServoTimer2, единствената разлика от стандартнияServo.h е, че трябва да предадете броя микросекунди на функцията за запис, повече за което е описано в нашата статия Свързване на серво към Arduino.
Купете в България Радио модули 433 MHz