如下图,
PC 上位机程序
Arduino 代码:写的有点啰嗦了。
String comdata="";
/*String relay01on="relay01on#",relay01off="relay01off#";
String relay02on="relay02on#",relay02off="relay02off#";
String relay03on="relay03on#",relay03off="relay03off#";
String relay04on="relay04on#",relay04off="relay04off#";
String relay05on="relay05on#",relay05off="relay05off#";
String relay06on="relay06on#",relay06off="relay06off#";
String relay07on="relay07on#",relay07off="relay07off#";
String relay08on="relay08on#",relay08off="relay08off#"; */
int relay1=2,relay2=3,relay3=4,relay4=5,relay5=6,relay6=7,relay7=8,relay8=9;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
Serial.println("RelayControl start, please send control command.");
pinMode(relay1,OUTPUT);
pinMode(relay2,OUTPUT);
pinMode(relay3,OUTPUT);
pinMode(relay4,OUTPUT);
pinMode(relay5,OUTPUT);
pinMode(relay6,OUTPUT);
pinMode(relay7,OUTPUT);
pinMode(relay8,OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
if (Serial.available())
{
while(Serial.available()>0)
{
comdata +=char(Serial.read());
delay(2);
}
if (comdata=="relay01on#") { Serial.println("ON_1"); digitalWrite(relay1,HIGH); }
else if(comdata=="relay01off#") { Serial.println("OFF_1"); digitalWrite(relay1,LOW); }
else if(comdata=="relay02on#") { Serial.println("ON_2"); digitalWrite(relay2,HIGH); }
else if(comdata=="relay02off#") { Serial.println("OFF_2"); digitalWrite(relay2,LOW); }
else if(comdata=="relay03on#") { Serial.println("ON_3"); digitalWrite(relay3,HIGH); }
else if(comdata=="relay03off#") { Serial.println("OFF_3"); digitalWrite(relay3,LOW); }
else if(comdata=="relay04on#") { Serial.println("ON_4"); digitalWrite(relay4,HIGH); }
else if(comdata=="relay04off#") { Serial.println("OFF_4"); digitalWrite(relay4,LOW); }
else if(comdata=="relay05on#") { Serial.println("ON_5"); digitalWrite(relay5,HIGH); }
else if(comdata=="relay05off#") { Serial.println("OFF_5"); digitalWrite(relay5,LOW); }
else if(comdata=="relay06on#") { Serial.println("ON_6"); digitalWrite(relay6,HIGH); }
else if(comdata=="relay06off#") { Serial.println("OFF_6"); digitalWrite(relay6,LOW); }
else if(comdata=="relay07on#") { Serial.println("ON_7"); digitalWrite(relay7,HIGH); }
else if(comdata=="relay07off#") { Serial.println("OFF_7"); digitalWrite(relay7,LOW); }
else if(comdata=="relay08on#") { Serial.println("ON_8"); digitalWrite(relay8,HIGH); }
else if(comdata=="relay08off#") { Serial.println("OFF_8"); digitalWrite(relay8,LOW); }
else {}
comdata="";
}
}