эээ...а предыдущая страница о чем? Если вам нужен готовый код, то на этом форуме есть раздел "закажу проект", туда пишите и оплачивайте труд.
добрый вечер .что исправить в коде приемника ?при потери связи остается работать последняя задача ,а хотелось бы чтоб прекращалась выполнение кода Код (C++): ? -------------------------приемник ------------------ #include <SPI.h> #include "nRF24L01.h" #include "RF24.h" #include <Servo.h> RF24 radio(9, 10); // "создать" модуль на пинах 9 и 10 Для Уно //RF24 radio(9,53); // для Меги byte recieved_data[12]; // массив принятых данных byte relay61 = 6; byte relay51 = 5; byte relay = 2; byte relay1= 4; byte relay3 = 7; byte mosfet = 8; byte relay4 = 14; byte relay5 = 15; byte relay6 = 16; byte relay2 = 17; byte relay7 = 18; byte relay8 = 19; byte address[][6] = {"1Node", "2Node", "3Node", "4Node", "5Node", "6Node"}; //возможные номера труб void setup() { Serial.begin(9600); //открываем порт для связи с ПК pinMode(relay, OUTPUT); // настроить пин реле как выход pinMode(mosfet, OUTPUT); // настроить пин мосфета как выход pinMode(relay1, OUTPUT); pinMode(relay2, OUTPUT); pinMode(relay3, OUTPUT); pinMode(relay4, OUTPUT); pinMode(relay5, OUTPUT); pinMode(relay6, OUTPUT); pinMode(relay7, OUTPUT); pinMode(relay8, OUTPUT); pinMode(relay61, OUTPUT); pinMode(relay51, OUTPUT); radio.begin(); //активировать модуль radio.setAutoAck(1); //режим подтверждения приёма, 1 вкл 0 выкл radio.setRetries(0, 15); //(время между попыткой достучаться, число попыток) radio.enableAckPayload(); //разрешить отсылку данных в ответ на входящий сигнал radio.setPayloadSize(32); //размер пакета, в байтах radio.openReadingPipe(1, address[0]); //хотим слушать трубу 0 radio.setChannel(0x60); //выбираем канал (в котором нет шумов!) radio.setPALevel (RF24_PA_MAX); //уровень мощности передатчика. На выбор RF24_PA_MIN, RF24_PA_LOW, RF24_PA_HIGH, RF24_PA_MAX radio.setDataRate (RF24_250KBPS); //скорость обмена. На выбор RF24_2MBPS, RF24_1MBPS, RF24_250KBPS //должна быть одинакова на приёмнике и передатчике! //при самой низкой скорости имеем самую высокую чувствительность и дальность!! radio.powerUp(); //начать работу radio.startListening(); //начинаем слушать эфир, мы приёмный модул } void loop() { byte pipeNo; while ( radio.available(&pipeNo)) { // слушаем эфир со всех труб radio.read( &recieved_data, sizeof(recieved_data) ); // чиатем входящий сигнал analogWrite(relay, recieved_data[0]); //то бишь 0 или 1 analogWrite(relay3, recieved_data[1]); analogWrite(mosfet, recieved_data[2]); analogWrite(relay1, recieved_data[3]); analogWrite(relay5, recieved_data[4]); analogWrite(relay4, recieved_data[5]); analogWrite(relay6, recieved_data[6]); analogWrite(relay2, recieved_data[7]); analogWrite(relay7, recieved_data[8]); analogWrite(relay8, recieved_data[9]); digitalWrite(relay51, recieved_data[11]); analogWrite(relay61, recieved_data[10]); } } щалась выполнение кода
нужно организовать проверку, через какие то промежутки времени, получения данных с передатчика. если за это время ничего не получили, то можно считать что связь потеряна и делаете соответствующие выводы.
А, ну точно, Сан Иваныч же будет ещё. Надо докинуть ещё финляндии. На сухую по клаве стучать - только мозоли натирать.