sabato 3 dicembre 2016

IR Tester

Progetto IR TESTER

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