Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Arduino question sender : #include #include #include RF 2 4 radio ( 7 , 8 ) ; / / CE , CSN const byte address

Arduino question
sender :
#include
#include
#include
RF24 radio(7,8); // CE, CSN
const byte address1[6]="00010"; //
const byte address2[6]="00000"; //
const int waterSensorPin1= A0;
const int waterSensorPin2= A5;
void setup(){
radio.begin();
radio.setPALevel(RF24_PA_MIN); //
radio.stopListening(); //
Serial.begin(9600); //
}
void loop(){
int waterValue1= analogRead(waterSensorPin1);
int waterValue2= analogRead(waterSensorPin2);
//
radio.openWritingPipe(address1);
radio.write(&waterValue1, sizeof(waterValue1));
Serial.print("Sending Water Sensor1 Value: ");
Serial.println(waterValue1);
delay(10);
//
radio.openWritingPipe(address2);
radio.write(&waterValue2, sizeof(waterValue2));
Serial.print("Sending Water Sensor2 Value: ");
Serial.println(waterValue2);
}
receiver :#include
#include
#include
#include
RF24 radio(7,8); // CE, CSN
const byte address1[6]="00010"; //
const byte address2[6]="00000"; //
#define LmotorCW 5
#define LmotorCCW 6
#define RmotorCW 9
#define RmotorCCW 10
#define LmotorSpeed 3
#define RmotorSpeed 4
#define waterpump 2
#define acmotor 1
int waterValue1=0;
int waterValue2=0;
int state =0; //0: idle, 1: forward, 2: stop, 3: pumping, 4: backward
void setup(){
pinMode(LmotorCW, OUTPUT);
pinMode(LmotorCCW, OUTPUT);
pinMode(RmotorCW, OUTPUT);
pinMode(RmotorCCW, OUTPUT);
pinMode(waterpump, OUTPUT);
analogWrite(LmotorSpeed,255); // Motor L (0~255)
analogWrite(RmotorSpeed,130); // Motor R (0~255)
setupRadio();
Serial.begin(9600);
Timer1.initialize(300000); //500ms =500000us
Timer1.attachInterrupt(watercheck); // Interrupt
}
void watercheck(){
receiveData();
// Serial.print("State : ");
// Serial.println(state);
}
void setupRadio(){
radio.begin();
radio.setPALevel(RF24_PA_MIN); //
radio.startListening(); //
}
void go(){
digitalWrite(LmotorCW, LOW);
digitalWrite(LmotorCCW, HIGH);
digitalWrite(RmotorCW, HIGH);
digitalWrite(RmotorCCW, LOW);
delay(2000);
}
void stop(){
digitalWrite(LmotorCW, LOW);
digitalWrite(LmotorCCW, LOW);
digitalWrite(RmotorCW, LOW);
digitalWrite(RmotorCCW, LOW);
}
void backward(){
digitalWrite(LmotorCW, HIGH);
digitalWrite(LmotorCCW, LOW);
digitalWrite(RmotorCW, LOW);
digitalWrite(RmotorCCW, HIGH);
delay(2000);
}
void receiveData(){
if (radio.available()){
radio.read(&waterValue1, sizeof(waterValue1)); //
Serial.print("Received Water Sensor Value1: ");
Serial.println(waterValue1);
}
if (radio.available()){
radio.read(&waterValue2, sizeof(waterValue2)); //
Serial.print("Received Water Sensor Value2: ");
Serial.println(waterValue2);
}
}
void loop(){/*
switch (state){
case 0: // idle
if (waterValue1>=690){
delay(3000);
go();
stop();
delay(300);
state =1;
}
break;
case 1: // forward
digitalWrite(waterpump, HIGH);
delay(100);
state =2;
break;
case 2:
delay(3000);
digitalWrite(waterpump, LOW);
state =3;
break;
case 3: // stop
backward();
stop();
state=0;
break;
}
*/}
problem :Sensor2 value appears to be overwritten with sensor1 value
The move you want to do
I want to read the values for Wattersensor1 and Wattersensor2
Please check the code and correct it

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Advances In Databases And Information Systems Uropean Conference Adbis 2020 Lyon France August 25 27 2020 Proceedings Lncs 12245

Authors: Jerome Darmont ,Boris Novikov ,Robert Wrembel

1st Edition

3030548317, 978-3030548315

More Books

Students also viewed these Databases questions

Question

Instructions were incomplete. Please complete

Answered: 1 week ago