buongiorno a tutti…
ho terminato la mia applicazione per accendere e spegnere modem e tv utilizzando IR -relè-arduino mini…
direi che funziona tutto bene… però c’è un “baco” non so se SOftware o hardware ( radiocomando)!
il programma è semplicissimo quando premo tasto 1 del radiocomando attiva relè 1 e accende modem quando premo tasto 2 diseccito relè e spengo modem… il problema è che per accendere o spegnere capita che devo premere anche 2 o 3 volte i tasti!
potrebbe essere semplicemente il radiocomando oppure si può fare qualcosa via software??
allego mio scetKch se qualcuno mi può aiutaRE … grazie !!
#include <IRremote.h>
//#include <IRremoteInt.h>
int ledPin2 = 8;
int ledPin3 = 9;
int buzzer = 11;
int RECV_PIN = 10;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup (void)
{
pinMode(ledPin2,OUTPUT);
pinMode(ledPin3,OUTPUT);
pinMode(buzzer,OUTPUT);
pinMode(RECV_PIN,INPUT);
Serial.begin(9600);
digitalWrite(ledPin2,HIGH);
digitalWrite(ledPin3,HIGH);
irrecv.enableIRIn(); // Start the receiver
}
void loop(void)
{
if (irrecv.decode(&results)) {
Serial.println(results.value);
if (results.value==0xF076C13B) {Serial.println("Modem ON");
tone(buzzer, 900);
delay(400);
noTone(buzzer);
digitalWrite(ledPin2,LOW);}
if (results.value==0xA3C8EDDB) {Serial.println("Modem OFF");
tone(buzzer, 700);
delay(500);
noTone(buzzer);
digitalWrite(ledPin2,HIGH);}
if (results.value==0xE5CFBD7F) {Serial.println("TV ON");
tone(buzzer, 900);
delay(400);
noTone(buzzer);
digitalWrite(ledPin3,LOW);}
if (results.value==0xC101E57B) {Serial.println("TV OFF");
tone(buzzer, 700);
delay(500);
noTone(buzzer);
digitalWrite(ledPin3,HIGH);}
irrecv.resume(); // Receive the next value
}
}
Quotare il tuo post non serve, la gente può leggerlo più sopra.
Se nessuno ti ha risposto può essere che nessuno ha un’idea del perché. Poi senza il tuo specifico HW sottomano è difficile fare un controllo…
Prova tu a fare un pò di debug stampando sulla seriale il comando che arriva per vedere se la prima volta viene spedito male oppure se arriva correttamente.
comunque ho provato ed in effetti da monitor seriale vedo che ogni volta che premo in effetti arriva qualcosa … ma è come se non venisse riconosciuto! ho solo bisogno di sapere se secondo te è risolvibile con qualche artificio software?
Controlla allora se effettivamente il relé scatta al primo impulso, perché allora potrebbe essere un problema hardware e non software.
Come hai collegato il tutto? Che circuito usi? Le alimentazioni?
Puoi postare uno schema?
ciao, intanto grazie!
questa sera cerco di riassumerti il tutto... però sempre dal monitor seriale mi sembra che quando premo il pulsantino del radiocomando arriva un segnale che non è quello che corrisponde al tasto premuto!
Alcuni telecomandi se tieni premuto il tasto spediscono il tasto una volta ma poi spediscono di continuo un codice univoco che indica tasto ripetuto.
Alcuni telecomandi invece se tieni premuto il tasto continuano a spedire lo stesso valore.
Non sò se è il tuo caso.
ieri sera ho rifatto prove con radiocomando e dal monitor seriale ho notato 3 anomalie...
ogni tanto sul monitor comparivano dei numeri senza che io premessi nessun tasto...
se premevo un tasto a lungo inviava sempre il medesimo codice
premendo il medesimo tasto vedevo codici diversi!!!?
a questo punto penso sia un problema Hardware di collegamenti o saldature mal eseguite che quindi DISTURBANO i segnali!
cosa ne pensate?
grazie mille
massi
allora risaldato tutti i cavi … ma purtroppo le cose sono migliorate solo in parte… i disturbi sono spariti…
ma quando premo un tasto il codice può non essere lo stesso…ho provato a cambiare radiocomando ,., ma succede sempre la stessa cosa,… ogni tot. volte si produce un codice sbagliato…
allego foto con codice letti su monitor seriale… se qualcuno mi può aiutare!!! =(
Fossi te proverei uno sketch senza tone() o altro. Puro puro, solo IRRemote e stampi su serial monitor i tasti e vedi se così ancora ci sono tasti anomali.
buongiorno,
ieri sera ho eliminato dal software tutti i comandi di " tone", ma purtroppo continuo ad avere ( con 2 radiocomandi diversi) sempre dei codici diversi premendo il medesimo tasto... c'è un sistema per pulire i segnali via software?