alguém me ajuda. fiz uma programação para ligar por controle. como faço para ligar e desligar pelo mesmo botão? 

#include <IRremote.h>

int RECV_PIN = 11;
const int led1 = 10;

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()
{
Serial.begin(9600);
pinMode (led1, OUTPUT);
irrecv.enableIRIn(); // Start the receiver
}

void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value, HEX);

if (results.value == 0xFF30CF){
digitalWrite(led1, HIGH);
}
if (results.value == 0xFF18E7){
digitalWrite (led1, LOW);
}
// if (results.value == 0xFF18E7){
//digitalWrite(rele1, LOW);
//}
irrecv.resume(); // Receive the next value
}
delay(100);
}

Exibições: 149

Responder esta

Respostas a este tópico

tente assim :

#include <IRremote.h>
int RECV_PIN = 11;
const int led1 = 10;
int liberou = false;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
Serial.begin(9600);
pinMode (led1, OUTPUT);
irrecv.enableIRIn(); // Start the receiver
}
void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value, HEX);

if (results.value == 0xFF30CF && liberou == false){
digitalWrite(led1, HIGH);
liberou = true;
}
if (results.value == 0xFF30CF && liberou == true){
digitalWrite (led1, LOW);
liberou = false;
}
// if (results.value == 0xFF18E7){
//digitalWrite(rele1, LOW);
//}
irrecv.resume(); // Receive the next value
}
delay(100);
}

RSS

© 2021   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço