- Materiais requisitados:
- Metodologia de Trabalho:
- Pré-requisitos:
- Trabalho de um controle remoto AC:
- Diagrama de circuito e explicação:
- Decodificando seus sinais remotos AC:
- Programa Arduino principal:
- Instalando o aplicativo Android:
- Trabalho de AC controlado por telefone celular:
No mundo moderno de hoje, onde quer que vamos, temos muitos dispositivos eletrônicos ao nosso redor. Mas, de tudo, há apenas um dispositivo que temos pessoalmente em nossos bolsos o tempo todo. Sim, são nossos telefones celulares. Agora, os telefones celulares se tornaram mais do que um dispositivo usado para comunicação, eles são nossas câmeras, são nossos mapas, são nossos karts de compras e quais não?
Com esse recurso em nossas mãos, é realmente uma ideia enfadonha usar controles remotos para controlar qualquer aplicativo eletrônico em nossa casa, como TV, AC, home theater, etc. É sempre frustrante alcançar o controle remoto AC no conforto confortável de nossa cama ou sofá. Portanto, neste projeto, vamos construir uma pequena configuração usando a qual você pode controlar o ar condicionado através do seu smartphone usando Bluetooth e Arduino. Parece interessante, certo! Vamos construir um
Materiais requisitados:
- Arduino Mega 2560
- TSOP (HS0038)
- IR Led
- Qualquer LED de cor e resistor 1K (opcional)
- HC-06
- Tábua de pão
- Fios de conexão
Metodologia de Trabalho:
Todos os controles remotos de nossa casa que usamos para controlar TV, home theater, AC, etc. funcionam com a ajuda de IR Blasters. Um IR blaster nada mais é do que um IR LED que pode emitir um sinal por pulsação repetitiva; este sinal será lido pelo receptor no aparelho eletrônico. Para cada botão diferente no controle remoto, um sinal único será emitido, o qual, depois de lido pelo receptor, é usado para realizar uma tarefa específica predefinida. Se formos capazes de ler este sinal vindo do Remoto, podemos então imitar o mesmo sinal usando um LED IR sempre que necessário para realizar essa tarefa específica. Anteriormente, fizemos um circuito IR Blaster para remoto IR universal e para controle automático de temperatura AC.
Um TSOP é um receptor IR que pode ser usado para decodificar o sinal vindo dos controles remotos. Usaremos este TSOP para decodificar todas as informações do nosso Remote e armazená-las no Arduino. Então, usando essas informações e um LED IR, podemos recriar os sinais IR de nosso Arduino sempre que necessário.
Pré-requisitos:
Para este projeto de CA controlado por Bluetooth do Arduino, certifique-se de ter um Arduino Mega e não qualquer outra versão do Arduino, já que o tamanho do código é pesado. Instale a Biblioteca Remota IR usando este link para trabalhar com TSOP e IR Blaster.
Trabalho de um controle remoto AC:
Antes de prosseguirmos no projeto, reserve um tempo e observe como o controle remoto AC funciona. Os controles remotos AC funcionam de maneira um pouco diferente em comparação com os controles remotos IR de TV e DVD. Pode haver apenas 10-12 botões em seu controle remoto, mas eles serão capazes de enviar muitos tipos diferentes de sinais. Significa que o controle remoto não envia o mesmo código todas as vezes para o mesmo botão. Por exemplo, quando você diminui a temperatura usando o botão para baixo para torná-la 24 ° C (graus Celsius), você obterá um sinal com um conjunto de dados, mas quando você pressioná-lo novamente para definir 25 ° C, você não obterá o mesmo dados, uma vez que a temperatura agora é 25 e não 24. Da mesma forma, o código para 25 também irá variar para diferentes velocidades do ventilador, configurações de suspensão, etc. Portanto, não vamos mexer em todas as opções e apenas concentrar apenas os valores de temperatura com um valor constante para outras configurações.
Outro problema é a quantidade de dados que está sendo enviada para cada pressionamento de botão, controles remotos normais com envio de 24 bits ou 48 bits, mas um controle remoto AC pode enviar até 228 bits, já que cada sinal contém muitas informações como temperatura, velocidade do ventilador, Tempo para dormir, estilo Swing etc. Esta é a razão pela qual precisamos de um Arduino Mega para melhores opções de armazenamento.
Diagrama de circuito e explicação:
Felizmente, a configuração do hardware deste condicionador de ar controlado por telefone celular é muito fácil. Você pode simplesmente usar uma placa de ensaio e fazer as conexões conforme mostrado abaixo.
A tabela a seguir também pode ser usada para verificar suas conexões.
S.No: |
Pino de componente |
Pin Arduino |
1 |
TSOP - Vcc |
5V |
2 |
TSOP - Gnd |
Gnd |
3 |
TSOP - Sinal |
8 |
4 |
Led IR - Cátodo |
Gnd |
5 |
Led IR - Ânodo |
9 |
6 |
HC-05 - Vcc |
5V |
7 |
HC05 - Gnd |
Terra |
8 |
HC05 - Tx |
10 |
9 |
HC05 - Rx |
11 |
Depois que as conexões forem feitas, deve ser algo como mostrado abaixo. Eu usei uma placa de ensaio para organizar as coisas, mas você também pode conectar fios macho a fêmea diretamente para conectar todos os componentes
Decodificando seus sinais remotos AC:
A primeira etapa para controlar o seu AC é usar o TSOP1738 para decodificar os códigos IR do controle remoto AC. Faça todas as conexões conforme mostrado no diagrama de circuito e certifique-se de ter instalado todas as bibliotecas mencionadas. Agora abra o programa de exemplo “ IRrecvDumpV2 ” que pode ser encontrado em Arquivo -> Exemplos -> IRremote -> IRrecvDumpV2 .
int recvPin = 8; IRrecv irrecv (recvPin);
Visto que nosso TSOP está conectado ao pino 8, mude o número da linha 9 para int recPin = 8 como mostrado acima. Em seguida, faça upload do programa para o seu Arduino Mega e abra o Monitor Serial.
Aponte seu Remoto em direção ao TSOP e pressione qualquer botão, para cada botão pressionado seu respectivo Sinal será lido pelo TSOP1738, decodificado pelo Arduino e exibido no Monitor Serial. Para cada mudança de temperatura em seu controle remoto, você obterá dados diferentes. Salve esses dados para que possamos usá-los em nosso programa principal. Seu monitor serial será parecido com isto, eu também mostrei o arquivo Word no qual salvei os dados copiados.
A captura de tela mostra o código para definir a temperatura em 26 ° C para o meu controle remoto AC. Com base no seu controle remoto, você obterá um conjunto diferente de códigos. Da mesma forma, copie os códigos para todos os diferentes níveis de temperatura. Você pode verificar todos os códigos de IR do controle remoto do ar condicionado no código do Arduino fornecido no final deste tutorial.
Programa Arduino principal:
O programa Arduino principal completo pode estar na parte inferior desta página, mas você não pode usar o mesmo programa. Você tem que alterar os valores do código de sinal que acabamos de obter do esboço de exemplo. Abra o programa principal em seu Arduino IDE e role para baixo até a área mostrada abaixo, onde você deve substituir os valores do array pelos valores obtidos para o seu Remote.
Observe que usei 10 matrizes, dos quais dois usamos para LIGAR e DESLIGAR o CA, enquanto os 8 restantes são usados para definir uma temperatura diferente. Por exemplo, Temp23 é usado para definir 23 * C em seu AC, então use o código respectivo nesse Array. Feito isso, você só precisa fazer o upload do código para o seu Arduino.
Precisamos importar duas bibliotecas para este projeto. Uma é a biblioteca IRremote que acabamos de adicionar ao Arduino e a outra é a Biblioteca serial de software embutida que nos ajuda a usar o módulo Bluetooth.
#incluir
Em seguida, inicializamos o Módulo Bluetooth nos pinos 10 e 11 e, em seguida, usamos um objeto chamado irsend para acessar todos os recursos de IV da biblioteca.
SoftwareSerial BT_module (10, 11); // RX, TX IRsend irsend;
Em seguida, vêm as linhas de código muito importantes. É aqui que as informações para controlar o seu AC estão presentes. O mostrado abaixo é para o meu controle remoto AC, você deve ter obtido o seu na etapa anterior.
Em seguida, dentro da função de configuração do void , inicializamos duas comunicações seriais. Um é Bluetooth com taxa de 9600 Baud e o outro é monitor serial com taxa de 57600 baud.
void setup () {BT_module.begin (9600); // BT funciona em 9600 Serial.begin (57600); // Monitor de série trabalho filho 57600}
Dentro do nosso loop void ( loop infinito), verificamos se há algo recebido pelo Módulo Bluetooth. Se algo for recebido, armazenamos essa informação na variável BluetoothData .
while (BT_module.available ()) // Se os dados estão chegando {BluetoothData = BT_module.read (); // leia e salve Serial.println (BluetoothData); // imprima em série para fins de teste}
As informações recebidas pelo Bluetooth serão baseadas no botão pressionado em nosso aplicativo Android que iremos instalar em nossa próxima etapa. Assim que a informação for recebida, só temos que acionar o respectivo código IR como abaixo
if (BluetoothData == '2') {irsend.sendRaw (Temp23, sizeof (Temp23) / sizeof (Temp23), khz); delay (2000); // Enviar sinal para definir a temperatura 23C}
Aqui, se o código '2' for recebido, temos que definir a temperatura do AC para 23 ° C. Da mesma forma, temos o código de 0 a 9 para realizar todas as funções básicas de controle do AC. Você pode consultar o código completo do Arduino no final desta página.
Instalando o aplicativo Android:
A etapa final do Ar condicionado controlado por smartphone é instalar o aplicativo Android. O aplicativo Android para este projeto foi criado usando o modo de processamento Android. Processing é uma excelente ferramenta para criar arquivos.EXE ou arquivos APK para seus projetos Embedded. É uma plataforma de código aberto como o Arduino e, portanto, totalmente gratuita para download e uso.
Se você não quiser se aprofundar muito nisso, basta baixar o arquivo APK aqui dentro do arquivo zip e instalá-lo diretamente no seu celular. Abra o aplicativo e você verá uma tela conforme mostrado abaixo, após a qual você pode prosseguir para a próxima etapa e desfrutar de trabalhar com o projeto. Mas se você quiser ajustar o programa do aplicativo para ajustá-lo às suas necessidades, leia mais.
O arquivo de programa completo para o código de processamento pode ser baixado aqui. Este Zip terá o código e a fonte da imagem com a qual o aplicativo funciona. Depois de abrir o código, você pode ajustar as seguintes linhas para adaptá-lo às suas necessidades.
Como dito anteriormente, o Processing é semelhante ao Arduino. Portanto, ele também tem as funções de configuração de void e loop de void (aqui desenhar). Dentro da função de configuração void , iremos instruir o Bluetooth do telefone a se conectar ao Bluetooth do Arduino. O nome do meu dispositivo aqui é “HC-05”, então minha linha de código será
bt.start (); // começa a ouvir conexões BT bt.getPairedDeviceNames (); bt.connectToDeviceByName ("HC-05"); // Conecte ao nosso módulo bluetooth HC-06
Em seguida, dentro das funções load_buttons () , você pode desenhar quantos botões quiser. Desenhei 10 botões conforme mostrado no aplicativo. Em seguida, temos a função read_buttons () que é usada para detectar em qual botão você está tocando. Cada botão possui uma cor específica, portanto, quando um usuário toca na tela, verificamos em qual cor ele tocou e determinamos em qual botão ele tocou. Um exemplo de código para criar um botão e selecioná-lo com base na cor é mostrado abaixo
preencher (255,145,3); rect (largura / 2-largura / 4, altura / 2, largura / 4, altura / 12); preencher (255); texto ("25C", largura / 2-largura / 4, altura / 2); // botão 5 if (color_val == - 13589993) {byte data = {'0'}; bt.broadcast (dados);}
A linha “byte data = {'0'};” é uma linha muito importante. É aqui que decidimos qual código deve ser enviado ao Arduino via Bluetooth. Aqui, se este botão for pressionado, o caractere “0” é enviado do Bluetooth para o Arduino. Da mesma forma, podemos enviar um caractere diferente para botões diferentes. Esses caracteres podem ser comparados no lado do Arduino e a respectiva ação pode ser executada.
Vá em frente e mexa no código, se você tiver alguma dúvida, entre em contato comigo através da seção de comentários e farei o possível para ajudá-lo.
Trabalho de AC controlado por telefone celular:
Quando estiver pronto com seu hardware, código do Arduino e aplicativos Android, é hora de aproveitar a saída. Carregue o código do Arduino em seu hardware e coloque-o voltado para seu AC. Agora abra o aplicativo Android em seu telefone celular, se tudo estiver funcionando conforme o esperado, você deverá ver “ Conectado a: nome_do_dispositivo (algum código) ” conforme mostrado abaixo
Agora, basta pressionar qualquer botão em seu aplicativo Android e ele deve acionar uma ação respectiva no AC como se você estivesse usando um Remoto. Você pode adicionar quantos botões quiser modificando o código e também automatizar seu AC com base na temperatura ambiente ou presença. Verifique o código do Arduino completo e o vídeo abaixo.
Espero que você tenha gostado do projeto e entendido o conceito por trás dele. Como sempre, se você tiver algum problema em fazer este trabalho, pode usar os fóruns para postar suas dúvidas e resolvê-las.
O arquivo APK para instalação do aplicativo Android pode ser baixado aqui.