Salve a tutti!
Volevo provare ad usare Arduino come un telecomando per accendere/spengere tv e/o radio.
Ho dissaldato un led infrarosso da un vecchio telecomando tv.
L'ho collegato come segue:
- L'anodo ai 5v (tramite resistenza da 47 ohm)
- Il catodo al collettore di un transistor NPN
- L'emettitore a massa
- La base al pin 3 (tramite resistenza da 220 ohm)
Ho fatto un primo tentativo con il codice nell'esempio per accendere/spengere una tv sony:
#include <IRremote.h>
IRsend irsend;
void setup()
{
Serial.begin(9600);
}
void loop() {
for (int i = 0; i < 3; i++) {
irsend.sendSony(0xa90, 12); // Sony TV power code
delay(40);
}
}
Con il codice sovrastante il televisore si accende e si spenge
A questo punto ho voluto provare con altri dispositivi non sony (sennò è troppo semplice :P)
Ho ricercato su google e ho trovato il metodo: irsend.sendRaw
Quindi attraverso lo sketch IRrecvDump ho ottenuto il codice Raw di un pulsante!
E ho utilizzato lo sketch sottostante:
#include <IRremote.h>
IRsend irsend;
unsigned int xPause[] = {-8214, 3450, -1700, 450, -450, 450, -1250, 450, -450, 400, -450, 450, -400, 450, -400, 450, -450, 450, -400, 450, -400, 450, -450, 400, -450, 450, -400, 450, -400, 450, -1300, 450, -400, 450, -450, 400, -450, 450, -400, 450, -450, 400, -450, 450, -400, 450, -1300, 400, -450, 450, -1300, 500, -350, 450, -400, 450, -1300, 450, -1250, 450, -1300, 450, -400, 450, -450, 400, -450, 450, -1250, 450, -450, 400, -1300, 450, -1300, 450, -1250, 450, -1300, 450, -400, 450, -450, 400, -1300, 450, -400, 450, -450, 450, -400, 450, -400, 450, -450, 450, -400, 450, -1300, 400};
void setup()
{
Serial.begin(9600);
}
void loop() {
for (int i = 0; i < 3; i++) {
irsend.sendRaw(xPause,100,38);
delay(50);
}
delay(10);
}
Ho provato anche con il codice Raw del televisore sony e di altri dispositivi ma non c'è verso di farlo funzionare!