Copiare un telecomando IR

Ciao a tutti! Intanto mi auguro sia la giusta sezione! Vi seguo da un po e da un po cerco di estrapolare dalle vostre discussioni informazioni importanti per me che sono agli inizi di questa avventura! Vi chiedo un consiglio per realizzare un "semplice" progetto. Ho arduino uno rev 3, avrei la necessità di copiare il comando di ON/OFF proveniente da un qualsiasi telecomando per riprodurlo tramite trasmettitore IR nel momento in cui io mando un determinato impulso.
In parole povere... io punto il telecomando che mi servirebbe copiare al ricevitore IR collegato ad arduino, lui me lo salva e lo tiene in memoria. Nel momento in cui premo un pulsante lui emette lo stesso codice attraverso il trasmettitore IR. Ho già scaricato la libreria IR e sono riuscito a comandare il televisore. Il problema è, cosa che a me pare strana ma vista la mia inesperienza prendo per buona, il codice rilevato proveniente dal televisore me lo salva come UNKNOWN e in raw senza problemi. Riesco ad inviarlo e far funzionare il televisore. Cambiando telecomando ed utilizzando quello del clima vedo che me lo riconosce come protocollo NEC, e lo salva. Ma il clima non va. Secondo voi puo essere un problema di harware? Software? =( =( non riesco ad uscirne..spero qualcuno di voi mi possa aiutare!

Grazie in anticipo!

Auguri!!! Prova a cercare nel forum, quanti han cercato di pilotare il clima con IR ma pochi ci sono riusciti.
Una prima cosa è hw, la distanza. Magari il IR di Arduino è troppo distante
Poi è possibile che il clima non voglia solo il comando tipo on/off, ma anche una serie di parametri.
Prova a cercare nei post precedenti.

Ciao,

intanto grazie per la risposta! Ho provato a cercare in post precedenti ma purtroppo non sono riuscito a trovare ciò che fa al caso mio. Io non mi spiego come mai il mio arduino riconosce il protocollo di comunicazione del clima, in questa caso NEC, ma poi ho difficoltà a ritrasmetterlo! In fondo non chiedo la luna...vorrei solo una specie di "specchio" che ritrasmette quello che riceve... o è piu difficile di ciò che sembra o, molto piu probabile, le mie competenze non sono tali da farmi riuscicire!!!

Ciao,
mi sono fatto una cultura su i segnali IR e ti posso dire che quelli dei condizionatori sono una chiavica....
Comunque, io sto portando avanti lo stesso progetto ma mi sono incriccato sul codice perchè ho una esigenza specifica.
Allora, per prima cosa lo devi comandare in raw con una stringa tipo questa:

unsigned int Signal[] = {16383,516,40,24,40,40,116,28,40,384,276,160,28,40,24,40,24,36,40,176,120,300,188,24,44,24,36,28,40,44,2032,68,500,36,244,28,704,28,44,40,1304,264,28,532,40,28,40,104,32,1368,268,596,24,28,28,108,44,544,40,40,92,44,28,528,40,28,40,28,24,40,12,28,1364,244,28,1364,40,132,40,28,16,36,748,28,788,32,552,52,24,24,36,84,1372,24,28,68,24,36,28,16,40,1408,28,40,24,24,48,28,584,156,28,532,252,56,728,560,28,212,52,508,36,28,40,28,40,68,612,160,28,16,556,252,808,84,476,172,28,44,556,268,28,532,92,24,40,28,32,556,44,84,36,40,28,28,520,64,28,40,28,28,28,44,40,1568,32,528,168,28,44,560,24,64,40,28,40,24,44,24,744,32,528,108,28,64,24,16,560,240,56,40,744,28,532,40,228,28,1384,224,572,24,28,40,136,40,520,236,80,480,268,544,36,28,40,64,52,60,40,724,32,1356,252,1372,40,24,36,148,1624,12,56,1464,36,28,40,16,1616,1660,32,524,40,28,28,160,44,516,28,28,28,24,40,28,28,596,184,32,28,1316,28,40,40,28,40,68,560,240,52,756,28,556,120,92,32,504,28,28,40,24,64,28,32,24,740,72,504,252,32,556,184,28,16,544,252,1372,36,56,28,40,64,32,1460,132,80,640,24,40,44,32,576,52,28,40,44,1352,40,40,92,72,28,708,280,28,32,564,24,28,40,28,40,24,16,36,780,28,532,40,40,120,1440,160,80,28,552,52,28,40,24,24,56,24,1416,1824,28,532,236,60,40,728,28,516,28,28,28,160,28,532,264,28,532,136,24,40,28,32,544,240,28,640,28,40,24,28,1384,256,28,532,212,28,564,40,24,36,80,16,756,68,820,28,532,28,28,40,28,40,40,16,572,40,28,28,40,80,576,40,200,560,200,40,548,40,28,64,80,40,548,28,224,28,532,40,24,40,144,560,200,44,548,40,24,36,108,40,548,28,64,148,28,532,40,24,36,192,24,560,172,80,480,92,28,40,24,28,560,40,108,40,24,56,40,728,28,664,668,40,228,560,264,28,532,240,56,40,532,184,28,520,28,24,24,164,40,520,40,24,36,80,40,588,36,28,40,108,16,756,28,16,584,40,28,28,40,84,544,36,28,40,148,560,92,144,84,1356,184,32,28,648,24,40,56,28,1316,40,52,28,40,68,28,1384,36,28,40,120,560,240,56,1292,40,80,24,40,40,28,532,264,28,532,40,108,36,28,56,40}; //AnalysIR Batch Export - RAW

che ho tirato fuori dal telecomando usando il software AnalysIR che è precisissimo.
Poi attenzione all'hardware, perchè ho avuto un problema di codifica del segnale, risolto sostituendo il led ricevitore con un'altro.
Usa sempre il piedino tre per trasmettere il segnale.
Se hai bisogno chiedi pure.
Ma di che marca è lo spitter che devi comandare?

Ciao
Antonio

Ciao Antonio,

intanto ti ringrazio per l'interessamento! Io diciamo che sono agli "inizi" di questo mondo quindi sono un tantino "ignorantello". Ad ogni modo cerco di non perdere le speranze di fronte ai problemi :wink: Il condizionatore che sto usando come prova è un portatile DeLonghi, che uso come cavia per riuscire nel mio intento. Io con il IRrecord della libreria sono riuscito a ricevere il segnale del telecomando che mi riconosce come NEC. Ora prova con il software a decodificare il segnale in raw e ti aggiorno...eventualmente se tu hai uno sketch che potrebbe aiutarmi...sono ben pronto a riceverlo :smiley:

Grazie ancora

Pietro

Non sò se ti può essere utile, ma questo lo uso io per accendere e spegnere il condizionatore con un pulsante, anche se non và come dico io, ma poi se vuoi ti spiego.
Devi scaricarti la libreria IRremote.

//collegare led IR al pin 3
#include <IRremote.h>
//unsigned int Signal[] = {2350,600,1200,600,1150,600,1200,600,600,550,1200,600,600,550,1200,600,600,600,600,550,1200,600,600,550,600,600,600,600,1200,550,600};
unsigned int Signal[] = {16383,516,40,24,40,40,116,28,40,384,276,160,28,40,24,40,24,36,40,176,120,300,188,24,44,24,36,28,40,44,2032,68,500,36,244,28,704,28,44,40,1304,264,28,532,40,28,40,104,32,1368,268,596,24,28,28,108,44,544,40,40,92,44,28,528,40,28,40,28,24,40,12,28,1364,244,28,1364,40,132,40,28,16,36,748,28,788,32,552,52,24,24,36,84,1372,24,28,68,24,36,28,16,40,1408,28,40,24,24,48,28,584,156,28,532,252,56,728,560,28,212,52,508,36,28,40,28,40,68,612,160,28,16,556,252,808,84,476,172,28,44,556,268,28,532,92,24,40,28,32,556,44,84,36,40,28,28,520,64,28,40,28,28,28,44,40,1568,32,528,168,28,44,560,24,64,40,28,40,24,44,24,744,32,528,108,28,64,24,16,560,240,56,40,744,28,532,40,228,28,1384,224,572,24,28,40,136,40,520,236,80,480,268,544,36,28,40,64,52,60,40,724,32,1356,252,1372,40,24,36,148,1624,12,56,1464,36,28,40,16,1616,1660,32,524,40,28,28,160,44,516,28,28,28,24,40,28,28,596,184,32,28,1316,28,40,40,28,40,68,560,240,52,756,28,556,120,92,32,504,28,28,40,24,64,28,32,24,740,72,504,252,32,556,184,28,16,544,252,1372,36,56,28,40,64,32,1460,132,80,640,24,40,44,32,576,52,28,40,44,1352,40,40,92,72,28,708,280,28,32,564,24,28,40,28,40,24,16,36,780,28,532,40,40,120,1440,160,80,28,552,52,28,40,24,24,56,24,1416,1824,28,532,236,60,40,728,28,516,28,28,28,160,28,532,264,28,532,136,24,40,28,32,544,240,28,640,28,40,24,28,1384,256,28,532,212,28,564,40,24,36,80,16,756,68,820,28,532,28,28,40,28,40,40,16,572,40,28,28,40,80,576,40,200,560,200,40,548,40,28,64,80,40,548,28,224,28,532,40,24,40,144,560,200,44,548,40,24,36,108,40,548,28,64,148,28,532,40,24,36,192,24,560,172,80,480,92,28,40,24,28,560,40,108,40,24,56,40,728,28,664,668,40,228,560,264,28,532,240,56,40,532,184,28,520,28,24,24,164,40,520,40,24,36,80,40,588,36,28,40,108,16,756,28,16,584,40,28,28,40,84,544,36,28,40,148,560,92,144,84,1356,184,32,28,648,24,40,56,28,1316,40,52,28,40,68,28,1384,36,28,40,120,560,240,56,1292,40,80,24,40,40,28,532,264,28,532,40,108,36,28,56,40}; //AnalysIR Batch Export - RAW

IRsend irsend;
int buttonPin = 12;

int buttonState = 0;

void setup()
{
  pinMode(buttonPin, INPUT);
  Serial.begin(9600);
}

void loop() {
    buttonState = digitalRead(buttonPin);
    if (buttonState == HIGH)
    {
  irsend.sendRaw(Signal, sizeof(Signal)/sizeof(int), 38);
    }
  
}

Perfetto. Proverò appena a casa...sono riuscito ad avere AnalysIR ma con l'esempio Irsend della libreria copiando il raw non riesco comunque a comandarlo! Ti aggiornerò comunque!! Grazie tante!!!

Prova anche a leggere questo (purtroppo in inglese):

Ciao Ragazzi!!

Ringrazio intanto tutti voi per l'aiuto che mi state dando. Ieri ho provato a smanettare un po ma nada...ho seguito i vostri consigli e quelli del link gentilmente suggoritomi..ma niente! La cosa strana che ho notato però è che esportando il codice che ricevo dal telecomndo originale con AnalysIR in raw, e copiandolo nello sketch per inviarlo tutto sembra apparentemente apposto. Il problema è che analizzando quello che poi invio io dal mio arduino (frutto del raw)e confrontandolo con quello del telecomando...sono praticamente diversissimi. Com'è possibile? se il codice in raw che invio è quello non dovrei quanto meno vederlo uguale??
Non c sto dormendo la notte per sta storia :roll_eyes: :roll_eyes: :roll_eyes:

Spero qualcuno possa illuminarmi...altrimenti sarò costretto io a "illuminare" con della benzina i miei arduino ]:smiley:

Grazie a tutti!!

Ragazzi scusate ma mi viene un dubbio...il negozio di elettronica dal quale mi rifornisco mi ha detto che loro hanno fatto qualcosa del genere e riuscivano con quel ricevitore....ma non sarà davvero quello il problema? Io uso un OS 1838B ma ho letto qua e la che tutti usano la serie TSOP.... non starò sbagliando in quello? :~

Grazie

Prova a cambiarlo. Non credo costi molto.

ciao, ho avuto lo stesso problema qui

ho acquistato analysIR per 7 euro e mi sono ritrovato con il telecomando decodificato, ho cambiato tsop, di tutto e di piu, non sapevo dove sbattere la testa!