Answered step by step
Verified Expert Solution
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
RF radio; CE CSN
const byte address;
const byte address;
const int waterSensorPin A;
const int waterSensorPin A;
void setup
radio.begin;
radio.setPALevelRFPAMIN;
radio.stopListening;
Serial.begin;
void loop
int waterValue analogReadwaterSensorPin;
int waterValue analogReadwaterSensorPin;
radio.openWritingPipeaddress;
radio.write&waterValue sizeofwaterValue;
Serial.printSending Water Sensor Value: ;
Serial.printlnwaterValue;
delay;
radio.openWritingPipeaddress;
radio.write&waterValue sizeofwaterValue;
Serial.printSending Water Sensor Value: ;
Serial.printlnwaterValue;
receiver :#include
#include
#include
#include
RF radio; CE CSN
const byte address;
const byte address;
#define LmotorCW
#define LmotorCCW
#define RmotorCW
#define RmotorCCW
#define LmotorSpeed
#define RmotorSpeed
#define waterpump
#define acmotor
int waterValue;
int waterValue;
int state ; : idle, : forward, : stop, : pumping, : backward
void setup
pinModeLmotorCW OUTPUT;
pinModeLmotorCCW OUTPUT;
pinModeRmotorCW OUTPUT;
pinModeRmotorCCW OUTPUT;
pinModewaterpump OUTPUT;
analogWriteLmotorSpeed; Motor L ~
analogWriteRmotorSpeed; Motor R ~
setupRadio;
Serial.begin;
Timerinitialize; ms us
TimerattachInterruptwatercheck; Interrupt
void watercheck
receiveData;
Serial.printState : ;
Serial.printlnstate;
void setupRadio
radio.begin;
radio.setPALevelRFPAMIN;
radio.startListening;
void go
digitalWriteLmotorCW LOW;
digitalWriteLmotorCCW HIGH;
digitalWriteRmotorCW HIGH;
digitalWriteRmotorCCW LOW;
delay;
void stop
digitalWriteLmotorCW LOW;
digitalWriteLmotorCCW LOW;
digitalWriteRmotorCW LOW;
digitalWriteRmotorCCW LOW;
void backward
digitalWriteLmotorCW HIGH;
digitalWriteLmotorCCW LOW;
digitalWriteRmotorCW LOW;
digitalWriteRmotorCCW HIGH;
delay;
void receiveData
if radioavailable
radio.read&waterValue sizeofwaterValue;
Serial.printReceived Water Sensor Value: ;
Serial.printlnwaterValue;
if radioavailable
radio.read&waterValue sizeofwaterValue;
Serial.printReceived Water Sensor Value: ;
Serial.printlnwaterValue;
void loop
switch state
case : idle
if waterValue
delay;
go;
stop;
delay;
state ;
break;
case : forward
digitalWritewaterpump HIGH;
delay;
state ;
break;
case :
delay;
digitalWritewaterpump LOW;
state ;
break;
case : stop
backward;
stop;
state;
break;
problem :Sensor value appears to be overwritten with sensor value
The move you want to do
I want to read the values for Wattersensor and Wattersensor
Please check the code and correct it
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started