NRF24L01 + arduinoNANO
не могу наладить работу приемника и передатчика , буду благодарен и за исправления и за просто направления в которых мне нужно начать читать что бы отладить работу
ArduinoNANO Atmega 328P На приемнике светодиот подклбчен на D3 через резюк На передатчике кнопка подтягивает на D2 либо землю через резистор либо 5В
И НАНО и NRF работают с другими скетчами , этот наладить не получается
Спасибо Transmitter
#include <SPI.h> // Подключаем библиотеку для работы с шиной SPI.
#include <nRF24L01.h> // Подключаем файл настроек из библиотеки RF24.
#include <RF24.h> // Подключаем библиотеку для работы с nRF24L01+.
#define PIN_POT A7 // Номер пина на Ардуино к которому подключен потенциометр
#define PIN_CE 10
#define PIN_CSN 9
RF24 radio(PIN_CE, PIN_CSN);
int dips[2] = {0, 1}; // Объявляем массив для хранения и передачи данных (до 32 байт включительно).
//
void setup(){ //
radio.begin(); // Инициируем работу модуля nRF24L01+.
radio.setChannel(27); // Указываем канал передачи данных (от 0 до 125), 27 - значит передача данных осуществляется на частоте 2,427 ГГц.
radio.setDataRate(RF24_1MBPS); // Указываем скорость передачи данных (RF24_250KBPS, RF24_1MBPS, RF24_2MBPS), RF24_1MBPS - 1Мбит/сек.
radio.setPALevel(RF24_PA_MAX); // Указываем уровень усиления передатчика (RF24_PA_MIN=-18dBm, RF24_PA_LOW=-12dBm, RF24_PA_HIGH=-6dBm, RF24_PA_MAX=0dBm).
radio.openWritingPipe(0xAABBCCDD11LL); // Открываем трубу с адресом 0xAABBCCDD11 для передачи данных (передатчик может одновременно вещать только по одной трубе).
pinMode(2, INPUT); // объявляем пин 2 как вход // Кнопку на вход D2
} //
//
void loop(){ //
if (digitalRead(2) == HIGH) // когда на пин 2 поступает высокий сигнал
{
radio.write( dips[0] , sizeof(dips) ); // Отправляем данные из массива dips указывая весь размер массива в байтах.
}
if (digitalRead(2) == LOW) // когда на пин 2 поступает низкий сигнал
{
radio.write( dips[1] , sizeof(dips) );
}
delay(50);
}
Receiver
#include <SPI.h> // Подключаем библиотеку для работы с шиной SPI.
#include <nRF24L01.h> // Подключаем файл настроек из библиотеки RF24.
#include <RF24.h> // Подключаем библиотеку для работы с nRF24L01+.
#define PIN_POT A7 // Номер пина на Ардуино к которому подключен потенциометр
#define PIN_CE 10
#define PIN_CSN 9
RF24 radio(PIN_CE, PIN_CSN);
int dipsReceieved [1];
int dips[2] = {0 , 1};
void setup(){ //
radio.begin(); // Инициируем работу nRF24L01+.
radio.setChannel (27); // Указываем канал передачи данных (от 0 до 125), 27 - значит приём данных осуществляется на частоте 2,427 ГГц.
radio.setDataRate (RF24_1MBPS); // Указываем скорость передачи данных (RF24_250KBPS, RF24_1MBPS, RF24_2MBPS), RF24_1MBPS - 1Мбит/сек.
radio.setPALevel (RF24_PA_MAX); // Указываем мощность передатчика (RF24_PA_MIN=-18dBm, RF24_PA_LOW=-12dBm, RF24_PA_HIGH=-6dBm, RF24_PA_MAX=0dBm).
radio.openReadingPipe (1, 0xAABBCCDD11LL); // Открываем 1 трубу с адресом 1 передатчика 0xAABBCCDD11, для приема данных.
radio.startListening (); // Включаем приемник, начинаем прослушивать открытые трубы.
pinMode(3, OUTPUT); // объявляем пин 3 как выход
} //
void loop()
{ //
if(radio.available()) //
{
radio.read( &dipsReceieved, sizeof(dipsReceieved));
if (dipsReceieved[0] == dips[0])
{
digitalWrite(3, LOW); // выключаем светодиод
}
else
{
digitalWrite(3, HIGH); // зажигаем светодиод
}
//
} //
}