A ideia de Automação residencial está ganhando destaque, pois ajuda a diminuir o esforço e os erros humanos e, portanto, a expandir a eficácia. Ele utiliza uma combinação de equipamentos e avanços de programação que permitem o controle sobre máquinas e outros dispositivos eletrônicos dentro de uma casa. Com a ajuda da Domótica, podemos controlar nossos aparelhos elétricos remotamente e uma grande vantagem é que o consumo de energia é reduzido em grande medida. Existem vários tipos de Domótica, como Controle por Bluetooth, Controle Remoto e Controle pela Internet, etc. e cada um deles tem suas vantagens e desvantagens. Neste projeto, iremos conceber uma Domótica Controlada por Voz onde diferentes aparelhos serão controlados através do envio do comando de voz. Este sistema é muito caro quando comprado no mercado, mas quando integramos todos esses aparelhos através Arduino , torna-se muito fácil e barato controlar todos os eletrodomésticos.
Domótica controlada por voz
Como automatizar eletrodomésticos usando o Arduino?
Como temos a ideia básica, agora vamos começar a reunir os componentes, montá-los para fazer um circuito e escrever o código para automatizar seus eletrodomésticos.
Etapa 1: Componentes usados (hardware)
- Arduino uno
- Módulo Bluetooth HC-05
- 2N2222 Transistor NPN
- Módulo de Relé 12V
- Resistor de 1k-ohm
- Adaptador 12V AC para DC
- 1N4007 Diodo de junção PN
- Jumper Wires
Etapa 2: Componentes usados (software)
- Proteus 8 Professional (pode ser baixado de Aqui )
Depois de baixar o Proteus 8 Professional, projete o circuito nele. Incluímos simulações de software aqui para que seja conveniente para iniciantes projetar o circuito e fazer as conexões apropriadas no hardware.
Etapa 3: estudar os componentes
Como fizemos uma lista de componentes que vamos usar em nosso projeto. Vamos dar um passo à frente e fazer um breve estudo de como esses componentes funcionam.
- Arduino UNO: O Arduino UNO é uma placa microcontrolada composta por um microchip ATMega 328P e desenvolvida pela Arduino.cc. Esta placa possui um conjunto de pinos de dados digitais e analógicos que podem ter interface com outras placas de expansão ou circuitos. Esta placa possui 14 pinos digitais, 6 pinos analógicos e programáveis com o Arduino IDE (Integrated Development Environment) através de um cabo USB tipo B. Requer 5V para ligar EM e um Código C para operar.
Arduino UNO
- HC-05 Transceptor Serial Bluetooth Sem Fio : Precisamos de comunicação sem fio neste projeto, então usaremos a tecnologia Bluetooth e para esse módulo que será usado é o HC-05. Este módulo tem várias taxas de baud programáveis, mas a taxa de baud padrão é 9600 bps. Pode ser configurado como mestre ou escravo, enquanto outro módulo HC-06 pode funcionar apenas no modo escravo. Este módulo possui quatro pinos. Um para VCC (5V) e os três restantes para GND, TX e RX. A senha padrão deste módulo é 1234 ou 0000 . Se quisermos nos comunicar entre dois microcontroladores ou nos comunicarmos com qualquer dispositivo com funcionalidade Bluetooth como um telefone ou laptop, o HC-05 nos ajuda a fazer isso. Vários aplicativos Android já estão disponíveis, o que torna esse processo muito mais fácil.
Módulo Bluetooth HC-05
- Bluetooth Voice Control para Arduino : Este aplicativo foi desenvolvido pela SimpleLabsIN para projetos Arduino baseados em voz. Este aplicativo Android usará o recurso de reconhecimento de voz do telefone e converterá os comandos de voz em texto e transferirá a string via Bluetooth. O aplicativo pode ser baixado de Aqui
Aplicativo BT Voice Control
- Módulo de Relé 12 V: Se alguém quiser trocar cargas de alta tensão de um microcontrolador, esta placa de relé de 12 V pode fazer isso. Ele contém 8 relés de 12 V classificados em 10 A / 250 V CA (CC 30 V / 10 A). Cada módulo de relé é ligado / desligado por uma entrada digital opto-isolada que pode ser conectada diretamente a um pino de saída do microcontrolador. Requer apenas uma tensão de aproximadamente 1,0 V para ligar as entradas, mas pode lidar com tensões de entrada de até 12 V. Isso o torna ideal para dispositivos de 5V e 3,3V. Você pode comprar o módulo de relé de acordo com o número de aparelhos que deseja controlar. Por exemplo, se você deseja controlar 4 aparelhos, deve comprar 4 módulos de relé.
Módulo de Relé 12V
Etapa 4: Compreendendo o projeto do circuito com o diagrama do circuito
Primeiramente, precisamos conectar o HC-05 com o Arduino UNO. Como o Bluetooth usa o protocolo UART, precisamos usar os pinos RX e TX do Arduino. Estaremos usando a biblioteca “SoftwareSerial” para definir nossos próprios pinos RX e TX (o pino 2 é RX e o pino 3 é TX). O pino RX do módulo Bluetooth e o pino TX do Arduino serão desconectados. Em segundo lugar, conectaremos os relés ao Arduino. Usamos uma placa de relé pronta com 4 canais, portanto, precisamos conectar as entradas dos relés individuais ao Arduino. Para conectar a carga ao módulo de relé, consulte o diagrama abaixo:
Montagem do circuito do módulo de relé
Quatro cargas são conectadas ao módulo de relé para demonstração e seja extremamente cuidadoso ao usar a rede elétrica CA com uma placa de relé. Apenas para demonstração, mudamos EM as cargas alternativas:
Diagrama de circuito
Etapa 5: Princípio de funcionamento do projeto
Neste projeto, comandos de voz são usados para controlar diferentes aparelhos. Monte o hardware de acordo com o diagrama de circuito fornecido acima. Monte todos os componentes na placa de ensaio. Depois de fazer as conexões necessárias, ligue a alimentação do circuito e emparelhe o Bluetooth do telefone com o módulo Bluetooth HC-05. Antes de emparelhar, instale o aplicativo mencionado acima em seu smartphone.
Agora, conecte o telefone com o módulo Bluetooth. Clique na opção “ Robô de conexão ”E selecione o dispositivo Bluetooth apropriado. Se os dispositivos não foram pareados antes, pareie-os agora inserindo o PIN 0000 ou 1234.
Emparelhamento de smartphone
Após uma conexão bem-sucedida, os dispositivos estão prontos para transmitir dados. Para transmitir dados, pressione o ícone do microfone no aplicativo e comece a dar comandos de voz. Certifique-se de que o recurso de reconhecimento de voz está ativado em seu smartphone (geralmente associado ao Google app). Por exemplo, quando pressionamos o ícone do microfone e dizemos 'Acenda a luz', o aplicativo irá reconhecer o comando e transferi-lo para o módulo Bluetooth.
Voz reconhecida
Quando a string for reconhecida pelo aplicativo, ela enviará a string como 'acender a luz # 'e a mensagem real recebida pelo Módulo Bluetooth tem este tipo de formato ( '*Mensagem#' ) O motivo para preencher o '*' e o '#' no início e no final da string é para identificar o início e o fim da mensagem. A mensagem recebida é comparada com algumas strings predefinidas e, se a mensagem corresponder a elas, a ação correspondente como “ligar” e desligar acontece.
Neste projeto usamos os seguintes comandos: “ligar AC”, “desligar AC”, “ligar a luz”, “desligar a luz”, “ligar a TV”, “desligar a TV”, “ligar o ventilador ”,“ Ligar tudo ”e“ desligar tudo ”.
Etapa 6: Introdução ao Arduino
Se você não está familiarizado com o Arduino IDE antes, não se preocupe porque abaixo, você pode ver as etapas claras de gravação de código na placa do microcontrolador usando o Arduino IDE. Você pode baixar a versão mais recente do Arduino IDE em aqui e siga as etapas mencionadas abaixo:
1). Quando a placa Arduino estiver conectada ao seu PC, abra o “Painel de Controle” e clique em “Hardware e Sons”. Em seguida, clique em “Dispositivos e Impressoras”. Encontre o nome da porta à qual sua placa Arduino está conectada. No meu caso é “COM14” mas pode ser diferente no seu PC.
Encontrar o porto
2). Agora abra o IDE do Arduino. Em Ferramentas, defina a placa Arduino para Arduino / Genuino UNO.
Tabuleiro de Configuração
3). No mesmo menu de ferramentas, defina o número da porta que você viu no painel de controle.
Porta de configuração
4). Para usar este aplicativo controlado por voz, precisamos de uma biblioteca especial a ser incluída no Arduino IDE. Esta biblioteca está anexada no link abaixo, junto com o código. Para incluir a biblioteca vá para Sketch> Incluir Biblioteca> Adicionar ZIP. Biblioteca .
Incluir Biblioteca
5). Baixe o código anexado abaixo e copie-o para o seu IDE. Para fazer upload do código, clique no botão upload.
Você pode baixar o código por clicando aqui.
Etapa 7: Compreendendo o código
O Código não é tão complexo, mas ainda assim, algumas de suas partes são brevemente descritas a seguir.
1. No início, uma biblioteca é incluída para permitir a comunicação serial em outros pinos digitais do Arduino, usando um software para replicar a funcionalidade. Dois pinos são inicializados para serem usados com o módulo Bluetooth. Quatro pinos são inicializados para serem usados pelos eletrodomésticos conectados ao sistema e uma variável de string é inicializada para armazenar os dados que chegam via Bluetooth em série.
#include const int rxPin = 2; // Inicializar pisns para o módulo bluetooth const int txPin = 3; SoftwareSerial mySerial (rxPin, txPin); int ac = 4; // Inicializar pinos para eletrodomésticos int light = 5; ventilador interno = 6; int tv = 7; Dados de string;
2 void setup () é uma função na qual definimos os pinos inicializados para serem usados como INPUT e OUTPUT. A taxa de transmissão também é inicializada aqui. A taxa de transmissão é a velocidade pela qual a placa Arduino se comunica com os componentes conectados. Em nossa função, definimos todos os pinos conectados aos aparelhos para BAIXO.
void setup () {Serial.begin (9600); mySerial.begin (9600); pinMode (ac, OUTPUT); pinMode (luz, OUTPUT); pinMode (ventilador, OUTPUT); pinMode (tv, OUTPUT); digitalWrite (ac, LOW); digitalWrite (claro, BAIXO); digitalWrite (ventilador, BAIXO); digitalWrite (tv, LOW); }
3 - void loop () é uma função que é executada repetidamente em um loop. Aqui, todas as condições são definidas para fazer o sistema funcionar corretamente. Os seguintes Enquanto() loop é usado para pegar dados que chegam serialmente ao microcontrolador.
while (1) // Obtendo entrada em série {while (mySerial.available ()<=0); ch = mySerial.read(); if(ch=='#') break; data+=ch; }
Abaixo todas as condições são definidas para ligar todos os aparelhos elétricos acoplados, conforme os comandos do usuário. Essas condições são bastante simples e autoexplicativas.
if (dados == '* ligar AC') {digitalWrite (ac, HIGH); Serial.println ('ac on'); } else if (data == '* desligar AC') {digitalWrite (ac, LOW); Serial.println ('ac off'); } else if (data == '* liga a luz') {digitalWrite (luz, ALTO); Serial.println ('luz acesa'); } else if (data == '* desligar a luz') {digitalWrite (luz, LOW); Serial.println ('luz apagada'); } else if (data == '* ligar o ventilador') {digitalWrite (ventilador, ALTO); Serial.println ('ventilador ligado'); } else if (data == '* desligar ventilador') {digitalWrite (ventilador, BAIXO); Serial.println ('fan off'); } else if (data == '* ligar a TV') {digitalWrite (tv, HIGH); Serial.println ('tv ligada'); } else if (data == '* ligar a TV') {digitalWrite (tv, LOW); Serial.println ('tv desligada'); } else if (data == '* ligar tudo') {digitalWrite (ac, HIGH); digitalWrite (claro, ALTO); digitalWrite (ventilador, ALTO); digitalWrite (tv, HIGH); Serial.println ('tudo ativado'); } else if (data == '* desligar tudo') {digitalWrite (ac, LOW); digitalWrite (claro, BAIXO); digitalWrite (ventilador, BAIXO); digitalWrite (tv, LOW); Serial.println ('tudo desligado'); }}
Formulários
- O sistema de automação residencial ativada por voz nos ajudará a controlar diferentes cargas (aparelhos elétricos) com comandos de voz simples.
- Pessoas com deficiência podem obter muitos benefícios deste projeto, pois se não puderem andar, podem dar um comando de voz e virar EM ou FORA o aparelho.
- Este projeto também pode ser expandido adicionando diferentes sensores (luz, fumaça, etc.).