IR e arduino MINI

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
  }
  }

nessuno sai darmi un consiglio?? =(

Quotare il tuo post non serve, la gente può leggerlo più sopra. :wink:
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.

hai ragione , scusa…

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?

grazie
massi

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!

provo stasera e poi ti posto il risultato!
grazie

massi

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.

questa mi è nuova!!
allora stasera provo a vedere cosa succede !

grazie
massi

rieccomi !!!

ieri sera ho rifatto prove con radiocomando e dal monitor seriale ho notato 3 anomalie...

  1. ogni tanto sul monitor comparivano dei numeri senza che io premessi nessun tasto...
  2. se premevo un tasto a lungo inviava sempre il medesimo codice
  3. 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.

..grazie .. in effetti mi sembrava di avere avuto dei problemi inizialmente a fare convivere le due librerie!

stasera provo
grazie mille
massib

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?

grazie
saluti
massib