@docdoc Thank you for your support, with the help of all of you the problem is solved , I placed this issue in 2 forums finally we found the solution , the circuit that I used is the original one that I shared on this post the problem was in the Sketch but finally is solved , now I can send the correct codes and not changed even I push again the buttom ,
here is the sketch that is working properly , I already include more functions !!
I am really happy, you are a strong community and I am very proud to be a part of it.
reason why failed is for below issue ,
Solution : I include Raw after the irsend.sendNEC and change the code from 32 to 0
void enviarCodigoIR(unsigned long codigo) {
digitalWrite(ledIRPin, HIGH);
irsend.sendNEC(codigo,32 );
delay(100); // Agrega un pequeño retardo para asegurar el envío completo del código IR
digitalWrite(ledIRPin, LOW);
void enviarCodigoIR(unsigned long codigo) {
digitalWrite(ledIRPin, HIGH);
irsend.sendNECRaw(codigo, 0);
delay(100); // Agrega un pequeño retardo para asegurar el envío completo del código IR
digitalWrite(ledIRPin, LOW);
#include <IRremote.h>
#include "LowPower.h"
int interruptorPin = 4;
int ledPin = 7;
int transistorPin = 11;
int ledIRPin = 3;
int transistorBaseResistor = 1000;
IRsend irsend;
// Definición de códigos IR
unsigned long codigo1 = 0xE817C7EA; //Power
unsigned long codigo2 = 0x9966C7EA; //Back
unsigned long codigo3 = 0xFC03C7EA; //Home
unsigned long codigo4 = 0xE619C7EA; //Up
unsigned long codigo5 = 0xCC33C7EA; //Down
unsigned long codigo6 = 0xE11EC7EA; //Left
unsigned long codigo7 = 0xD22DC7EA; //Right
unsigned long codigo8 = 0xD52AC7EA; //OK
unsigned long codigo9 = 0x8778C7EA; //Return
unsigned long codigo10 = 0x9D62C7EA; //Sleep
unsigned long codigo11 = 0x9E61C7EA; // *
unsigned long codigo12 = 0xCB34C7EA; // Rew
unsigned long codigo13 = 0xAA55C7EA; // Fwr
unsigned long codigo14 = 0xB34CC7EA; // Play Pause
unsigned long codigo15 = 0xAD52C7EA; // Netflix
unsigned long codigo16 = 0xAB54C7EA; // Google Play
unsigned long codigo17 = 0x9867C7EA; // Estrella TV
unsigned long codigo18 = 0x8E71C7EA; // Claro Video
unsigned long codigo19 = 0xF00FC7EA; // Vol +
unsigned long codigo20 = 0xEF10C7EA; // Vol -
unsigned long codigo21= 0xDF20C7EA; // Mute
bool programaIniciado = false;
void setup() {
irsend.begin(ledIRPin); // Iniciar la comunicación con el sensor IR
pinMode(interruptorPin, INPUT_PULLUP);
pinMode(ledPin, OUTPUT);
pinMode(transistorPin, OUTPUT);
pinMode(ledIRPin, OUTPUT);
digitalWrite(ledPin, LOW);
digitalWrite(transistorPin, LOW);
digitalWrite(ledIRPin, LOW);
}
void loop() {
if (digitalRead(interruptorPin) == LOW && !programaIniciado) {
delay(10); // Debounce
if (digitalRead(interruptorPin) == LOW) {
programaIniciado = true;
digitalWrite(ledPin, HIGH);
digitalWrite(transistorPin, HIGH);
delay(1000);
}
}
if (programaIniciado) {
enviarCodigoIR(codigo3);
delay(50);
enviarCodigoIR(codigo3);
delay(50);
enviarCodigoIR(codigo3);
delay(50);
enviarCodigoIR(codigo3);
delay(50);
enviarCodigoIR(codigo3);
delay(50);
enviarCodigoIR(codigo12);
delay(100);
enviarCodigoIR(codigo12);
delay(100);
enviarCodigoIR(codigo13);
delay(100);
enviarCodigoIR(codigo13);
delay(100);
enviarCodigoIR(codigo14);
delay(100);
digitalWrite(ledPin, LOW);
digitalWrite(transistorPin, LOW);
delay(1000);
programaIniciado = false;
}
}
void enviarCodigoIR(unsigned long codigo) {
digitalWrite(ledIRPin, HIGH);
irsend.sendNECRaw(codigo, 0);
delay(100); // Agrega un pequeño retardo para asegurar el envío completo del código IR
digitalWrite(ledIRPin, LOW);
}escribe o pega el código aquí