Saltar la navegación

IR en monitor serie tecla pulsada y función

IR en monitor serie tecla pulsada y función

/*
Reconoce todas las teclas del mando Tinkercad
En este ejemplo utilizaremos los botones 1, 2, 3...9
para encender/apagar el led correspondiente
El botón 0 apaga todos los leds encendidos
El botón >|| produce una ráfaga estilo coche fantástico.

www.sacosta.org 09/2019


*/

#include "IRremote.h"
int receiver = 11;
int timer = 100;
IRrecv irrecv(receiver);
decode_results results;
int led_1=2;
int led_2=3;
int led_3=4;
int led_4=5;
int led_5=6;
int led_6=7;
int led_7=8;
int led_8=9;
int led_9=10;

void setup()
{
Serial.begin(9600);
irrecv.enableIRIn();

pinMode(led_1, OUTPUT);
pinMode(led_2, OUTPUT);
pinMode(led_3, OUTPUT);
pinMode(led_4, OUTPUT);
pinMode(led_5, OUTPUT);
pinMode(led_6, OUTPUT);
pinMode(led_7, OUTPUT);
pinMode(led_8, OUTPUT);
pinMode(led_9, OUTPUT);
}


void loop()
{
if (irrecv.decode(&results))

{
switch(results.value)
{
case 0x00FD50AF: Serial.println("Tecla: Arriba");
break;
case 0x00FD609F: Serial.println("Tecla: >>|");
break;
case 0x00FDA05F: Serial.println("Tecla: >||, ráfaga de leds");

for (int i= 2; i <= 10; i++) {
// enciende los leds
digitalWrite(i, HIGH);
delay(timer);
// apaga los leds
digitalWrite(i, LOW);
}


for (int i = 10; i >= 2; i--) {
// enciende los leds
digitalWrite(i, HIGH);
delay(timer);
// apaga los leds
digitalWrite(i, LOW);
}
break;

case 0x00FD20DF: Serial.println("Tecla: |<<");
break;
case 0x00FD10EF: Serial.println("Tecla: Abajo");
break;
case 0x00FD08F7: Serial.println("Tecla: 1, on/off led 1");
digitalWrite(led_1, !digitalRead(led_1));
break;
case 0x00FD8877: Serial.println("Tecla: 2, on/off led 2");
digitalWrite(led_2, !digitalRead(led_2));
break;
case 0x00FD48B7: Serial.println("Tecla: 3, on/off led 3");
digitalWrite(led_3, !digitalRead(led_3));
break;
case 0x00FD28D7: Serial.println("Tecla: 4, on/off led 4");
digitalWrite(led_4, !digitalRead(led_4));
break;
case 0x00FDA857: Serial.println("Tecla: 5, on/off led 5");
digitalWrite(led_5, !digitalRead(led_5));
break;
case 0x00FD6897: Serial.println("Tecla: 6, on/off led 6");
digitalWrite(led_6, !digitalRead(led_6));
break;
case 0x00FD18E7: Serial.println("Tecla: 7, on/off led 7");
digitalWrite(led_7, !digitalRead(led_7));
break;
case 0x00FD9867: Serial.println("Tecla: 8, on/off led 8");
digitalWrite(led_8, !digitalRead(led_8));
break;
case 0x00FD58A7: Serial.println("Tecla: 9, on/off led 9");
digitalWrite(led_9, !digitalRead(led_9));
break;
case 0x00FD30CF: Serial.println("Tecla: 0, apaga todos los leds");
for (int i=2;i<=10;i++){
digitalWrite(i,LOW);
}
break;
case 0x00FD906F: Serial.println("Tecla: VOL -");
break;
case 0x00FD807F: Serial.println("Tecla: VOL +");
break;
case 0x00FDB04F: Serial.println("Tecla: EQ");
break;
case 0x00FD708F: Serial.println("Tecla: ST/REPT");
break;
case 0x00FD40BF: Serial.println("Tecla: FUNC/STOP");
break;

case 0x00FD00FF: Serial.println("Tecla: ON/OFF");
break;
}
irrecv.resume();
}
delay(300);
}