как соеденить два модуля nrf24l01?
- Войдите на сайт для отправки комментариев
Вс, 15/04/2018 - 18:12
Приветствую всех!
Такая проблема:
имеется два радиомодуля NRFL2401, один модуль подключен к Arduino Nano(передатчик) второй к Arduino Uno(приемник)
к передатчику подключена кнопка, а к приемнику подключен светодиод.Надо сделать так,чтобы при нажатии на кнопку загорался светодиод на приемнике, а при отжатии кнопки светодиод погас
В данный момент у меня так не выходит, а получается так,что при подключении обеих плат светодиод сразу загорается и никак не раегирует
Код передатчика:
#include<SPI.h>
#include "nRF24L01.h"
#include "RF24.h"
int msg[1];
RF24 radio(7,8);
const uint64_t pipe = 0xE8E8F0F0E1LL;
int SW1 = 2;
void setup(void){
Serial.begin(9600);
radio.begin();
radio.openWritingPipe(pipe);}
void loop(void){
if (digitalRead(SW1) == HIGH){
msg[0] = 111;
radio.write(msg, 1);
}
}
Код приемника:
#include<SPI.h>
#include "nRF24L01.h"
#include "RF24.h"
int msg[1];
RF24 radio(7,8);
const uint64_t pipe = 0xE8E8F0F0E1LL;
int LED1 = 2;
void setup(void){
Serial.begin(9600);
radio.begin();
radio.openReadingPipe(1,pipe);
radio.startListening();
pinMode(LED1, OUTPUT);}
void loop(void){
if (radio.available()){
bool done = false;
while (!done){
done = radio.read(msg, 1);
Serial.println(msg[0]);
if (msg[0] == 111){delay(10);digitalWrite(LED1, HIGH);}
else {digitalWrite(LED1, LOW);}
delay(10);}}
else{Serial.println("No radio available");
}
}
Как исправить код, чтобы получить то,что надо?
Расшифруйте " к передатчику подключена кнопка".
не правильно выразился. Передатчик подключен к плате Arduino Nano,и к этой же плате подключена кнопка
Приёмник подключен к Arduino Uno, и этой жен плате Uno подключен светодиод