Skip to content

Instantly share code, notes, and snippets.

@dalexhd
Created July 13, 2022 13:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dalexhd/cbae40a59f16e532e4b7806212fb804c to your computer and use it in GitHub Desktop.
Save dalexhd/cbae40a59f16e532e4b7806212fb804c to your computer and use it in GitHub Desktop.
#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