Управление реле. Скетч.
0.0/5 оценка (0 голосов)

byte relayPin[4] = {8, 7, 2, 4};
char input[2];

void setup() {

for (int i = 0; i < 4; i++)
pinMode(relayPin[i], OUTPUT); //объявляем пины с 0 по 3 для управления реле и назначаем их выходными
Serial.begin(9600);
while (!Serial)
{ }
for (int j = 0; j < 4; j++)
digitalWrite(relayPin[j], LOW);//приводим состояние всех реле в положение default/LOW
}

void loop() {
if (Serial.available()>0){
Serial.readBytesUntil(13, input, 2);
int relayNum = input[0]-48;
int statusRelay = input[1]-48;
Serial.println(relayNum);
Serial.println(statusRelay);


if ((statusRelay == 0) || (statusRelay == 1)) {

if ((relayNum == 0) || (relayNum == 1) || (relayNum == 2) || (relayNum == 3)) {
Serial.println("Ok Status Relay");
Serial.println("Ok Relay Number");
digitalWrite(relayPin[relayNum], statusRelay);
}
else {
Serial.println("Invalid Relay Number!");
}
}
else {
Serial.println("Abort");
}
}
}