Bluetooth home automation allows you to remotely control appliances and devices in your home using your smartphone or tablet. This project explores a DIY approach using an Arduino Uno microcontroller board, an HC-05 Bluetooth module, and a relay.
Components:
- Arduino Uno: The brain of the system, it reads Bluetooth commands and controls the relay.
- HC-05 Bluetooth Module: Enables wireless communication between your smartphone and Arduino.
- Relay Module: Acts as a switch, allowing the Arduino to control high-power devices safely.
- Jumper Wires: For connecting all the components.
- Breadboard: Provides a helpful platform for prototyping the circuit.
- LEDs: Can be added for visual indication of device status.
- Smartphone with Bluetooth App: A pre-built app or a custom-made one using platforms like MIT App Inventor to send control signals to the Arduino.
Working Principle:
- Connection: The HC-05 connects to the Arduino’s RX and TX pins, enabling serial communication. The relay connects to the Arduino’s digital pin and controls the device via its high-voltage terminals.
- App Communication: The smartphone app sends Bluetooth commands (like “ON” or “OFF”) to the HC-05 module.
- Arduino Processing: The Arduino receives the signal, decodes it, and activates the appropriate digital pin.
- Relay Activation: The activated digital pin triggers the relay, turning the connected device on or off.
Advantages:
- Simple and Affordable: Uses readily available components, making it a good beginner project.
- DIY Friendly: Allows customization based on your needs.
- Wireless Control: Provides remote control from your smartphone within Bluetooth range.
Limitations:
- Limited Range: Bluetooth has a shorter range compared to Wi-Fi based systems.
- Scalability: Adding multiple devices might require additional modules and programming complexity.
- App Dependence: Requires a dedicated smartphone app for control.pen_spark
void setup() {
Serial.begin(9600);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
}
void loop() {
if (Serial.available() > 0) {
char value = Serial.read();
Serial.println(value);
if (value == 'A') {
On1();
} else if (value == 'a') {
Off1();
} else if (value == 'F') {
Offall();
} else if (value == 'N') {
Onall();
} else if (value == 'B') {
On2();
} else if (value == 'b') {
Off2();
}
}
}
void On1() {
digitalWrite(2, HIGH);
}
void Off1() {
digitalWrite(2, LOW);
}
void Offall() {
digitalWrite(2, LOW);
digitalWrite(3, LOW);
}
void Onall() {
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
}
void On2() {
digitalWrite(3, HIGH);
}
void Off2() {
digitalWrite(3, LOW);
}