arduino RF433Mhz
- Войдите на сайт для отправки комментариев
Вс, 13/04/2014 - 00:59
Ребята помогите , нужен пример скетча для управления пинами ардуины (вкл.выкл) с радио брелка,
Коды и период с брелка считал с помощъю библиотеки RemoteSwitch:
код 1 кнопки 18060 период 348,
код 2 кнопки 18062 период 348.
задача такова . при нажатии 1-ой кнопки на пин13 появляется +5в
при нажатии 2-ой кнопки напряжение пропадает .
Это что-то типа "помигать светодиодом" при наступлении условия "18060"? Где у Вас появляется этот "код кнопки" - там его и ловите...
Мне кажется, что функцию showCode надо запускать не один раз при старте (setup), а периодически с интервалом в несколько секунд (loop), а там уже обрабатывать условие
if (receivedCode == 18060) { Serial.println("18060 Found!"); "моргаем светодиодом";}
Андрей можно по подробней, как это все должно выглядеть,
я в железе отлично соображаю а вот в программировании подчти 0.
https://github.com/jccprj/RemoteSwitch-arduino-library/blob/master/examp...
Вот здесь в примерах надо покопаться, как правильно вызывать функцию... Хотя, судя по комментариям, попавшимся в интернете, при инициализации приемника взводится прерывание, которое потом и надо обрабатывать в теле программы:
Таким образом функция showCode вызывается самостоятельно, при наступлении события, хотя, по всем канонам, "медленные" операции внутри прерывания делать не рекомендуется.
В качестве проверки я бы заменил Serial.print(receivedCode); на условие, которое я привел выше, дописав туда команду на включение светодиода.
Спасибо. буду пробовать
Удалось ли Вам решить задачу или найти пример скетча?
А что еще остались вопросы? Помоему, все уже разжевано. У Осипова на ютубе много материалов по беспроводному управлению.
Включить/выключить лампочку (реле) с пульта можно вообще без ардуино. Есть обучаемые беспроводные реле.
У меня задача такая же, как была в вашем вопросе, один в один. И именно такого решения я не нашел. Осипова перерыл, там нашел варианты ардуино+готовые розетки в различных вариациях. А так, чтобы готовый пульт+ардуино(с ресивером 433 и реле) не нашел.
Если вдруг попадется и ткнете пальцем - буду благодарен.
Про беспроводные реле обучаемые первый раз слышу, сейчас погуглю такую тему.
Спасибо!
http://ru.aliexpress.com/wholesale?catId=0&initiative_id=SB_201504120445...
Если, все-таки, хотите на arduino, то коды кнопок в студию. Код 10 строк максимум.
Коды кнопок, считанные при помощи библиотеки <NewRemoteReceiver.h>:
Addr 11730802 unit 4 on, period: 214us.
Addr 11730802 unit 4 off, period: 214us.
В своей системе я использую вот такой пульт: http://www.nexa.se/TMT-918-Digital-Fjaerrkontroll.htm
поэтому у меня все через ардуино, я встраиваю реле с ардуиной прямо в бытовую технику.
До этого делал это все на IR пульте, но обнаружились неудобства. К тому же в этом пульте есть встроенный таймер
на 16 каналов, поэтому взял его за базу.
Коды нужны на основе скетча из 3-го поста топика,
http://arduino.ru/forum/programmirovanie/arduino-rf433mhz#comment-64117
NewRemoteSwitch хороша, но слишкомм наворочена для данной задачи.
либа RemoteSwitch
https://github.com/jccprj/RemoteSwitch-arduino-library
К сожалению, только NewRemoteSwitch может прочитать коды с этого пульта. А трех-четырех кнопочные пульты, которые может прочитать RemoteSwitch меня не устраивают (((
В третьем посте расписано только получение кодов и вывод в порт. Я не программер, поэтому ищу готовое решение, как полученный код направить на исполнение управлением реле.
Кто сказал, что RemoteSwitch принимает только трех-четырех кнопочные пульты?
на 5262-энкодере можно хоть 12, правда адрес устройства будет всегда одинаков.
В третьем посте 90% решения Вашей задачи. Так же как в ShowReceivedCode.ino библиотеки NewRemoteSwitch.
Спасибо большое, Добрый человек!!!
Все заработало как надо!
Как здорово, что есть люди, готовые потратить свое личное время на образование других!
Проверял работу NewRemoteReceiver, поигрался с пультами управления, бросается необычность работы этих библиотек: они тупят.. Мне кажется, что они код своеобразно медленно обрабатывают, или оно так и есть? CRC библиотеки проверяют?
дело в том, что с теми же приемниками и с той же мощность - железо фирменных пультов работает значительно дальше по расстоянию.
А Ардуина так не умеет, что наводит на мысли о плохой оптимизации приема радиопосылок в таких простых устройствах.
Кто знает в чем проблема?
А Ардуина так не умеет, что наводит на мысли о плохой оптимизации приема радиопосылок в таких простых устройствах.
Кто знает в чем проблема?
если вы имеете в виду дешевые китайские поделки на 433Мгц... то там проблема очень проста... они для гарантированой приема-передачи орут в канал по 2-3 секунды... как вариант ардуина терпеливо слушает все до конца....
там не важно, что приемник с алли стандартный дешевый. Этот же приемник стоит во многих устройства и те устройства принимают даже когда расстояние 20 метров и есть сигнал+шум. Ардуиновская же библиотека принимает сигнал только если нет шума! (смотрел осцилографом), что наводит на мысли - там все далеко от совершенства. К сожалению разбираясь неплохо в железе - но пока плохо понимаю как те библиотеки работают, в программировании не силен.