Sistema de automação residencial inteligente – Circuito e código-fonte
Projeto de sistema de automação residencial inteligente usando Arduino
A automação (como automação residencial e automação industrial etc.) tornou-se importante no mundo de hoje, pois ajuda a concluir uma tarefa com menos assistência humana e de maneira mais inteligente. As casas estão se tornando mais inteligentes e desenvolvidas nos dias de hoje com a ajuda de dispositivos de automação. Os eletrodomésticos estão usando interruptores controlados remotamente em vez de interruptores convencionais. No mundo de hoje, a maioria das pessoas tem acesso a smartphones e seu uso se tornou muito popular e essencial em nossas vidas. Podemos usar smartphones para controlar os eletrodomésticos com apenas um clique ou uma mensagem. Com a ajuda de controladores e dispositivos de comunicação, os eletrodomésticos podem ser controlados remotamente. Neste projeto, utilizaremos a placa Arduino UNO para o desenvolvimento do projeto Smart Home Automation com o módulo Bluetooth HC-05 que é controlado remotamente por um smartphone. Pode ser realmente útil para as pessoas paralisadas que não podem fazer seu trabalho por conta própria e esses dispositivos podem se tornar uma grande ajuda para essas pessoas.
- Postagem relacionada: Sistema de automação residencial baseado em reconhecimento de voz
Componentes necessários
- Arduino UNO
- Módulo Bluetooth HC-05
- Relés
- Fios de ligação
- Lâmpadas
- Aplicativo Bluetooth Terminal HC-05 (Baixe na Play Store)
Arduino UNO
Arduino é uma plataforma de código aberto que é usada para desenvolver projetos eletrônicos. Ele pode ser facilmente programado, apagado e reprogramado a qualquer momento. Existem muitas placas Arduino disponíveis no mercado, como Arduino UNO, Arduino Nano, Arduino Mega, Arduino lilypad, etc, com especificações diferentes de acordo com seu uso. Neste projeto, vamos usar o Arduino UNO para controlar eletrodomésticos automaticamente. Ele tem um microcontrolador ATmega328 IC nele que funciona com velocidade de clock de 16MHz. É um poderoso que pode trabalhar em protocolos de comunicação USART, I2C e SPI. Esta placa geralmente é programada usando o software Arduino IDE usando um cabo micro USB. O ATmega328 vem com um carregador de inicialização integrado pré-programado, o que facilita o upload do código sem a ajuda de hardware externo. Tem vasta aplicação na confecção de projetos ou produtos eletrônicos. A linguagem C e C++ é usada para programar a placa que é muito fácil de aprender e usar. A IDE do Arduino facilita muito a programação. Ele separa o código em duas partes, ou seja, void setup() e void loop(). A função void setup() é executada apenas uma vez e usada principalmente para iniciar algum processo, enquanto void loop() consiste na parte do código que deve ser executada continuamente.
Este modelo consiste em 6 pinos de entrada analógica e 14 pinos GPIO digitais que podem ser usados como entrada-saída, 6 dos quais fornecem saída PWM e analógica usando pinMode(), digitalWrite( ), funções digitalRead() e analogRead(). 6 canais de entrada analógica são dos pinos A0 a A5 e fornecem resolução de 10 bits. A placa pode ser alimentada por um cabo USB que opera em 5 volts ou por um conector DC que opera entre 7 e 20 volts. Há um regulador de tensão integrado para gerar 3,3 volts para operar dispositivos de baixa potência. Como o ATmega328 trabalha com protocolo de comunicação USART, SPI e I2C, possui pinos 0 (Rx) e 1(Tx) para comunicação USART, pino SDA (A4) e SCL (A5) para I2C e SS (10), MOSI (11) , MISO (12) e SCK (13) pinos para protocolo de comunicação SPI. Essas especificações tornam a placa Arduino Uno perfeita para projetos de automação residencial.
- Postagem relacionada: circuito ocular eletrônico usando LDR e IC 4049 para controle de segurança
Módulo Bluetooth HC-05
HC-05 é um módulo Bluetooth usado para comunicação sem fio. É usado principalmente para estabelecer comunicações sem fio bidirecionais seriais entre microcontroladores, smartphones, computadores, sensores, etc. O alcance deste módulo Bluetooth é inferior a 100 metros e também depende das condições atmosféricas. Ele funciona no protocolo USART (Universal Synchronous Asynchronous Receiver Transmitter) para se comunicar com outros dispositivos. Ele pode funcionar tanto no modo mestre quanto no escravo com taxas de transmissão suportadas 9600, 19200, 38400, 57600, 115200, 230400 e 460800. Por padrão, ele funciona no modo escravo e o modo mestre pode ser configurado usando comandos AT. Ele pode ser usado para transferir dados nos dois sentidos de um microcontrolador para qualquer dispositivo e dispositivo para um microcontrolador. O módulo Bluetooth HC-05 funciona em modo de comando e modo de dados. O modo de comando é usado para acessar a configuração do HC-05 usando alguns comandos AT e o modo de dados é usado para enviar os dados serialmente. O modo de comando pode ser acessado aterrando o pino “chave” e usando comandos AT podemos alterar sua configuração. Existem comandos AT que podem ser usados para alterar o nome, senha, taxa de transmissão, etc. do módulo. Aqui estão alguns comandos AT:
- AT – para verificar se o módulo está se comunicando ou não
- AT+NAME =hc-05 – para alterar o nome do dispositivo para “hc-05”
- AT+PSWD =1234 – para alterar a senha para 1234
- AT+UART =9600, 1, 0 – para alterar a taxa de transmissão para 9600, bit de parada para 1 e bit de paridade para 0.
Projeto relacionado: Circuito de luz de emergência LED automático usando LDR
Pin Out of HC-05:
EN/Pino de chave :Este pino é usado para definir o módulo Bluetooth no modo de comando ou modo de dados . O modo de comando pode ser acessado configurando este pino como alto e o modo de dados pode ser acessado configurando-o como baixo. Por padrão, é definido como baixo no modo de dados.
- VCC :este é o pino da fonte de alimentação que está conectado a 5V ou 3,3V.
- Terra :este é o pino terra do módulo Bluetooth.
- TXD :este pino usado para transmissão serial dos dados.
- RXD :Este pino é usado para receber os dados em série.
- Estado :este pino informa se o módulo está conectado ou desconectado do outro dispositivo.
Fixar no HC-05 | Descrição |
PT/chave | Alto – Modo de Comando, Baixo – Modo de Dados |
VCC | 3,3 V a 5 V |
GND | Terra |
TXD | Transmitir dados seriais |
RXD | Receber dados seriais |
Estado | Mostra o módulo conectado ou não |
Neste projeto, o HC-05 é usado para estabelecer comunicação serial sem fio entre o Arduino Uno e o Smartphone. Isso pode ser feito conectando o Hc-05 com o Arduino Uno e instalando um aplicativo no smartphone. Embora existam vários aplicativos disponíveis para conectar um smartphone ao HC-05. mas aqui vamos usar o Terminal Bluetooth HC-05 que pode ser baixado na play store. Conecte o HC-05 com o Arduino UNO conforme indicado no diagrama de circuito. O pino TXD do HC-05 vai para o RX (pino 0) do pino RXD do HC-05 vai para o TXD (pino 1) do Arduino Uno. A tecla EN/está definida como LOW. Ligue o Bluetooth do seu smartphone e procure dispositivos Bluetooth. Conecte-se ao dispositivo Bluetooth denominado “HC-05”. Por padrão, a senha é “0000” ou “1234”.
O módulo Bluetooth HC-05 possui um led vermelho embutido que indica o status da conexão. Antes de qualquer conexão, ele pisca continuamente de maneira periódica e, depois de conectado, sua velocidade de piscar diminui.
- Projeto relacionado: Circuito de comutação sensível ao toque simples usando temporizador 555 e transistor BC547
Aplicação do módulo Bluetooth HC-05:
- Computadores e dispositivos periféricos
- receptor GPS
- Controle industrial
- Projetos de microcontroladores
Retransmitir
Um relé é um interruptor eletromagnético que é operado por uma pequena corrente elétrica para ligar ou desligar um ou vários circuitos maiores. Consiste em uma bobina de eletroímã que se converte em um ímã temporário quando uma pequena corrente elétrica passa por ela. Uma corrente relativamente pequena é usada para criar um campo magnético em uma bobina com um núcleo e isso é usado para operar uma chave que pode controlar uma corrente muito maior. Os relés anteriores foram usados em telégrafos e centrais telefônicas para amplificar os sinais. Após a invenção dos computadores, os relés foram usados para realizar operações booleanas e lógicas. Os relés vêm em diferentes tamanhos e variedades de acordo com seu uso em circuitos. As principais aplicações do relé incluem controle de motores, aplicações automotivas, aplicações industriais, automação residencial, etc.
Neste projeto, vamos usar um relé eletromagnético para ligar e desligar os eletrodomésticos, como lâmpada de tubo, lâmpada, ventilador ou qualquer fonte de alimentação CA em nossa casa, dando Sinais DC do Arduino UNO. O relé tem 6 pinos, dois dos quais VCC e Terra são usados para fornecer energia ao relé. Um pino é o pino de dados que é usado para receber o sinal “1” ou “0” dos microcontroladores. Outros 3 pinos Normalmente Fechado (NC), Comum, Normalmente Aberto (NO) são usados para conectar aparelhos alimentados por CA. Este relé funciona em duas condições:Normalmente Aberto ou Normalmente Fechado:
Normalmente Aberto:Fecha o circuito sempre que o relé é ativado e abre o circuito sempre que o relé é desativado.
Normalmente Fechado:Abre o circuito sempre que o relé é ativado e fecha o circuito sempre que o relé é desativado.
- Projeto relacionado: Lâmpada noturna automática usando Arduino e LDR
Pinagem do relé:
Fixar no RELAY | Descrição |
VCC | 5V |
GND | Terra |
Pino de dados | “1” ou “0” do microcontrolador |
NC | Para circuito normalmente fechado |
COM | Comum |
NÃO | Para circuito normalmente aberto |
Aplicações do relé:
- O relé é usado para fornecer lógica crítica de segurança.
- Eles são usados para controlar um circuito de alta tensão com um pequeno sinal de tensão.
- Os relés também são usados para fins de proteção.
- Os relés são usados em subestações e redes ao fornecer eletricidade de um ponto a outro.
Projeto relacionado: Sistema de controle automático de iluminação pública usando LDR
Diagrama de circuito
O circuito é projetado usando Arduino, Bluetooth, relé e LEDs. Conectamos o Bluetooth serialmente com o Arduino. O relé é usado para operar os eletrodomésticos. Usamos quatro relés para quatro aparelhos. Você pode alterar os números do relé para operar vários eletrodomésticos de acordo. Ao passar para o hardware, os LEDs serão substituídos por lâmpadas.
O comando para controlar os eletrodomésticos será enviado através de um “aplicativo de terminal Bluetooth HC-05” do seu smartphone para o Bluetooth, conectado ao Arduino. Em seguida, o Arduino lê os dados que chegam serialmente ao Bluetooth. Assim, as ações são executadas de acordo com o comando vindo do Bluetooth para o Arduino.
- Projeto relacionado: Projeto eletrônico de controle de semáforo usando IC 4017 e temporizador 555
Trabalho de automação residencial baseada em Arduino
Faça a conexão para o projeto de automação residencial conforme indicado no diagrama de circuitos. Em primeiro lugar, conectamos a lâmpada com fontes de alimentação CA e com relés, conforme indicado no diagrama de circuito. Em seguida, os relés recebem alimentação CC da placa Arduino Uno. Os pinos de dados dos relés são conectados nos pinos 8, 9, 10 e 11 ao Arduino, que são os pinos de saída do Arduino. Em seguida, conecte o módulo HC-05 com a placa Arduino conforme mostrado no diagrama e alimente a placa Adruino. Carregue o código fornecido no final do projeto usando o Arduino IDE. Ligue o Bluetooth em seu smartphone e conecte o módulo HC-05 digitando a senha. Por padrão, a senha é “0000” ou “1234”. Depois de conectar seu smartphone com sucesso ao HC-05, abra o aplicativo “Bluetooth terminal HC-05 em seu smartphone ” e mostrará seu dispositivo conectado ao HC-05. Agora envie os dados “Bulb1 ligar” ou “Bulb2 para desligar” para ligar ou desligar qualquer lâmpada. É assim que você pode controlar as luzes da sua casa remotamente.
- Projeto relacionado: Projeto eletrônico de circuito de comutação de palmas usando temporizador 555
Código do projeto
#include
int bulbo1 =8;
int bulbo2 =9;
int bulbo3 =10;
int bulbo4 =11;
SoftwareSerial bt(0,1); /* (Rx,Tx) */
String str;
void setup() {
bt.begin(9600);
Serial.begin(9600);
pinMode(bulb1,OUTPUT);
pinMode(bulb2,OUTPUT);
pinMode(bulb3,OUTPUT);
pinMode(bulb4,OUTPUT);
}
void loop() {
if (bt.available())
{
str =bt.read();
Serial.println(str);
//bulb1
if(str ==”bulb1 on”)
{
digitalWrite(bulb1,HIGH);
Serial.println(“BUlB 1 is ON”);
}
else if (str==”bulb1 off”)
{
digitalWrite(bulb1,LOW);
Serial.println(“BUlB 1 is OFF”);
}
else
{
digitalWrite(bulb1,LOW);
}
//bulb2
if(str==”bulb2 on”)
{
digitalWrite(bulb2,HIGH);
Serial.println(“BUlB 2 is ON”);
}
else if(str==”bulb2 off”)
{
digitalWrite(bulb2,LOW);
Serial.println(“BUlB 2 is OFF”);
}
else
{
digitalWrite(bulb2, LOW);
}
////bulb3
if(str==”bulb3 on”)
{
digitalWrite(bulb3,HIGH);
Serial.println(“BUlB 3 is ON”);
}
else if(str==”bulb3 off”)
{
digitalWrite(bulb3,LOW);
Serial.println(“BUlB 3 is OFF”);
}
else
{
digitalWrite(bulb3,LOW);
}
//bulb4
if(str==”bulb4 on”)
{
digitalWrite (bulb4,HIGH);
Serial.println(“BUlB 4 is ON”);
}
else if(str==”bulb4 off”)
{
digitalWrite(bulb4,LOW);
Serial.println(“BUlB 4 is OFF”);
}
else
{
digitalWrite(bulb4,LOW);
}
}
}
Explicação do código de programação
Inclua as bibliotecas necessárias para o projeto, a biblioteca SoftwareSerial.h é importada para comunicação serial com o Módulo Bluetooth HC-05.
#include
Declaration of variables of output pins of Arduino at 8, 9, 10 and 11 which goes to data pin of each of the four relays. Variable string “str” stores the data we get from smartphone using HC-05 Bluetooth Module.
int bulb1 =8;
int bulb2 =9;
int bulb3 =10;
int bulb4 =11;
String str;
pinMode(bulb1,OUTPUT);
pinMode(bulb2,OUTPUT);
pinMode(bulb3,OUTPUT);
pinMode(bulb4,OUTPUT);
Bluetooth serial communication and serial monitor are initiated at 9600 baud rate.
bt.begin(9600);
Serial.begin(9600);
If the data got from the smartphone using Bluetooth Module HC-05 is “bulb1 on” then we turn on the bulb 1 by setting data pin of the relay as HIGH. If data is “bulb1 off” then we turn off the bulb by setting the data pin of the relay as LOW. If no data received for bulb 1 then we set our bulb 1 to LOW. The same thing is done for bulb 2, bulb 3, bulb 4.
if(str==”bulb1 on”)
{
digitalWrite(bulb1,HIGH);
Serial.println(“BUlB 1 is ON”);
}
else if(str==”bulb1 off”)
{
digitalWrite(bulb1,LOW);
Serial.println(“BUlB 1 is OFF”);
}
else
{
digitalWrite(bulb1,LOW);
}
Hence, you can control any home appliance in your home by using Arduino UNO, Bluetooth, and relay. We have also provided the technical information for the components required for constructing this project. The circuit diagram consists of LEDs which will be replaced by the AC bulbs used in the home.
Related Projects:
- Automatic Plant Watering &Irrigation System – Circuit, Code &Project Report
- Rain Alarm Circuit – Snow, Water and Rain Detector Project
- Water Level Indicator Circuit Diagram- Two Simple Projects
- More Electrical &Electronics Engineering Projects
Tecnologia industrial
- Aplicações de automação residencial
- Silicon Labs para apresentar soluções de conectividade de automação residencial e predial inteligente
- Projeto de detecção e proteção de circuito inteligente para travas de residências inteligentes e controles de acesso
- Cinco obstáculos ao envio de home office - e como superá-los
- Sistema de alarme Arduino:SERENA
- Automação residencial inteligente e sistema de segurança usando 1Sheeld
- Comunicação Python3 e Arduino
- Sistema de atendimento baseado em Arduino e planilha do Google
- Octopod:Smart IoT Home / Industry Automation Project
- WARAN - Automação residencial