как подключить 2 и более nRF24L01+ к ардуино
- Войдите на сайт для отправки комментариев
Чт, 03/12/2015 - 13:39
Подскажите, как подключить 2 и более nRF24L01+ к ардуино. Что нужно поменять в кодах?
передача:
#include <SPI.h> #include "RF24.h" const uint64_t pipe = 0xE8E8F0F0E1LL; // адрес канала передачи RF24 radio(7, 8); byte msg[3]; void setup() { //============================================================Модуль NRF24 radio.begin(); // Включение модуля radio.setAutoAck(1); // Установка режима подтверждения приема; radio.setRetries(1, 1); // Установка интервала и количества попыток radio.setDataRate(RF24_250KBPS); // Устанавливаем скорость radio.setPALevel(RF24_PA_MAX); // Установка максимальной мощности; radio.setChannel(10); // Устанавливаем канал radio.openWritingPipe(pipe); // Открываем канал передачи } void loop() { msg[0] = 19; msg[1] = 12; radio.write(&msg, sizeof(msg)); }
прием:
#include <SPI.h> #include "RF24.h" const uint64_t pipe = 0xE8E8F0F0E1LL; // адрес канала передачи RF24 radio(7, 8); byte msg[3]; void setup() { Serial.begin(9600); //============================================================Модуль NRF24 radio.begin(); // Включение модуля radio.setAutoAck(1); // Установка режима подтверждения приема; radio.setDataRate(RF24_250KBPS); // Устанавливаем скорость radio.setChannel(10); // Устанавливаем канал radio.openReadingPipe(1, pipe); // Открываем 1 канал приема radio.startListening(); // Начинаем слушать эфир } void loop() { if (radio.available()) { while (radio.available()) { radio.read(&msg, sizeof(msg)); Serial.println(msg[0]); Serial.println(msg[1]); } } }
сначала обьясните для чего вам это надо?
температуру передавать с двух разных мест. Один датчик вешается без проблем, как второй подцепить, как инициировать прием и передачу второго nRF24?
можно менять номер канала
это в передатчике, а в приемнике, как настроить прием на втором канале? На двух сразу или по очереди?
по номеру канала это не есть гуд, можно передавать посылку вроде пароля от каждого датчика,
Еще бы знать, как это сделать(( Гуглил - подобного решения вопроса не находил
передавайте в трубу еще какое то число например массив увеличиваете до 3 и добавляете пароль
msg[2] = 1234321;
Пробовал, увеличивал массив, бесполезно. Только с паролем не эксперементировал, потому что не знаю, как и куда его прилепить
https://www.youtube.com/watch?v=RWeiUnZtSGI
на приемнике пишите
Спасибо всем! Нашел решение http://arrduinolab.blogspot.ru/2014/12/nrf24l01-arduino_30.html
radio.setRetries(1, 1);
Н Надежность