Controle de eletrodomésticos usando telefone Android

Controle de eletrodomésticos usando telefone Android

Com o aprimoramento da tecnologia, a automação tornou-se uma necessidade, seja em casa, no escritório ou em algum outro lugar. Em casa encontramos muitos eletrodomésticos, sejam ventiladores, AC, TV, luzes, etc. E se você pudesse operar todos eles com o telefone Android que está segurando na mão.

Protótipo de sistema de automação residencial controlado por Android Mobile

Figura 1: Protótipo de sistema de automação residencial controlado por Android Mobile

Este projeto visa incorporar o controle do telefone Android sobre aparelhos elétricos. Utilizamos comunicação Bluetooth entre o telefone Android e um receptor (unidade de controle) que está conectado aos aparelhos. Bluetooth é um tecnologia sem fio padrão para troca de dados em distâncias curtas (usando ondas de rádio UHF de comprimento de onda curto na banda ISM de 2,4 a 2,485 GHz) de dispositivos fixos e móveis e construção de redes de área pessoal (PANs). Inventado pelo fornecedor de telecomunicações Ericsson em 1994, foi originalmente concebido como uma alternativa sem fio para RS-232 cabos de dados. Pode conectar vários dispositivos, superando problemas de sincronização.

O módulo HC-05 é um módulo Bluetooth SPP (Serial Port Protocol) fácil de usar, projetado para configuração transparente de conexão serial sem fio. Ele contém 6 pinos rotulados na parte traseira, mas a maioria dos módulos possui apenas 4 deles preenchidos com pinos pogo. KEY & STATE não são necessários, pois KEY é usado para fazer o flash do dispositivo e STATE simplesmente indica se o dispositivo está ativo ou não. Então isso deixa apenas GND, VCC, TXD, RXD.

Imagem típica do Módulo Bluetooth HC-05

Figura 2: Imagem típica do Módulo Bluetooth HC-05

Para conectar o módulo com Arduínoprecisamos usar os pinos seriais (Tx e Rx) fornecidos na placa.

Conexões e Trabalho

Fazendo conexões com HC-05:

Alguns módulos possuem etiqueta VCC para tensões de trabalho de até ~6 volts. Esses módulos NÃO gostam de nada exceto 3,3 volts na linha VCC. Devemos usar um conversor de nível para 3,3V na linha RXD. Use dois resistores, como divisor de tensão simples para fazer a conversão do nível TTL. Conecte um resistor de 2,2k ohm ao terra e outro resistor de 1k ohm à linha TXD no MCU. Conecte o pino RXD entre os dois resistores para obter uma saída de aproximadamente 3,4 volts. Conecte o pino RXD do módulo ao TXD do Arduino (Pino Digital 1), através da configuração do divisor de tensão mostrada abaixo:

Imagem mostrando as conexões do circuito do Arduino Uno e do módulo Bluetooth HC-05

Figura 3: Imagem mostrando as conexões do circuito do Arduino Uno e do Módulo Bluetooth HC-05

Agora conecte o TXD do módulo ao RXD do Arduino (Pino Digital 0). Para operar os aparelhos, não podemos conectá-los diretamente ao Arduino. Precisamos de algo chamado RELAY, que é acionado com a ajuda de um circuito driver baseado em transistor.

Diagrama de circuito do driver de relé baseado em transistor

Figura 4: Diagrama de circuito do driver de relé baseado em transistor

A 'entrada' é do pino de E/S do Arduino. RB é o resistor limitador de corrente na base do transistor. Seu valor é normalmente 10K Ohm. 'VS' é a tensão de alimentação necessária para acionar a bobina do relé (depende da classificação do relé). Um diodo é conectado em sentido reverso em paralelo ao relé. Isso é feito para evitar a fem traseira gerada pela bobina que pode danificar o transistor ou o Arduino.

Um diagrama de blocos simplificado do sistema completo é mostrado abaixo:

Diagrama de blocos do sistema de automação residencial controlado por Android Mobile

Figura 5: Diagrama de blocos do sistema de automação residencial controlado por Android Mobile

Depois de fazer as conexões acima, você verá o LED piscando no módulo. Isso apenas garante que seu dispositivo esteja ligado corretamente. Depois disso, escolha seu telefone Android e obtenha o aplicativo- “Terminal Bluetooth Arduino”Da Google Play Store. Este aplicativo está disponível gratuitamente e é fácil de usar.

Captura de tela do aplicativo Android usado para controlar eletrodomésticos

Figura 6: Captura de tela do aplicativo Android usado para controlar eletrodomésticos

Após a instalação, ligue o Bluetooth do telefone. Agora procure por dispositivos até encontrar HC-05 e então comece a emparelhar com ele. Digite a senha 1234quando perguntado.

Se emparelhado corretamente, o LED piscando no módulo Bluetooth irá parar. Caso contrário, verifique as conexões novamente. Volte para o aplicativo que você acabou de baixar. Ele encontrará automaticamente o dispositivo, corresponderá à tecla exibida e iniciará uma conversa. Certifique-se de que o Bluetooth do telefone permaneça ligado.

Protótipo de sistema de automação residencial controlado por Android Mobile

Figura 7: Imagem mostrando o protótipo completo do sistema de automação residencial controlado por telefone Android baseado em Arduino

Operação de sistema:

Quando enviamos '1' para o Arduino, o aparelho 1 conectado ao Arduino liga e quando '2' é enviado, o aparelho 2 liga. Os dados seriais são lidos pelo Arduino, através Serial.read função e é armazenado no estado da variável do tipo inteiro declarado no programa. Depois disso no loop , apenas comparamos estado valor com 1, 2, 3 e assim por diante até 8 para verificar a condição ON de 8 Eletrodomésticos. Então comparamos estado valor com a, b, c e assim por diante até h para verificar o estado de DESLIGADO dos aparelhos e realizar a respectiva operação.

