Банальный пример на RF24Network

Hard_User
Offline
Зарегистрирован: 07.09.2018

Всем здавствуйте.

Есть проект, нужно много беспроводных точек в одной комнате.

Наткнулся на прекрасную библиотеку RF24Network а вот примера нету нигде который был бы похож под мои задачи, задачу можно описать примером что бы во все тонкости не вникать.

Есть 10 точек с про мини, нрф 24, и кнопкой, А есть приемник на котором 10 светодиодов.

Когда нажимается кнопка что бы светился соответсвующий диод, когда кнопка отжимается светодиод тухнул, желательно что бы можно активировать одновременно несколько кнопок. 

 

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

В поставке RF24Network есть примеры. Начни с двух устройств - приемник и передатчик. Потом - увеличивай кол-во передатчиков. Profit.

Hard_User
Offline
Зарегистрирован: 07.09.2018

Я вот не могу понять принцип отправки получения в примерах нету похожего, именно кнопка диод. 

перед этим пользовался блютузами то вроде все понял там довольно просто на сериал отправлять, и были примеры с физической кнопкой и с физическим диодом. 

то там просто отправлял символ включения и символ выключения кнопки, а сейчас охота то же повторить но как оказалось все намного сложнее, второй день сижу. 

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Hard_User пишет:

Я вот не могу понять принцип отправки получения в примерах нету похожего, именно кнопка диод. 

перед этим пользовался блютузами то вроде все понял там довольно просто на сериал отправлять, и были примеры с физической кнопкой и с физическим диодом. 

то там просто отправлял символ включения и символ выключения кнопки, а сейчас охота то же повторить но как оказалось все намного сложнее, второй день сижу. 

Как это в примерах нету? Вот - отправка: https://github.com/maniacbug/RF24Network/blob/master/examples/helloworld_tx/helloworld_tx.pde

Там же, рядом, в соседней папке  - получение. Отправлять/получать можно любые пользовательские данные. Например, у тебя один передатчик управляет одним диодом на приёмнике, тогда делаешь так:

1. Если кнопка нажата - меняешь флаг, что диод горит/не горит, отправляешь номер диода в эфир и его статус (горит/не горит);

2. На приёмнике - получаешь эти данные: номер диода и его статус, и гасишь/зажигаешь диод.

Для начала лучше просто сделать всё в одном скетче так, как будто у тебя нет радиоканала - просто код управления диодом и опроса кнопки. Потом уже - усложнять, добавляя передачу этого дела в эфир.

 

Hard_User
Offline
Зарегистрирован: 07.09.2018

Вот на это мозгов у меня и нехватает.

Я делал так на блютузе отправку.

А на приеме если прилетело 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');//включаем светодиод 
 
} 
 
}}

 

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Добрый совет: забудь про блютуз. И начни с примеров к библиотеке RF24Network. Просто закачай один пример передатчика на одну плату, а пример приёмника - на другую. И разбирайся, там кода - мизер. Как придёт понимание, как оно работает - удаляешь лишнее, добавляешь кнопку на передатчике, диод на приёмнике - и пробуешь написать код так, чтобы по нажатию кнопки передавалась информация, позволяющая приёмнику понять, с каким диодом что сделать. Как будет представлена эта информация - дело десятое: это могут быть просто два байта, пхаемые в эфир, или - сложный пакет с заголовком и контрольной суммой, или - строка, или ещё чёрта лысого.

Ключевое тут - начать с осознания ГОТОВЫХ примеров.

Hard_User
Offline
Зарегистрирован: 07.09.2018

Вот я пытался осознать както это 2 дня.

возился с португальским кодом по джойтикам ну там уж больно много лишнего дня меня.

И уже чуть не бросив руки прошу тут помочь с примером с кнопкой и диодом хоть както, естественно для осознания на более похожем примере. 

У меня творческий проект, я не програмист, и не технарь,  и к сожалению нет уймы времеи на проект. 

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Тогда советую просто потихоньку изучать примеры, коих в поставке масса: тот же Blink и пр. Работа с кнопками - тысяцу раз обсосана на этом форуме, работа со светодиодами - тоже не бином Ньютона. Потихоньку и разберёшься. А вот когда с этим разберёшься - тогда уже и думай про радиоканал.

Без обид, но сейчас ситуация такая, что ты взял - купил классный набор ключей, блестящий такой, красивый. И полез с этим набором перебирать ГБЦ от иномарки, не имея ни малейшего представления ни о том, как там всё устроено, ни даже о том, с каким усилием надо закручивать тот или иной болт, чтобы ГБЦ не порвать к чертям.

Всё надо начинать с простейших примеров ;)

З.Ы. Два дня в изучении программирования - ничто, это не срок, вообще.