Controle de saída via controle remoto IR
Faremos um soquete que liga e desliga com a ajuda de um controle remoto infravermelho.
Devo dizer imediatamente que, se algo não estiver claro, explicarei tudo nos comentários.
Tensão de aviso 220 V
Do que precisamos:
- Arduino
- Receptor IR
- Controle remoto IR
- Jumpers como pai mãe e pai pai
- Relé de estado sólido de 220 V
- Soquete com um fio rasgado
- Breadboard
- Lâmpada com suporte de lâmpada
Juntando tudo
Para começar, vamos pegar o soquete, desapertar os 2 parafusos e abri-lo.
Em seguida, prendemos 2 fios em dois terminais com uma chave de fenda e cortamos um fio ao meio. Para que fique como na foto.
Em seguida, insira os dois fios que cortamos em um relé de estado sólido para 220 V, como mostrado na figura, exatamente o oposto!
Agora, conectamos tudo como na imagem.
Sensor IR:
- GND pé esquerdo
- perna média 5V
- perna direita A0
Relé de estado sólido de 220 V
- vcc - 5V
- gnd - GND
- IN - D9
E aqui está o próprio esboço
#include // conecta a biblioteca para trabalhar com o receptor de IR
IRrecv irrecv (A0); // indica o pino ao qual o receptor IR está conectado
resultados decode_results;
void setup () // procedimento de configuração
{
irrecv.enableIRIn (); // começa a receber o sinal infravermelho
pinMode (9, SAÍDA); // o pino 9 será a saída (eng. "output")
pinMode (A0, INPUT); // o pino A0 será uma entrada (inglês "intput")
Serial.begin (9600); // conectar o monitor da porta
}
procedimento void loop () // loop
{
if (irrecv.decode (& results)) // se os dados chegaram, execute os comandos
{
Serial.println (results.value); // envia os dados recebidos para a porta
// liga e desliga os LEDs, dependendo do sinal recebido
if (results.value == 16754775) {
digitalWrite (9, ALTO); // apaga a luz
}
if (results.value == 16775175) {
digitalWrite (9, BAIXO); // acende a luz
}
irrecv.resume (); // recebe o próximo sinal no receptor de infravermelho
}
}
Download do esboço
Após o upload do esboço, abra o monitor da porta e pressione o botão no controle remoto IR. O resultado de uma única pressão é escrito
if (results.value == 16775175) {
digitalWrite (9, BAIXO);
}
Agora, novamente, você pode preencher o esboço e usá-lo!
Use com cuidado! Eu não sou responsável por seus ferimentos!