Além disso também podemos monitorar o estado físico como temperatura, pressão, etc., através do telefone Android. Digamos que precisamos monitorar a temperatura da sala. Conectamos o sensor de temperatura LM35 ao Arduino. Agora leia o valor do sensor e envie-o para o telefone via link serial estabelecido via Bluetooth entre o telefone e o Arduino.

Código fonte do projeto

###



int led1 = 2;
int led2 = 3;
int led3 = 4;
int led4 = 5;
int led5 = 6;
int led6 = 7;
int led7 = 8;
int led8 = 9;
int state;
int flag=0;       
void setup 
{
    pinMode(led1, OUTPUT);
    pinMode(led2, OUTPUT);
    pinMode(led3, OUTPUT);
    pinMode(led4, OUTPUT);
    pinMode(led5, OUTPUT);
    pinMode(led6, OUTPUT);
    pinMode(led7, OUTPUT);
    pinMode(led8, OUTPUT);
Serial.begin(9600);
}
void loop  {
    if(Serial.available  > 0)
    {    
      state = Serial.read ;  
      flag=0;
    }  
    if (state == '1')
    {
       digitalWrite(led1, HIGH);
       if(flag == 0){
        Serial.println("Appliance 1 is ON");
          flag=1;
        }
    }
  
   else if (state == '2')
    {
        digitalWrite(led2, HIGH);
        if(flag == 0){
        Serial.println("Appliance 2 is ON");
        flag=1;
        }
    }
    else if (state == '3')
    {
        digitalWrite(led3, HIGH);
        if(flag == 0){
        Serial.println("Appliance 3 is ON");
        flag=1;
        }
    }
    else if (state == '4')
    {
        digitalWrite(led4, HIGH);
        if(flag == 0){
        Serial.println("Appliance 4 is ON");
        flag=1;
        }
    }
    else if (state == '5')
    {
       digitalWrite(led5, HIGH);
        if(flag == 0){
          Serial.println("Appliance 5 is ON");
          flag=1;
        }
    }
  
   else if (state == '6')
    {

        digitalWrite(led6, HIGH);
        if(flag == 0){
          Serial.println("Appliance 6 is ON");
          flag=1;
        }
    }
    else if (state == '7')
    {
        digitalWrite(led7, HIGH);
        if(flag == 0){
         Serial.println("Appliance 7 is ON");
          flag=1;
        }
    }
    else if (state == '8')
    {
        digitalWrite(led8, HIGH);
        if(flag == 0){
        Serial.println("Appliance 8 is ON");
         flag=1;
        }
    }
    else if (state == 'a')
    {
        digitalWrite(led1, LOW);
        if(flag == 0){
         Serial.println("Appliance 1 is OFF");
         flag=1;
        }
    }
    else if (state == 'b')
    {
        digitalWrite(led2, LOW);
        if(flag == 0){
          Serial.println("Appliance 2 is OFF");
          flag=1;
        }
    }
   else if (state == 'c')
    {
        digitalWrite(led3, LOW);
        if(flag == 0){
          Serial.println("Appliance 3 is OFF");
          flag=1;
        }
    }
  else if (state == 'd')
    {
       digitalWrite(led4, LOW);
        if(flag == 0){
          Serial.println("Appliance 4 is OFF");
          flag=1;
        }
    }
   else if (state == 'e')
    {
         digitalWrite(led5, LOW);
        if(flag == 0){
          Serial.println("Appliance 5 is OFF");
          flag=1;
        }
    }
    else if (state == 'f')
    {
         digitalWrite(led6, LOW);
        if(flag == 0){
          Serial.println("Appliance 6 is OFF");
          flag=1;

        }
    }
    else if (state == 'g')
    {
         digitalWrite(led7, LOW);
        if(flag == 0){
          Serial.println("Appliance 7 is OFF");
          flag=1;
        }
    }
    else if (state == 'h')
   {
         digitalWrite(led8, LOW);
        if(flag == 0){
          Serial.println("Appliance 8 is OFF");
          flag=1;
        }
    }
}

###

Diagramas de circuito

Diagrama de circuito-sistema de automação residencial controlado por Android baseado em Arduino

Vídeo do projeto

https://www.youtube.com/watch?v=gJ3twZvrUCA

Conteúdo Relacionado

ESP32-CAM é um módulo de câmera compacto que combina...
Uma rede de sensores é incorporada em todos os...
O controlador do motor é um dos componentes mais...
A evolução dos padrões USB foi fundamental para moldar...
A SCHURTER anuncia um aprimoramento para sua conhecida série...
A Sealevel Systems anuncia o lançamento da Interface Serial...
A STMicroelectronics introduziu Diodos retificadores Schottky de trincheira de...
Determinar uma localização precisa é necessário em várias indústrias...
O novo VIPerGaN50 da STMicroelectronics simplifica a construção de...
A Samsung Electronics, fornecedora de tecnologia de memória avançada,...
O mercado embarcado tem uma necessidade de soluções de...
Você provavelmente já se deparou com o termo 'arrastar'...
Você provavelmente tem um Isolador de suporte Se você...
Você provavelmente já viu permanecer um isolante sente-se em...
Você provavelmente já viu Isoladores de manilha entronizados em...
Você provavelmente já passou por situações em que o...
Retour au blog

Laisser un commentaire

Veuillez noter que les commentaires doivent être approuvés avant d'être publiés.