In questo progetto imparerai come collegare un controller IR a un Arduino Uno e come definire i pulsanti.
- Livello – Principiante 25%
- Durata – 20/30 Min 35%
- Costi – € 34,35 euro completo 30%
Passaggio 1: requisiti Progetto di controllo remoto IR
Passaggio 2: costruisci e cabla il telecomando IR Arduino
Ora collegheremo il ricevitore IR.
Il ricevitore ha 3 pin, un GND, un VCC e un segnale. Il GND va a GND, il VCC al 5V e il segnale al pin digitale nmr 8.
Passaggio 3: leggi i pulsanti
Ogni pulsante del telecomando ha il proprio codice. Abbiamo bisogno di sapere quali sono questi codici in modo da poterti dire in seguito cosa dovrebbe fare ogni codice.
Per poter leggere i pulsanti è necessario caricare su Arduino il codice sottostante.
#includere
const int RECV_PIN = 8;
IRrecv irrecv(RECV_PIN);
decode_results risultati;
void setup () {
Serial.begin (9600);
irrecv.enableIRIn();
irrecv.blink13(true); †
void loop () {
if (irrecv.decode(&results))
{ Serial.println(risultati.valore, HEX);
irrecv.resume(); †
Se il codice è stato caricato correttamente, puoi leggere i codici tramite il monitor seriale che apri con il pulsante in alto a destra dell'IDE.
Ad ogni pressione di un pulsante compare il codice corrispondente. Se tieni premuto un pulsante mostrerà FFFFFFFF.
Passaggio 4: dare valore ai codici
Nel passaggio precedente abbiamo imparato a leggere i codici. Poiché è difficile ricordare quale codice appartiene a quale pulsante, ora assegneremo a ciascun codice un proprio valore. Il pulsante 1 diventa 1, il pulsante 2 diventa 2, ecc.
#includere
const int RECV_PIN = 8;
IRrecv irrecv(RECV_PIN);
decode_results risultati;
valore_chiave lungo senza segno = 0;
void setup () {
Serial.begin (9600);
irrecv.enableIRIn();
irrecv.blink13(true); †
void loop () {
if (irrecv.decode(&results)) {
se (results.value == 0XFFFFFFFF)
Serial.println(risultati.valore, HEX);
irrecv.resume();
switch(risultati.valore){
caso 0xFFA25D:
Serial.println("1");
rompere; caso 0xFF629D: Serial.println(“2”);
rompere; caso 0xFFE21D: Serial.println(“3”);
rompere; caso 0xFF22DD: Serial.println(“4”);
rompere; caso 0xFF02FD: Serial.println(“5”);
rompere ; caso 0xFFC23D: Serial.println(“6”);
rompere ; caso 0xFFE01F: Serial.println(“7”);
rompere ; caso 0xFFA857: Serial.println(“8”);
rompere ; caso 0xFF906F: Serial.println("9");
rompere ; caso 0xFF6897: Serial.println(“*”);
rompere ; caso 0xFF9867: Serial.println(“0”);
rompere ; caso 0xFFB04F: Serial.println(“#”);
rompere ; caso 0xFF18E7: Serial.println("UP");
rompere ; caso 0xFF7A85: Serial.println("OK");
rompere ; caso 0xFF10EF: Serial.println("SINISTRA");
rompere ; caso 0xFF38C7: Serial.println("OK");
rompere ; caso 0xFF5AA5: Serial.println("DESTRA");
rompere ; caso 0xFF4AB5: Serial.println("DOWN");
rompere ; } valore_chiave = risultati.valore; irrecv.resume(); †
Come nel passaggio precedente, apriamo il monitor seriale nell'IDE. Se premi di nuovo i pulsanti sul telecomando, dovresti ottenere lo stesso risultato dell'immagine qui sotto.
Naturalmente, questa è solo la base di ciò che puoi fare con questo telecomando a infrarossi. Modifica il codice per accendere diversi led o crea un robot telecomandato.