Arduino: controllo Led con Infrarossi

Ciao a tutti!

In questa guida vi illustrerò come creare un progetto con Arduino che farà accendere dei LED a seconda del pulsante premuto da un telecomando di una TV.

Per prima cosa abbiamo bisogno di:

– Un ricevitore infrarossi

– 4 Led

– 4 resistori da 220ohm

– Cavi per collegamenti

– Breadboard (Basetta)

– Arduino Uno

Sketch:

[c]
#include <IRremote.h>
//inizializzo e definisco le variabili con le porte della scheda
int RECV_PIN = 3;
int led1 = 2;
int led2 = 4;
int led3 = 7;
int led4 = 8;
int itsONled[] = {0, 0, 0, 0, 0};
//codici dei pulsanti del telecomando
#define code1 65160
#define code2 33772
#define code3 52972
#define code4 3494

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()
{
Serial.begin(9600);
irrecv.enableIRIn();
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
}

void loop() {
if (irrecv.decode(&results)) {
unsigned int value = results.value;
switch (value) {
case code1:
if (itsONled[1] == 1) {
digitalWrite(led1, LOW);
itsONled[1] = 0;
} else {
digitalWrite(led1, HIGH);
itsONled[1] = 1;
}
break;
case code2:
if (itsONled[2] == 1) {
digitalWrite(led2, LOW);
itsONled[2] = 0;
} else {
digitalWrite(led2, HIGH);
itsONled[2] = 1;
}
break;
case code3:
if (itsONled[3] == 1) {
digitalWrite(led3, LOW);
itsONled[3] = 0;
} else {
digitalWrite(led3, HIGH);
itsONled[3] = 1;
}
break;
case code4:
if (itsONled[4] == 1) {
digitalWrite(led4, LOW);
itsONled[4] = 0;
} else {
digitalWrite(led4, HIGH);
itsONled[4] = 1;
}
break;
}

Serial.println(value);
irrecv.resume();
}
}
[/c]

Una volta aperto il file “.ino” bisognerà caricarlo sulla scheda e aprire il monitor seriale, ad ogni tasto del telecomando corrisponde un codice questo codice andrà copiato nella programmazione al posto di queste “x”.

#define code1 xxxxx
#define code2 xxxxx
#define code3 xxxxx
#define code4 xxxxx

Adesso il nostro codice è pronto !

Non ci resta che fare i collegamenti e il gioco è fatto!

WP_20141022_004

Ecco il video del funzionamento: https://www.youtube.com/watch?v=hORU1QO_ivw

Vi allego anche altre foto:

WP_20141022_007 WP_20141022_006 WP_20141022_005