In pratica decodifico e mostro sul LCD il codice dell'tasto premuto con qualsiasi telecomando.
Aggiunto due LED, rosso si accende quando premo 1, verde quando premo 2 e si spengono quando premo 0
Foto:
Codice:
/*
RDecodifica IR per test
*/
#include <IRremote.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd( 3, 4, 5, 6, 7, 8);
const int RECV_PIN = 11;
int redpin=12;
int redpin2=13;
IRrecv irrecv(RECV_PIN);
decode_results results;// simile al discorso che facevamo per la variabile "motore" nel progetto 8
void setup()
{
lcd.begin(16,2);
lcd.setCursor(0,0);
lcd.print("Progetto Berri");
lcd.setCursor(0,1);
lcd.print("IR TESTER");
delay(2000);
lcd.begin(16,2);
lcd.setCursor(0,0);
lcd.print("Premi un tasto");
Serial.begin(9600);// attiviamo il display
irrecv.enableIRIn(); //Avvia ricezione
pinMode(redpin,OUTPUT); //imposta il pin in modalità OUTPUT
pinMode(redpin2,OUTPUT); //imposta il pin in modalità OUTPUT
}
void loop() {
if (irrecv.decode(&results)) // se il sensore infrarosso riceve un'informazione ARDUINO fa quello che c'è in queste parentesi graffe
{
Serial.println(results.value); // scrive sul monitor seriale il valore in un codice numerico numerico del tasto del telecomando che è stato premuto: ogni tasto di ogni telecomando ha un codice
if (results.value==16724175){ // equivale al tasto 1
digitalWrite(redpin,HIGH); //quando premete quel pulsante arduino deve fare questa azione ossia accendere il led
} if(results.value==16738455){
digitalWrite(redpin,LOW); //equivale tasto 0 e spengo il led
}
if (results.value==16718055){ // equivale al tasto 2
digitalWrite(redpin2,HIGH); //quando premete quel pulsante arduino deve fare questa azione ossia accendere il led
} if(results.value==16738455){
digitalWrite(redpin2,LOW); //equivale tasto 0 e spengo il led
}
lcd.print(results.value);
delay(1000);
lcd.begin(6,2);
//lcd.setCursor(5,0);
irrecv.resume(); //Attesa ricezione prossimo valore
}
}
Nessun commento:
Posta un commento