Controle Inteligente de Eletrodomésticos via Web e Apps Móveis
Componentes e Materiais
| Componente | Quantidade | Observações |
|---|---|---|
| Arduino UNO | 1 | |
| Fios jumpers (genéricos) | 4 | |
| Relé (genérico) | 1 |
Aplicativos e Serviços Online
- gadgetProgrammers web api services — Usando serviços web e portal web para ligar/desligar
- Processing Direct Exe file — Execute arquivo Exe para Windows apenas por enquanto
Sobre o Projeto
Ideia Por Trás do Projeto
Existem muitos projetos que ligam e desligam seus dispositivos elétricos usando Arduino (com diagramas de circuito muito complexos), mas não há pistas de como controlar dispositivos elétricos através da Web ou celular (usando circuitos simples) e, se existe alguma maneira, é muito longa e tediosa. Alguém precisa dar um grande passo, então decidi dar o primeiro grande passo para reduzir o esforço dos outros. Para isso, criei uma plataforma web comum pela qual você pode controlar qualquer um dos seus dispositivos com passos muito simples, sem programação além do Arduino e trabalhando com circuitos com relé apenas. Essa foi a ideia central por trás deste grande projeto. É um dos bons exemplos de projetos DIY que podem ser implementados por qualquer pessoa facilmente e custará menos de $5, pois usa apenas um relé 5V e alguns fios/plugues.
Como Funciona?
Criamos uma plataforma web aberta e gratuita usando a qual você pode gerenciar facilmente seus dispositivos elétricos ou automatizar seus eletrodomésticos. Pode ser um dispositivo muito útil. Suponha que você esteja fora de casa e esqueceu de ligar/desligar algum eletrodoméstico, não há preocupações porque você pode controlá-lo do seu celular ou desktop acessando a página do site.
Para usar este projeto, você só precisa copiar e colar o código Arduino que lê entrada serial do Processing e controla o relé que ajuda a ligar/desligar o eletrodoméstico. Então pode haver a pergunta: como o Relé e o programa Arduino funcionam e o que fazer com o Processing? Vamos descobrir as respostas passo a passo.
Programação e Circuito
Lado do Arduino:
Usamos o Arduino para ler entradas seriais do programa Processing e escrever na porta serial para ligar/desligar o dispositivo Relé ou circuito que fizemos. Como você verá no código abaixo, estamos lendo dados da serial que vêm do Processing e verificando com alguns de nossos dados: se recebermos "1", ligamos o relé; se for "0", desligamos o relé. Como o relé funciona é nosso próximo passo.
// Parte do código real
if(Serial.available() > 0){
// Lendo dados seriais
readSerial = Serial.read();
delay(100);
if(readSerial == '1'){
// Se for 1, liga o relé
digitalWrite(RELAY1, HIGH);
}
if(readSerial == '0'){
// Se for 0, desliga o relé
digitalWrite(RELAY1, LOW);
}
}
Funcionamento do Relé:
(Se já sabe, pode pular)
Como usar relé para controlar CA? CA é corrente alternada 220V (Índia) que alimenta lâmpadas CA. Arduino não controla alta voltagem e corrente, mas um relé faz esse trabalho, que é seu único propósito. Então usamos o relé como interruptor para controlar dispositivos de alta potência.
O que são NO, NC e COM no relé?
- COM = Conexão Comum
- NC = Conexão Normalmente Fechada
- NO = Conexão Normalmente Aberta
Expliquei NO, NC e COM elaboradamente abaixo, consulte se achar confuso. Vamos usar NO (Normalmente Aberto).
- COM — Conexão comum, é o terminal central. É "quente" pois a energia para a carga é conectada neste terminal.
- NO (Normalmente Aberto) — Age como um interruptor. Como está aberto, não há contato entre COM e NO. Quando acionamos o módulo relé, ele conecta a COM pelo eletroímã dentro do relé e a alimentação para a carga é fornecida, acendendo a luz. Assim, o circuito fica fechado até dispararmos o estado para baixo no relé.
- NC (Normalmente Fechado) — Está sempre em contato com COM, mesmo quando o relé não está alimentado. Quando acionamos o relé, ele abre o circuito, então a conexão é perdida. Comporta-se exatamente oposto ao NO.
Lado do Processing:
Aqui o código Processing é o coração do nosso projeto, que se comunica com ambas as aplicações: aplicação Web e Arduino. Imagine-o como uma ponte ou carteiro dos velhos tempos que coleta sua correspondência da caixa de correio e entrega no endereço dado. Aqui o Processing chama uma API que criamos em https://www.parikshacrack.com/gadgetProgrammers/homeAutomation/xxxxx
(O site usado é apenas para demonstração) ao chamar esta API através do software Processing, obtemos o estado atual do interruptor, que lemos no Processing e enviamos ao programa Arduino como discutido anteriormente e, por fim, o Arduino escreve na placa.
Lado Web/Móvel:
Para acessar a web, usamos a plataforma gadget programmers como abaixo:
Acesse: https://www.parikshacrack.com/gadgetProgrammers/homeAutomation
Vá lá e ligue/desligue seu dispositivo; será lido pelo seu código Processing.
Circuitos: Conforme Diagrama
- Conecte Pino 7 do Arduino ao IN1 do Relé.
- Conecte 5V do Arduino ao Vcc do Relé.
- Conecte um fio da energia CA ao pino Comum do relé (do meio).
- Conecte um pino da lâmpada ao pino NC do Relé.
- Conecte um fio extra da lâmpada e outro fio extra da energia CA à alimentação CA principal.
Passos para Rodar o Projeto
- Copie e cole o código Arduino como dado no editor Arduino.
- Faça upload do código para o Arduino.
- Baixe o zip do Processing e escolha o arquivo exe conforme seu SO.
- Agora rode o exe (para Windows) do zip do Processing conforme seu SO.
- Acesse a Web:
https://www.parikshacrack.com/gadgetProgrammers/homeAutomation - Pressione o botão para ligar/desligar as luzes.
Palavras Finais
Hoooray! Se tudo correr bem, você verá suas luzes funcionando.
Obrigado pelo seu tempo e, se tiver alguma dúvida ou questionamento, grite nos comentários.
Código
- Código Arduino
Código Arduino (Arduino)
Cole este código no editor Arduino
#define RELAY1 7
char readSerial;
void setup() {
Serial.begin(9600);
pinMode(RELAY1, OUTPUT);
}
void loop(){
char readSerial;
// delay(1000);
if(Serial.available() > 0){
readSerial = Serial.read();
delay(100);
Serial.println(readSerial);
if(readSerial == '1'){
// Serial.println("ASDF");
digitalWrite(RELAY1, HIGH);
}
if(readSerial == '0'){
digitalWrite(RELAY1, LOW);
}
}
}
Peças Personalizadas e Caixas
circuitdiagram_tRPxERkCY3.tiff
Esquemáticos
Conexões de pinos com Arduino ao Relé
pinconnections_bN2A04yM0t.tiff
Processo de manufatura
- Pílulas Anticoncepcionais: História, Benefícios, Riscos e Produção
- Teste de Gravidez Caseiro: Funcionamento, Design e Futuro
- Renesas Lança Solução e-AI de Deteção de Falhas com RX66T para Eletrodomésticos com Motor
- Monitor de Temperatura e Umidade Residencial com Raspberry Pi e Dashboard Web – Rastreamento Remoto em Tempo Real
- Construa Sistema de Automação Residencial com Raspberry Pi para Controle Remoto
- Sistema Automatizado de Enchimento e Monitoramento de Piscina
- Aprimorando Segurança de Eletrodomésticos com Padrões IEC 60730 Classe B
- Modernize sua Casa com Eletrodomésticos Duráveis de Fibra de Carbono
- Controle Automático de Trem DIY com Arduino – Simples, Confiável e Personalizável
- Dominando Controle de Tensão em Manuseio de Bobinas: Componentes Essenciais Explicados