Официальный сайт компании Arduino по адресу arduino.cc
NRF24L01 радио модуль. Как реализовать переключение каналов.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Вс, 16/06/2019 - 01:22
Доброго времени суток. Подскажите пожалуйста, как реализовать переключение каналов на радио модуле NRF24L01 (на принимающем устройстве)? Не могу понять как нужно изменить скетч? Переключать планирую от нажатия кнопки. Вот кусок кода.
[code] void setup() { Serial.begin(9600); //открываем порт для связи с ПК radio.begin(); //активировать модуль radio.setAutoAck(1); //режим подтверждения приёма, 1 вкл 0 выкл radio.setRetries(0, 15); //(время между попыткой достучаться, число попыток) radio.enableAckPayload(); //разрешить отсылку данных в ответ на входящий сигнал radio.setPayloadSize(32); //размер пакета, в байтах radio.openReadingPipe(1, address[0]); //хотим слушать трубу 0 radio.setChannel(0x70); //выбираем канал (в котором нет шумов!) radio.setPALevel (RF24_PA_MAX); //уровень мощности передатчика. На выбор RF24_PA_MIN, RF24_PA_LOW, RF24_PA_HIGH, RF24_PA_MAX radio.setDataRate (RF24_1MBPS); //скорость обмена. На выбор RF24_2MBPS, RF24_1MBPS, RF24_250KBPS //должна быть одинакова на приёмнике и передатчике! //при самой низкой скорости имеем самую высокую чувствительность и дальность!! // ВНИМАНИЕ!!! enableAckPayload НЕ РАБОТАЕТ НА СКОРОСТИ 250 kbps! radio.powerUp(); //начать работу radio.startListening(); //начинаем слушать эфир, мы приёмный модуль } void loop(void) { int gotByte[4]; byte pipeNo; while ( radio.available(&pipeNo)) { // слушаем эфир со всех труб radio.read( &gotByte, sizeof(gotByte) ); // чиатем входящий сигнал } } [/code]
В Вашем коде и близко не пахнет переключения канала с помощью кнопки.
вот и делайте, при нажатии кнопки изменяйте (что в скобках).