Банальный пример на RF24Network
- Войдите на сайт для отправки комментариев
Пт, 07/09/2018 - 18:24
Всем здавствуйте.
Есть проект, нужно много беспроводных точек в одной комнате.
Наткнулся на прекрасную библиотеку RF24Network а вот примера нету нигде который был бы похож под мои задачи, задачу можно описать примером что бы во все тонкости не вникать.
Есть 10 точек с про мини, нрф 24, и кнопкой, А есть приемник на котором 10 светодиодов.
Когда нажимается кнопка что бы светился соответсвующий диод, когда кнопка отжимается светодиод тухнул, желательно что бы можно активировать одновременно несколько кнопок.
В поставке RF24Network есть примеры. Начни с двух устройств - приемник и передатчик. Потом - увеличивай кол-во передатчиков. Profit.
Я вот не могу понять принцип отправки получения в примерах нету похожего, именно кнопка диод.
перед этим пользовался блютузами то вроде все понял там довольно просто на сериал отправлять, и были примеры с физической кнопкой и с физическим диодом.
то там просто отправлял символ включения и символ выключения кнопки, а сейчас охота то же повторить но как оказалось все намного сложнее, второй день сижу.
Я вот не могу понять принцип отправки получения в примерах нету похожего, именно кнопка диод.
перед этим пользовался блютузами то вроде все понял там довольно просто на сериал отправлять, и были примеры с физической кнопкой и с физическим диодом.
то там просто отправлял символ включения и символ выключения кнопки, а сейчас охота то же повторить но как оказалось все намного сложнее, второй день сижу.
Как это в примерах нету? Вот - отправка: https://github.com/maniacbug/RF24Network/blob/master/examples/helloworld_tx/helloworld_tx.pde
Там же, рядом, в соседней папке - получение. Отправлять/получать можно любые пользовательские данные. Например, у тебя один передатчик управляет одним диодом на приёмнике, тогда делаешь так:
1. Если кнопка нажата - меняешь флаг, что диод горит/не горит, отправляешь номер диода в эфир и его статус (горит/не горит);
2. На приёмнике - получаешь эти данные: номер диода и его статус, и гасишь/зажигаешь диод.
Для начала лучше просто сделать всё в одном скетче так, как будто у тебя нет радиоканала - просто код управления диодом и опроса кнопки. Потом уже - усложнять, добавляя передачу этого дела в эфир.
Вот на это мозгов у меня и нехватает.
Я делал так на блютузе отправку.
А на приеме если прилетело R включить диод если прилетело N выключить, и охота на радио сделать по такому самому принципу.
а там отправка непонятно почему происходит.
int button = 4; int oldstate=4; void setup() { Serial.begin(9600); pinMode(button, INPUT); } void loop(){ { if(digitalRead(button) == LOW)//если кнопка нажата ... { Serial.println('R');//отправляем 'R' в сериал попт while (digitalRead(button)!=HIGH) {delay(1);} // не выходим из цикла пока кнопка не отпущена. } if(digitalRead(button) == HIGH)//если кнопка отжажата ... { Serial.println('N');//включаем светодиод } }}Добрый совет: забудь про блютуз. И начни с примеров к библиотеке RF24Network. Просто закачай один пример передатчика на одну плату, а пример приёмника - на другую. И разбирайся, там кода - мизер. Как придёт понимание, как оно работает - удаляешь лишнее, добавляешь кнопку на передатчике, диод на приёмнике - и пробуешь написать код так, чтобы по нажатию кнопки передавалась информация, позволяющая приёмнику понять, с каким диодом что сделать. Как будет представлена эта информация - дело десятое: это могут быть просто два байта, пхаемые в эфир, или - сложный пакет с заголовком и контрольной суммой, или - строка, или ещё чёрта лысого.
Ключевое тут - начать с осознания ГОТОВЫХ примеров.
Вот я пытался осознать както это 2 дня.
возился с португальским кодом по джойтикам ну там уж больно много лишнего дня меня.
И уже чуть не бросив руки прошу тут помочь с примером с кнопкой и диодом хоть както, естественно для осознания на более похожем примере.
У меня творческий проект, я не програмист, и не технарь, и к сожалению нет уймы времеи на проект.
Тогда советую просто потихоньку изучать примеры, коих в поставке масса: тот же Blink и пр. Работа с кнопками - тысяцу раз обсосана на этом форуме, работа со светодиодами - тоже не бином Ньютона. Потихоньку и разберёшься. А вот когда с этим разберёшься - тогда уже и думай про радиоканал.
Без обид, но сейчас ситуация такая, что ты взял - купил классный набор ключей, блестящий такой, красивый. И полез с этим набором перебирать ГБЦ от иномарки, не имея ни малейшего представления ни о том, как там всё устроено, ни даже о том, с каким усилием надо закручивать тот или иной болт, чтобы ГБЦ не порвать к чертям.
Всё надо начинать с простейших примеров ;)
З.Ы. Два дня в изучении программирования - ничто, это не срок, вообще.