Ciao a tutti,
avendo da poco acquistato il mio primo Arduino (un NANO 33 IoT) ho pensato di cimentarmi con alcuni dei progetti più classici: illuminazioni di led, gestione di piccoli schermi OLED e uso degli IR.
Non essendo digiuno di programmazione e piccola elettronica è andato tutto bene finché non mi sono scontrato con l'uso degli infrarossi.
Il programma che sto' cercando di realizzare è nulla più di un telecomando per la mia SMART Tv SAMSUNG. Avendo spulciato su vari forum ho trovato diverse porzioni di codice (anche vecchie di parecchi anni) che mi hanno messo solo una enorme confusione su quali siano i comandi giusti da usare. In particolare ho provato a caricare il seguente codice per provare ad accendere e spegnere la TV ma non ho ricevuto alcun risultato, nemmeno posizionando il led infrarosso sotto il ricevitore e in ambiente buio per evitare il rumore.
#include <IRremote.h>
#define POWER 0xE0E040BF //from IRrecvDemo, Ken Shirriff
#define SAMSUNG_BITS 32
IRsend irsend;
void setup()
{
pinMode (3, OUTPUT); //output as used in library
}
void loop() {
irsend.sendSAMSUNG(POWER, SAMSUNG_BITS);
delay (5000);
}//end of loop
A livello circuitale funziona tutto in quanto ho testato il led con il comando diglitalWrite(3, HIGH); e la fotocamera del cellulare e riesco senza problemi a farlo accendere.
Sapreste dirmi dove sbaglio?
@AndrewTWayne : mi raccomando, in conformità al REGOLAMENTO, il codice deve essere racchiuso tra i tag code ... in pratica, dopo che lo hai inserito, lo selezioni ed usi il bottone </>. Grazie.
Purtroppo al momento non ho a disposizione un ricevitore IR per poter decodificare i segnali del telecomando, perciò ho confidato in parte nel fatto che ormai da anni Samsung usa gli stessi codici IR proprio per non produrre un solo tipo di telecomando. Però ho anche cercato per diversi giorni e tutti le tabelle che ho trovato (nonché i codici per arduino) riportano questo codice hex per ON/OFF e lo standard dei bit è 32. Ci sono anche tv a 16 ma dovrebbero essere molto più vecchi del mio serie 6.
Il dubbio che mi viene è che tali archivi di frequenze siano troppo datati ma in giro non trovo altro.
Quando si ottiene un ricevitore IR, lo consiglio
leggi questa pagina: Control remoto IR. – Hispavila.com
Porta un esempio per ottenere i codici di qualsiasi telecomando.
Saluti.
Negli esempi della libreria IR c'e' anche un dump ... qualcosa, non ricordo il nome.
Ti fa il dump del codice del tasto ma ti dice anche se viene riconosciuto come "samsung", "lg", etc.
Appena possibile penso che lo farò ma così potrei testare solo se l'invio dei comandi è funzionante.
Volendo assemblare un telecomando universale, ciò che mi tornerebbe utile è una sorta di tabella riepilogativa dei codici più usati.In questo modo potrei, a mia discrezione, passare da un protocollo all'altro direttamente da programma.
Se sei certo dell'esattezza dei codici si. Ad esempio per varie mie applicazioni l'unica soluzione è stata copiare il codice direttamente dal telecomando usando un ir-receiver e l'iesempio dev2 della libreria di cui parli.
Non è così facile ...
... nei telecomandi IR non solo cambia la codifica, ma può anche cambiare la frequenza della portante.
Se cerchi, da anni suggerisco qui sul forum, a chi vuole dedicarsi seriamente alla cosa, l'acquisto del software AnalysIR (... viene venduto ad una cifra più che abbordabile) che permette la completa analisi di ciò che un telecomando trasmette ed è in grado di generare il codice per clonare i comandi.
Guglielmo va detto però che la maggiorparte dei telecomandi usano segnali a 38KHz e che quindi si riesce a clonare via sw quasi tutto. Dico quasi tutto...
Hai mai comprato un telecomando universale, di quelli già programmati non quelli che apprendono? Hai mai visto il volumetto che lo accompagna con tutti i codici?
Sembra che ogni volta ne abbiano inventato uno, non solo cambiano fra aziende ma cambiano anche fra i prodotti della stessa azienda.
La libreria individua alcune famiglie ma poi c'è da smanettare.