третий день воюю .не магу понять как вставить в приемник nrf24 включение (реле ,диода) на оналоговом выходе
- Войдите на сайт для отправки комментариев
Пнд, 15/04/2019 - 22:16
добрый вечер ! помогите третий день воюю .не магу понять как вставить в приемник nrf24 включение (реле ,диода) на оналоговом выходе . вот мой исходник
#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[7]; // массив принятых данных
byte relay = 2; // реле на 2 цифровом
byte relay1= 4; // сервопривод на 3 цифровом
byte mosfet = 8; // мосфет на 5 цифровом (ТУТ ЕСТЬ ШИМ!!!)
byte relay2 = 11;
byte relay4 = 3;
byte relay3 = 7;
byte relay5 = 6;
byte relay6 = 5;
byte relay7 = 10;
byte relay8 = 9;
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);
analogWrite(relay6, OUTPUT);
pinMode(relay7, OUTPUT);
pinMode(relay8, 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(relay4, recieved_data[5]);
analogWrite(relay5, recieved_data[4]);
analogWrite(relay6, recieved_data[6]);
}
}
http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukomment...
[quote=Ruslan soloduch]
добрый вечер ! помогите третий день воюю .не магу понять как вставить в приемник nrf24 включение (реле ,диода) на оналоговом выходе . вот мой исходник
#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[7]; // массив принятых данных byte relay = 2; byte relay1= 4; byte mosfet = 8; byte relay2 = 11; byte relay4 = 3; byte relay3 = 7; byte relay5 = 6; byte relay6 = 5; byte relay7 = 10; byte relay8 = 9; 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); analogWrite(relay6, OUTPUT); pinMode(relay7, OUTPUT); pinMode(relay8, 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(relay1, recieved_data[3]); analogWrite(relay4, recieved_data[5]); analogWrite(relay5, recieved_data[4]); analogWrite(relay6, recieved_data[6]); } }тема закрыта разобрался