claudiomagic Inserito: 7 settembre 2016 Segnala Inserito: 7 settembre 2016 Gentili appassionati, Sono alle prese con un progetto ,il quale mi dovrebbe semplificare la vita quotidiana. Seduto nella mia poltrona quando guardo la tv devo comandare due relè da tasti che non uso comunemente del mio telecomando. Grazie allo sketch di un nostro appassionato sono riuscito nell'intento ma solo in parte. Cambiando ovviamente il codice dei tasti del mio telecomando sotto i due sketch : TASTO ROSSO #include <IRremote.h> int RECV_PIN = 11; IRrecv irrecv(RECV_PIN); decode_results results; String stato; void setup() { pinMode(2, OUTPUT); Serial.begin(9600); irrecv.enableIRIn(); // Start the receiver } void loop() { if (irrecv.decode(&results)) { Serial.println(results.value); if((results.value == 0x20DF4EB1) ){ stato = "acceso1"; digitalWrite(2, HIGH); delay (400); digitalWrite(2, LOW); } else if (results.value == 1) { stato = "acceso2"; digitalWrite(3, HIGH); } else if (results.value == 1) { stato = "acceso3"; digitalWrite(4, HIGH); } else if (results.value == 1) { stato = "mantieniacceso"; } else { stato = "spento"; }; if(stato == "acceso1"){ digitalWrite(2, HIGH); delay (400); digitalWrite(2, LOW); } else if (stato == "acceso2") { digitalWrite(3, HIGH); } else if (stato == "acceso3") { digitalWrite(4, HIGH); } else if (stato == "mantieniacceso") { } else if (stato == "spento") { digitalWrite(4, LOW); digitalWrite(3, LOW); digitalWrite(2, LOW); }; irrecv.resume(); // Receive the next value } } TASTO BLU #include <IRremote.h> int RECV_PIN = 11; IRrecv irrecv(RECV_PIN); decode_results results; String stato; void setup() { pinMode(3, OUTPUT); Serial.begin(9600); irrecv.enableIRIn(); // Start the receiver } void loop() { if (irrecv.decode(&results)) { Serial.println(results.value); if((results.value == 0x20DF8679) ){ stato = "acceso1"; digitalWrite(3, HIGH); delay (400); digitalWrite(3, LOW); } else if (results.value == 1) { stato = "acceso2"; digitalWrite(3, HIGH); } else if (results.value == 1) { stato = "acceso3"; digitalWrite(4, HIGH); } else if (results.value == 1) { stato = "mantieniacceso"; } else { stato = "spento"; }; if(stato == "acceso1"){ digitalWrite(2, HIGH); delay (400); digitalWrite(2, LOW); } else if (stato == "acceso2") { digitalWrite(3, HIGH); } else if (stato == "acceso3") { digitalWrite(4, HIGH); } else if (stato == "mantieniacceso") { } else if (stato == "spento") { digitalWrite(4, LOW); digitalWrite(3, LOW); digitalWrite(2, LOW); }; irrecv.resume(); // Receive the next value } } IL mio problema e che funzionano bene singolarmente ma non riesco a combinare i due sketch insieme. Grazie
walterword Inserita: 9 settembre 2016 Segnala Inserita: 9 settembre 2016 in ogni sketch puoi avere solo una funzione setup() ed una loop() . Per cui devi accoppiare il codice delle due funzioni setup e loop e in una sola setup e una sola loop , stando attento a non sovrascrivere le variabili che usi . Se le due funzioni loop usano le stesse variabili ne mantieni una e l'altra la inventi come nuova a la usi al posto della seconda variabile
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora