Boa noite galera.
Estou com grande dificuldade de entender o porque meu rele acionado remotamente não permanece com o estado de ligado.
Uso o código abaixo, porém ao clicar em on no meu web service ele liga o rele e desliga rapidamente. Gostaria da ajuda de vocês neste caso.
O procedimento de envio de dados remoto está funcionando corretamente, porém o status do rele se modifica rapidamente. Segue código:
#include <SPI.h>
#include <IRremote.h>
#include <IRremoteInt.h>
#include <VirtualWire.h>
#include <avr/wdt.h>
IRsend irsend;
unsigned int power_OSCILAR[230] ={8950,4450,600,1650,600,1600,600,550,600,550,600,500,650,500,600,500,650,1600,650,500,600,1600,600,1650,600,550,600,500,600,550,600,500,650,500,600,550,600,500,600,1650,600,550,600,500,650,500,600,500,600,550,600,550,550,1650,600,550,600,500,650,500,600,550,600,500,650,500,600,500,650,500,600,500,650,500,650,500,600,500,650,500,600,500,600,550,600,550,600,500,600,550,600,500,600,550,600,500,650,500,600,7900,600,500,600,550,600,550,600,500,600,550,600,500,600,550,600,500,650,500,600,550,600,500,650,500,600,500,600,550,600,550,550,550,650,500,600,500,600,550,600,500,600,550,600,550,600,500,600,550,600,500,650,500,600,500,600,550,600,550,600,500,650,500,600,500,600,550,600,550,550,550,650,500,600,500,600,550,600,500,600,550,600,550,600,500,600,550,600,500,600,550,600,500,600,550,600,550,600,500,600,550,600,500,600,550,600,550,550,550,600,550,600,550,600,550,600,1650,600,1600,600,550,600,550,600,500,600,550,600,500,600};
//////reles///////
int r1 = 5;
void setup()
{
pinMode(5, OUTPUT);
digitalWrite(5, LOW);
wdt_enable(WDTO_8S);
vw_set_ptt_inverted(true); // Required for DR3100
vw_setup(2000); // Bits per sec
vw_rx_start(); // Start the receiver PLL running
}
void loop() {
wdt_reset();
uint8_t buf[VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;
if (vw_get_message(buf, &buflen)) // Non-blocking
{
const char *msg = "true";
{
digitalWrite(5, LOW);
}
if(buflen>=2)
{
if(buf[0] == 97 && buf[1] == 114)
{
vw_rx_stop();
irsend.sendRaw(power_OSCILAR, 230,36); // Sony TV power code
delay(1000);
Serial.println("B");
vw_rx_start();
}
}
{
const char *msg = "false";
{
digitalWrite(5, HIGH);
}
}
}
}