Created
July 13, 2022 13:43
-
-
Save dalexhd/cbae40a59f16e532e4b7806212fb804c to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include "IRremote.h" | |
int receiver = 7; // PIN RECEPTOR IR | |
IRrecv irrecv(receiver); //SE CREAR OBJETO IR | |
decode_results results; //SE CREAR VARIABLE PARA GUARDAR VALOR | |
//SE CREA VARIABLES BOOLEANAS PARA LEDS | |
boolean l2 = false, l3 = false, l4 = false, l5 = false; | |
int decoded_value; | |
int brightness = 1; // 1, 2, 3 | |
void setup() { | |
Serial.begin(9600); | |
Serial.println("IR FUNCIONANDO"); | |
irrecv.enableIRIn(); //SE HABILITA RECEPTOR | |
pinMode(10, OUTPUT); | |
pinMode(9, OUTPUT); | |
pinMode(5, OUTPUT); | |
pinMode(6, OUTPUT); | |
analogWrite(10, l2 ? (255 / 3) * brightness : 0); | |
} | |
void loop() { | |
Serial.print(Serial.available()); | |
if (irrecv.decode(&results)) { //SE LEE VALOR DEL RECEPTOR | |
decoded_value = results.value; // SE OBTIENE VALOR NUMERICO DE LA LECTURA | |
Serial.print("BOTÓN: "); | |
Serial.println(results.value);//SE IMPRIME VALOR EN MONITOR SERIE | |
// DE ACUERDO AL VALOR RECIBIDO SE PRENDE O SE APAGA LED SEGUN EL VALOR | |
switch (decoded_value) { | |
case 16718565: | |
l2 = !l2; | |
Serial.println("BOTÓN l2"); | |
analogWrite(10, l2 ? (255 / 3) * brightness : 0); | |
break; | |
case 16751205: | |
l3 = !l3; | |
Serial.println("BOTÓN l3"); | |
analogWrite(9, l3 ? (255 / 3) * brightness : 0); | |
break; | |
case 16753245: | |
l4 = !l4; | |
Serial.println("BOTÓN l4"); | |
digitalWrite(5, l4 ? (255 / 3) * brightness : 0); | |
break; | |
case 16720605: | |
l5 = !l5; | |
Serial.println("BOTÓN l5"); | |
analogWrite(6, l5 ? (255 / 3) * brightness : 0); | |
break; | |
case 16726725: | |
brightness = brightness == 3 ? 1 : brightness + 1; | |
if (l2) analogWrite(10, l2 ? (255 / 3) * brightness : 0); | |
if (l3) analogWrite(9, l3 ? (255 / 3) * brightness : 0); | |
if (l4) analogWrite(5, l4 ? (255 / 3) * brightness : 0); | |
if (l5) analogWrite(6, l5 ? (255 / 3) * brightness : 0); | |
break; | |
} | |
irrecv.resume(); //SE LIBERA RECEPTOR | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment