Como projetar um sistema de automação residencial baseado em Arduino usando o controle remoto da TV?

O sistema de automação residencial é o conceito de crescimento mais rápido do mundo moderno. A automação residencial inteligente é um conceito em que um único dispositivo é utilizado para controlar vários parâmetros eletrônicos de uma casa, por exemplo, comutação de eletrodomésticos, monitoramento de alarmes de segurança, automação de portão de garagem, etc.



Sistema de automação usando um controle remoto de TV

Neste projeto, usaremos um controle remoto de TV simples para fazer um sistema de automação residencial simples. Este controle remoto da TV controlará todos os aparelhos conectados à placa do microcontrolador.



Como usar um controle remoto de TV para fazer um sistema de automação residencial?

Os sistemas de automação residencial que já estão disponíveis no mercado são muito caros. Podemos usar uma placa Arduino para conectar diferentes eletrodomésticos e controlá-los usando um controle remoto de TV. Isso terá um custo muito baixo e será uma forma eficiente de automatizar a casa. Agora, vamos dar um passo à frente e começar a coletar informações para iniciar o projeto.



Etapa 1: Coletando os Componentes

A melhor abordagem para iniciar qualquer projeto é fazer uma lista de componentes e passar por um breve estudo desses componentes, porque ninguém vai querer ficar no meio de um projeto apenas por causa de um componente ausente. Uma lista de componentes que vamos usar neste projeto é fornecida abaixo:



  • Receptor IR TSOP 1738
  • Controle remoto
  • Tábua de pão
  • Jumper Wires

Etapa 2: estudar os componentes

Agora, como sabemos quais componentes vamos usar, vamos estudá-los brevemente para entender melhor como nosso circuito funciona.

Arduino Nano é uma placa microcontrolada que realiza várias operações em diferentes circuitos. Requer um Código C que informa ao conselho quais tarefas executar e como. Possui 13 pinos de E / S digitais, o que significa que podemos operar 13 dispositivos diferentes. Se você deseja controlar mais de 13 dispositivos, use o Arduino Mega.

Arduino Nano



TSOP 1738 é um módulo IR para controles remotos. Ele tem uma frequência portadora de 38kHz. Consiste em um fotodetector que detecta o sinal e o demodula. Sua saída é usada diretamente pelo Arduino ou qualquer outra placa microcontrolada.

Sensor TSOP

Um módulo de relé é um dispositivo de comutação. Funciona em dois modos, Normalmente aberto (NÃO) e Normalmente Fechado (NC) . No modo NO, o circuito está sempre interrompido, a menos que você envie um sinal HIGH para o relé por meio do Arduino. O modo NC piora ao contrário. O circuito está sempre completo, a menos que você ligue o módulo de relé. Certifique-se de conectar o fio positivo do seu aparelho elétrico ao módulo de relé da maneira mostrada abaixo.

Módulo de Relé

Um controle remoto de TV padrão tem um botão liga / desliga e todas as teclas numéricas nele. Estas teclas numéricas serão utilizadas para ligar os aparelhos elétricos.

Etapa 3: Fazendo o circuito

Agora como sabemos como funcionam todos os componentes, vamos seguir em frente e começar a fazer o circuito.

  1. Pegue uma placa de ensaio e insira seu Arduino Nano e TSOP 1738 nela.
  2. Ligue o módulo TSOP 1738 e o módulo de relé por meio do Arduino. Conecte o FORA pino do TSOP1738 ao pino 11 do Arduino e também conecte o DENTRO pinos do módulo de relé para o Arduino. Estou controlando apenas dois aparelhos elétricos, então estou usando apenas módulos de relé aqui. Se você quiser controlar mais dispositivos, conecte da mesma forma mais módulos de relé.

    Diagrama de circuito

Etapa 4: Introdução ao Arduino

Se você não trabalhou no Arduino IDE antes, não se preocupe porque um passo a passo para configurar o Arduino IDE é mostrado abaixo.

  1. Conecte sua placa Arduino ao PC e abra o Painel de Controle. Clique em Hardware e som. Agora aberto Dispositivos e impressora e encontre a porta à qual sua placa está conectada. No meu caso é COM14 mas é diferente em computadores diferentes.

    Encontrar o porto

  2. Clique no menu Ferramentas e defina o tabuleiro como Arduino Nano (AT Mega 328P) .

    Tabuleiro de Configuração

  3. Clique no menu Ferramentas novamente e defina a porta que você observou no painel de controle antes.

    Porta de configuração

  4. No mesmo menu de ferramentas, defina o processador como ATmega328p (antigo bootloader) .

    Processador de configuração

  5. Para decodificar os dados enviados pelo controle remoto, precisamos de uma biblioteca especial para o código A do Arduino. Esta biblioteca está anexada junto com o código no link abaixo. Para adicionar a biblioteca vá para Sketch> Incluir Biblioteca> Adicionar Biblioteca ZIP . Uma caixa aparecerá. Encontre a pasta ZIP no seu computador e clique em OK para incluir a pasta.

    Incluir Biblioteca

  6. Baixe o código anexado abaixo e clique no botão de upload para gravar o código em sua placa Arduino Nano.

    Envio

Clique no baixar botão para obter o código.

Etapa 5: Código

O código é muito fácil de entender, mas ainda assim, é brevemente descrito a seguir.

1 configuração vazia () é uma função na qual inicializamos os pinos INPUT ou OUTPUT. Esta função também define a taxa de transmissão usando Serial.begin () comando. A taxa de transmissão é a velocidade de comunicação do microcontrolador.

2 void loop () é uma função que é executada repetidamente em um loop. Neste loop, escrevemos um código que informa à placa do microcontrolador quais tarefas realizar e como.

3. Quando enviamos dados do controle remoto da TV, o Arduino precisa decodificar esses dados. Para isso, incluímos uma biblioteca especial #incluir <IRremote.h>. Uma função desta biblioteca será usada para decodificar os dados de cada chave, enviados do controle remoto.

#include int RECV_PIN = 11; IRrecv irrecv (RECV_PIN); resultados decode_results; void setup () {Serial.begin (9600); irrecv.enableIRIn (); } void loop () {if (irrecv.decode (& results)) {Serial.println (results.value, HEX); irrecv.resume (); } atraso (100); }

O código acima está lendo os valores enviados do controle remoto e decodificando-os para seu valor HEX correspondente. Este código é retirado dos exemplos da biblioteca IRremote no Arduino IDE. Este código também está anexado ao link de download pelo nome test.ino fornecido acima. A saída desta função, quando todas as teclas numéricas forem pressionadas, será:

Decodificar

4. No code.ino anexado no link de download acima, os pinos do Arduino que serão usados ​​são inicializados. No void loop () função, quando um botão no controle remoto é pressionado, o Falso condição é virada para Verdadeiro e o respectivo relé é ligado. Se o mesmo botão for pressionado novamente, ele alternará a condição booleana e desligará o relé. O botão liga / desliga ligará ou desligará todos os relés.

void loop () {if (irrecv.decode (& results)) {Serial.println (results.value, HEX); atraso (100); if (results.value == 0x40BD00FF) {i =! i; digitalWrite (IN1, i); } if (results.value == 0x40BD807F) {j =! j; digitalWrite (IN2, j); // atraso (200); } if (results.value == 0x40BD28D7) {m =! m; digitalWrite (IN1, m); digitalWrite (IN2, m); digitalWrite (IN3, m); digitalWrite (IN4, m); // atraso (200); } irrecv.resume (); // Recebe o próximo valor // delay (100); }}

Este foi todo o procedimento para fazer um sistema de automação residencial simples controlado por um controle remoto de TV. Agora você pode conectar módulos de relé de acordo com a quantidade de seus aparelhos e desfrutar de seu próprio Sistema de Automação Residencial Inteligente.