Радио модули 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