A principio, estamos usando apenas 4 teclas do controle, sendo que as teclas 4 e 3 ligam e desligam um led conectado na porta pwm 3 do arduino. Veja o sketch:
// Programa controle remoto de tv com display LCD no arduino;
int brilho = 0;
int tempo = 5;
int estado = 1;
float tencao = 0;
// PARAMETROS DO LCD ****************************************
#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
#define I2C_ADOR 0x3F // <<
#define BACKLIGHT_PIN 3
#define En 2
#define Rw 1
#define Rs 0
#define D4 4
#define D5 5
#define D6 6
#define D7 7
LiquidCrystal_I2C lcd(I2C_ADOR,En,Rw,Rs,D4,D5,D6,D7);
// **********************************************************
#include <IRremote.h>
int RECV_PIN = 13;
int comando = 0;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
Serial.begin(9600);
lcd.begin (16,2);
lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);
lcd.setBacklight(HIGH);
irrecv.enableIRIn(); // Start the receiver
}
void loop()
{
if (irrecv.decode(&results))
{
Serial.println(results.value, DEC);
comando = results.value, DEC;
Serial.print("Comando = ");
Serial.println(comando);
// Inicio dos if's das teclas do controle:
if(comando == -32641)
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Voce apertou a");
lcd.setCursor(0,1);
lcd.print("tecla 1 ");
lcd.setCursor(15,1);
//lcd.blink();
}
if(comando == 16575)
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Voce apertou a");
lcd.setCursor(0,1);
lcd.print("tecla 2");
lcd.setCursor(15,1);
//lcd.blink();
}
if(comando == -16321)
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Voce apertou a");
lcd.setCursor(0,1);
lcd.print("tecla 3");
lcd.setCursor(15,1);
//lcd.blink();
}
if(comando == 8415)
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Tecla 4");
lcd.setCursor(0,1);
lcd.print("led ligado");
lcd.setCursor(15,1);
//lcd.blink();
analogWrite(3,255);
}
if(comando == -24481)
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Tecla 5");
lcd.setCursor(0,1);
lcd.print("led desligado");
lcd.setCursor(15,1);
//lcd.blink();
analogWrite(3,0);
}
irrecv.resume(); // Receive the next value
}
delay(100);
}
Nenhum comentário:
Postar um comentário