#define RY1_pin 2
#define RY2_pin 3
#define RY3_pin 4
#define RY4_pin 5
#define RY5_pin 6
#define RY6_pin 7
#define RY7_pin 8
#define RY8_pin 9
bool CmdComplete = false; // whether the string is complete
void setup() {
pinMode(RY1_pin,OUTPUT);
pinMode(RY2_pin,OUTPUT);
pinMode(RY3_pin,OUTPUT);
pinMode(RY4_pin,OUTPUT);
pinMode(RY5_pin,OUTPUT);
pinMode(RY6_pin,OUTPUT);
pinMode(RY7_pin,OUTPUT);
pinMode(RY8_pin,OUTPUT);
Serial.begin(9600);
Serial.print("Please...Wrinte RY01N or RY01F");
}
void loop()
{
if(CmdComplete)
{
CmdComplete = false;
myRelayControl(); // Please wait in NextStep 😊
}
}
unsigned char RxBuff[16];
unsigned char RxCount = 0 ;
void serialEvent(){
while(Serial.available())
{
// get the new byte:
unsigned char inChar = (char)Serial.read();
RxBuff[RxCount] = inChar;
Serial.write(RxBuff[RxCount]);
if(RxBuff[0] == 'R')
{
if((RxCount==4) || (RxBuff[RxCount] == '#'))
{
CmdComplete = true;
RxCount = 0; return;
}
// Serial.print(RxCount);
RxCount++;
}
}
}
void myRelayControl(void)
{ //------ RYnnN , RYnnF
if((RxBuff[1] == 'Y') && (RxBuff[2] == '0'))
{
//------ Relay Channel Number is 1 ----------
if(RxBuff[3] == '1')
{
if(RxBuff[4] == 'T') digitalWrite(RY1_pin,HIGH);
if(RxBuff[4] == 'F') digitalWrite(RY1_pin,LOW);
}
//------ Relay Channel Number is 2 ----------
if(RxBuff[3] == '2')
{
if(RxBuff[4] == 'T') digitalWrite(RY2_pin,HIGH);
if(RxBuff[4] == 'F') digitalWrite(RY2_pin,LOW);
}
//------ Relay Channel Number is 3 ----------
if(RxBuff[3] == '3')
{
if(RxBuff[4] == 'T') digitalWrite(RY3_pin,HIGH);
if(RxBuff[4] == 'F') digitalWrite(RY3_pin,LOW);
}
//------ Relay Channel Number is 4 ----------
if(RxBuff[3] == '4')
{
if(RxBuff[4] == 'T') digitalWrite(RY4_pin,HIGH);
if(RxBuff[4] == 'F') digitalWrite(RY4_pin,LOW);
}
//------ Relay Channel Number is 5 ----------
if(RxBuff[3] == '5')
{
if(RxBuff[4] == 'T') digitalWrite(RY5_pin,HIGH);
if(RxBuff[4] == 'F') digitalWrite(RY5_pin,LOW);
}
//------ Relay Channel Number is 6 ----------
if(RxBuff[3] == '6')
{
if(RxBuff[4] == 'T') digitalWrite(RY6_pin,HIGH);
if(RxBuff[4] == 'F') digitalWrite(RY6_pin,LOW);
}
//------ Relay Channel Number is 7 ----------
if(RxBuff[3] == '7')
{
if(RxBuff[4] == 'T') digitalWrite(RY7_pin,HIGH);
if(RxBuff[4] == 'F') digitalWrite(RY7_pin,LOW);
}
//------ Relay Channel Number is 8 ----------
if(RxBuff[3] == '8')
{
if(RxBuff[4] == 'T') digitalWrite(RY8_pin,HIGH);
if(RxBuff[4] == 'F') digitalWrite(RY8_pin,LOW);
}
}
}