Ciao a tutti!
Ho provato a utilizzare la comunicazione seriale tra due Arduino uno ( che chiamero A e B), utilizzando gli appositi pin TX e RX.
Scopo:
Per poter pilotare un relay collegato ad Arduino A ho previsto un pulsante collegato in pulldown ad Arduino B utilizzando il codice qui sotto, il tutto funziona bene (o quasi), solo che a volte premendo il pulsante non accade nulla, quindi credo che il codice non sia propriamente corretto, o meglio instabile.
Codice Arduino A:
if (Serial.available()) {
char H, attivorelay= Serial.read();
delay(10);
if (attivorelay== H) {
Serial.println("Relay Attivo");
digitalWrite(9, HIGH); //Attivo Relay
delay(100);
}
}
if (digitalRead(11) == HIGH) { //pulsante di spegnimento
Serial.println("Relay spento");
digitalWrite(9, LOW); //Spego Relay
char R; //PER RESETTARE
attivorelay=R;
}
Codice Arduino B:
if (Serial.available()){
if (digitalRead(12) == HIGH) {
char H,R,pulsante = H;
Serial.write(pulsante);
Serial.println(pulsante);
delay(100);
pulsante = R;
/*rendo pulsante diverso da H per evitare che di avere il relay acceso dopo averlo spento con altra funzione*/
Serial.write(pulsante);
Serial.println(pulsante);
delay(100);
}
}
Suggerimenti per questa problematica? vanno bene anche soluzioni exnovo