Hola a todos, solicito su ayuda para comprobar si el código que tengo de un photon para emitir pulsaciones IR es correcto, ya que estaba funcionando y de repente dejo de funcionar, pueden decirme si es un error de código??? Cuando le envió una instrucción a photon con mimmb
el código
#include <IRremoteLearn.h>
int led1 = D0;
int led2 = D7;
//int cap = A0;
int SENSOR = D1;
//IRrecv irrecv(SENSOR);
//decode_results codigo;
int IRledPin = D5;
void pulseIR(long microsecs) {
// Haremos una cuenta regresiva desde la cantidad de microsegundos que se nos dice que esperemos
// cli(); // esto apaga las interrupciones de fondo
while (microsecs > 0) {
// 38 kHz el alrededor de 13 microsegundos en alto y 13 microsegundos en bajo
digitalWrite(IRledPin, HIGH); // toma alrededor de 4 microsegundos ejecutar esta instrucción
delayMicroseconds(9); // esperamos 10 microsegundos
digitalWrite(IRledPin, LOW); // this also takes about 4 microseconds
delayMicroseconds(9); // hang out for 10 microseconds
// entonces 26 microsegundos en total
microsecs -= 26;
}
// sei(); // esto vuelve a encender las interrupciones
}
void setup() {
Particle.function("estado",estado_funcion);
Serial.begin(9600);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
// pinMode(SENSOR, INPUT);
//Serial.begin(9600);
pinMode (IRledPin, OUTPUT);
}
void loop() {
// ENCENDERAIRE();
// delay(7000);
// digitalWrite(led2, HIGH);
// ENCENDERM();
// delay(7000);
// digitalWrite(led2, LOW);
}
int estado_funcion(String recibido){
//INICIO GHIA
if(recibido=="EncenderM"){
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
ENCENDERAIRE();
}else{
if(recibido=="ApagarM"){
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
APAGARAIRE();
}
else{
if(recibido=="SubirG"){
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
SUBIRG();
}else{
if(recibido=="BajarG"){
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
BAJARG();
}//FIN GHIA
//INICIO LANIX
else{
if(recibido=="EncenderL"){
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
ENCENDERL();
}else{
if(recibido=="ApagarL"){
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
APAGARL();
}else{
if(recibido=="SubirL"){
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
SUBIRL();
}else{
if(recibido=="BajarL"){
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
BAJARL();
}
//FIN LANIX
//INICIO MAC
else{
if(recibido=="EncenderM"){
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
ENCENDERM();
}else{
if(recibido=="ApagarM"){
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
APAGARM();
}else{
if(recibido=="SubirM"){
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
SUBIRM();
}else{
if(recibido=="BajarM"){
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
BAJARM();
}
}
}
}
}
//FIN MAC
}
}
}
}
}
}
}
}
void APAGARAIRE(){
pulseIR(9320);
delayMicroseconds(4580);
pulseIR(700);
delayMicroseconds(1660);
pulseIR(660);
delayMicroseconds(580);
pulseIR(660);
delayMicroseconds(580);
pulseIR(680);
delayMicroseconds(560);
pulseIR(660);
delayMicroseconds(580);
pulseIR(680);
delayMicroseconds(560);
pulseIR(660);
delayMicroseconds(1720);
pulseIR(680);
delayMicroseconds(560);
pulseIR(660);
delayMicroseconds(1700);
pulseIR(700);}
(ScruffR: added Google Translate version for general consumption )
Hello everyone, I ask for your help to check if the code I have for a photon to emit IR beats is correct, since it was working and suddenly it stopped working, can you tell me if it is a code error ??? When he sent an instruction to photon with mimmb