#include <IRremote.h>
#include <LiquidCrystal_I2C.h>
// Definir los pines
const int RECV_PIN = 11;
const int LED_PIN = 13;
// Configuración de la pantalla LCD
const int LCD_ADDRESS = 0x27; // Dirección I2C de la pantalla
const int LCD_COLUMNS = 16; // Número de columnas en la pantalla
const int LCD_ROWS = 2; // Número de filas en la pantalla
LiquidCrystal_I2C lcd(LCD_ADDRESS, LCD_COLUMNS, LCD_ROWS);
// Variables del juego
int score = 0;
// Configuración del receptor infrarrojo
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup() {
// Inicialización de la pantalla LCD
lcd.begin(LCD_COLUMNS, LCD_ROWS);
lcd.backlight();
// Inicialización del receptor infrarrojo
irrecv.enableIRIn();
// Inicialización del pin LED
pinMode(LED_PIN, OUTPUT);
}
void loop() {
// Manejo de entrada infrarroja
if (irrecv.decode(&results)) {
handleIRInput(results.value);
irrecv.resume(); // Recibir el siguiente valor
}
// Actualizar y mostrar la puntuación en la pantalla
updateScore();
}
void handleIRInput(unsigned long value) {
// Manejar los diferentes códigos de control remoto aquí
if (value == 0xFF906F) { // Reemplaza con el código de tu botón
// Acción cuando se presiona el botón
score++;
digitalWrite(LED_PIN, HIGH); // Encender el LED
delay(500);
digitalWrite(LED_PIN, LOW); // Apagar el LED
}
}
void updateScore() {
// Actualizar y mostrar la puntuación en la pantalla LCD
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Puntuacion:");
lcd.setCursor(0, 1);
lcd.print(score);
}
// #define Tecla_1 0xFF9867
// #define Tecla_2 0xFF7A85
// byte jump[] = {
// B00100,
// B01110,
// B00100,
// B11111,
// B00100,
// B01110,
// B10001,
// B00000
// };
// byte no_jump[] = {
// B00100,
// B01110,
// B00100,
// B11111,
// B00100,
// B00100,
// B01010,
// B01010
// };
// // Configuración del LCD
// LiquidCrystal_I2C lcd(0x27, 16, 2); // Dirección I2C 0x27, pantalla de 16x2
// void setup( void ) {
// Serial.begin ( 9600 ); //Se configura la velocidad de transmisión
// lcd.init();
// lcd.backlight();
// lcd.createChar ( 0, no_jump);
// lcd.createChar ( 1, jump);
// bienvenida();
// }
// void bienvenida (void){
// lcd.setCursor( 0,0 ); //COLUMNA, FILA
// lcd.print("¡brinca!");
// lcd.write(0);
// lcd.setCursor( 0,1 );
// lcd.print("¿Listo? ¡Ahora!");
// for (uint8_t i = 0; i < 5; i++){
// delay (500);
// lcd.print('.');
// lcd.clear();
// }
// }
// // Configuración del IR Receiver
// int IRpin = 9; // Pin al que está conectado el IR receiver
// void control (){
// Serial.begin(9600);
// IrReceiver.begin(IRpin, 'DISABLE_LED_FEEBACK');
// // pinMode(jump, OUTPUT);
// }
// void loop (){
// if(IrReceiver.decode()){
// Serial.println(IrReceiver.decodedIRData.decodedRawData, HEX);
// if (IrReceiver.decodedIRData.decodedRawData == Tecla_1)
// digitalWrite(jump, HIGH);
// if (IrReceiver.decodedIRData.decodedRawData == Tecla_2)
// digitalWrite(no_jump, LOW);
// }
// delay(100);
// }
// //ACCIONES DE LOS BOTONES DEL CONTROL
// // LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // RS, E, D4, D5, D6, D7
// void Tecla_1 (jump){
// lcd.begin(16, 2);
// lcd.createChar(0, jump);
// lcd.home();
// lcd.write(0);
// }
// void loop() { }
// Tecla_1();
// // LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // RS, E, D4, D5, D6, D7
// void Tecla_2 (no_jump) {
// lcd.begin(16, 2);
// lcd.createChar(0, no_jump);
// lcd.home();
// lcd.write(0);
// }
// void loop() { }
// Tecla_2();
// void setup(void) {
// Serial.begin(9600);
// IrReceiver.begin(IRpin);
// }
// void loop(){
// while (IrReceiver.decode() == 0 ){
// }
// Serial.println(IrReceiver.decodedIRData.command);
// delay(500);
// IrReceiver.resume();
// }
// void setup() {
// Serial.begin(9600);
// irrecv.enableIRIn(); // Inicializa el receptor IR
// lcd.init(); // Inicializa la pantalla LCD
// lcd.backlight(); // Enciende la retroiluminación
// lcd.print("Iniciando juego:"); // Mensaje de bienvenida
// }
// void loop (){
// }
// CONTROL CON VIDEO
// #include <IRremote.h>
// #include <LiquidCrystal_I2C.h>
// int IRpin = 9;
// void setup(void) {
// Serial.begin(9600);
// IrReceiver.begin(IRpin);
// }
// void loop(){
// while (IrReceiver.decode() == 0 ){
// }
// Serial.println(IrReceiver.decodedIRData.command);
// delay(500);
// IrReceiver.resume();
// }
// Configuración del IR Receiver
// int receptorIR = 9; // Pin al que está conectado el IR receiver
// IRrecv irrecv(receptorIR);
// decode_results resultadosIR;