I would like to give a signal to the receiver, but only if each push button on each transmitter are on HIGH.
This is my code for
TX1
#include <SPI.h>
#include "nRF24L01.h"
#include "RF24.h"
int msg[1];
RF24 radio(9,10);
const uint64_t pipe = 0xE8E8F0F0E1LL;
int SW1 = 7;
void setup(void){
Serial.begin(9600);
pinMode(SW1, INPUT);
radio.begin();
radio.openWritingPipe(pipe);}void loop(void){
radio.setPALevel(RF24_PA_MIN);
if (digitalRead(SW1) == HIGH)
{
msg[0] = 111;
radio.write(msg, 1);}
}
TX2
#include <SPI.h>
#include "nRF24L01.h"
#include "RF24.h"
int msg2[1];
RF24 radio(9,10);
const uint64_t pipe = 0xE8E8F0F0E2LL;
int SW1 = 7;
void setup(void){
Serial.begin(9600);
pinMode(SW1, INPUT);
radio.begin();
radio.openWritingPipe(pipe);}void loop(void){
radio.setPALevel(RF24_PA_MIN);
if (digitalRead(SW1) == HIGH)
{
msg2[0] = 111;
radio.write(msg2, 1);}
}
RX
#include <SPI.h>
#include "nRF24L01.h"
#include "RF24.h"
int msg[1];
RF24 radio(9,10);
const uint64_t pipe[] = {0xE8E8F0F0E1LL, 0xE8E8F0F0E2LL};
/*const uint64_t pipe = 0xE8E8F0F0E1LL;*/
int LED1 = 3;
void setup(void){
Serial.begin(9600);
radio.begin();
radio.openReadingPipe(1,pipe[0]);
radio.openReadingPipe(2,pipe[1]);
/*radio.openReadingPipe(1, pipe);*/
radio.startListening();
pinMode(LED1, OUTPUT);}
void loop(void){
if (radio.available()){
bool done = false;
while (radio.available()){
radio.read(msg, 1);
Serial.println(msg[0]);
if (msg[0] == 111){delay(10);digitalWrite(LED1, HIGH);}
else {digitalWrite(LED1, LOW);}
delay(10);
msg[0] == 9;}}
else; {Serial.println("No radio available");
digitalWrite(LED1, LOW);}
}
I know I need to edit some things on the receiver code, but I dont know what to do. Can you please help me fix this, thanks in advance.