Automação Residencial Inteligente com Conectividade Bluetooth
Componentes e Materiais
| Componente | Quantidade |
|---|---|
| Arduino UNO | 1 |
| Módulo Relé (genérico) | 1 |
| Módulo Bluetooth Low Energy (BLE) (genérico) | 1 |
| Lâmpada | 1 |
Ferramentas Necessárias
- Ferro de Solda (genérico)
Software e Serviços Online
- Arduino IDE
Sobre o Projeto
Design do Circuito
O design do circuito de Automação Residencial baseado em Arduino e Bluetooth é muito simples e explicado abaixo. O módulo Bluetooth tem 4 pinos: VCC, TX, RX e GND. VCC e GND são conectados a 5V e terra do Arduino UNO. O módulo Bluetooth funciona em 3,3V e possui um regulador 5V para 3,3V a bordo. Os pinos TX e RX do módulo Bluetooth devem ser conectados aos pinos RX e TX do Arduino. Ao conectar RX do Bluetooth ao TX do Arduino (ou qualquer microcontrolador), devemos ter cuidado pois o pino tolera apenas 3,3V. Mas a tensão do TX do Arduino será 5V. Então, uma rede divisora de tensão consistindo de resistores de 10K e 20K é usada para reduzir a tensão para aproximadamente 3,3V.
Funcionamento
Quando a energia é ligada, o LED de conexão no módulo Bluetooth começa a piscar. Precisamos iniciar o app "Bluetooth Controller" no smartphone e conectar ao módulo Bluetooth. Se o emparelhamento for bem-sucedido, o LED fica estável. Agora, no app, precisamos definir diferentes teclas para diferentes cargas e seus valores correspondentes que devem ser transmitidos quando a tecla é pressionada. A imagem a seguir mostra um conjunto de teclas para controlar 4 cargas e uma tecla adicional para desligar todas as cargas.
O app pode ser baixado no link abaixo:
https://drive.google.com/open?id=1nG3IVv4Sfq7oxc6i7c2kwBkIuNLsXeZx
Código
Código Arduino
#include <SoftwareSerial.h>
SoftwareSerial BT(0, 1); // Pinos TX, RX do Arduino respectivamente
String comando;
void setup() {
BT.begin(9600);
Serial.begin(9600);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
}
void loop() {
while (BT.available()) {
delay(10); // Atraso para estabilizar
char c = BT.read();
comando += c; // Constrói a string
}
if (comando.length() > 0) {
Serial.println(comando);
if (comando == "light on") {
digitalWrite(2, HIGH);
} else if (comando == "light off") {
digitalWrite(2, LOW);
} else if (comando == "lamp on") {
digitalWrite(3, HIGH);
} else if (comando == "lamp off") {
digitalWrite(3, LOW);
} else if (comando == "fan on") {
digitalWrite(4, HIGH);
} else if (comando == "fan off") {
digitalWrite(4, LOW);
} else if (comando == "open") {
digitalWrite(4, HIGH);
} else if (comando == "lock") {
digitalWrite(4, LOW);
} else if (comando == "all on") {
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
} else if (comando == "off") {
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
}
comando = ""; // Reset da variável
}
}
Esquemático
Processo de manufatura
- Como Tecnologia de Casa Inteligente Transforma Vida Cotidiana
- Construa Sistema de Automação Residencial com Raspberry Pi para Controle Remoto
- Construa um Robô Raspberry Pi Controlado por Bluetooth com Feedback de Áudio
- Pixie: Relógio de Pulso NeoPixel Baseado em Arduino – Elegante Timepiece DIY LED
- Interface Física Robusta para Controle de Automação Residencial
- Controlar um LED via Bluetooth com Arduino – Guia DIY Simples
- Autômatos Celulares em Tempo Real no Arduino com Display OLED 128x64
- Robô Assistente Doméstico Autônomo: Lista Completa de Peças e Guia de Configuração
- Controlador Residencial Arduino com Alexa: Automação Inteligente Simplificada
- Sistema Avançado de Detecção de Quedas com Arduino, Windows IoT e Azure Cloud