Smart Home Automation mit Bluetooth-Konnektivität
Komponenten und Zubehör
| Komponente | Menge |
|---|---|
| Arduino UNO | 1 |
| Relais-Modul (Generic) | 1 |
| Bluetooth Low Energy (BLE) Modul (Generic) | 1 |
| Glühbirne / Lampe | 1 |
Benötigte Werkzeuge und Maschinen
- Lötkolben (generic)
Apps und Online-Dienste
- Arduino IDE
Über dieses Projekt
Schaltplan
Der Schaltplan der Hausautomation basierend auf Arduino und Bluetooth ist sehr einfach und wird unten erklärt. Das Bluetooth-Modul hat 4 Pins: VCC, TX, RX und GND. VCC und GND werden mit 5V und Masse vom Arduino UNO verbunden. Das Bluetooth-Modul arbeitet mit 3,3V und verfügt über einen onboard 5V-auf-3,3V-Regler. Die TX- und RX-Pins des Bluetooth-Moduls müssen mit RX und TX des Arduino verbunden werden. Beim Verbinden von RX des Bluetooth mit TX des Arduino (oder eines beliebigen Mikrocontrollers) muss man vorsichtig sein, da der Pin nur 3,3V verträgt. Die Spannung vom TX des Arduino beträgt jedoch 5V. Deshalb wird ein Spannungsteiler aus 10k und 20k Widerständen verwendet, um die Spannung auf ca. 3,3V zu reduzieren.
Funktionsweise
Beim Einschalten beginnt die Verbindungs-LED am Bluetooth-Modul zu blinken. Wir müssen die "Bluetooth Controller" App auf unserem Smartphone starten und eine Verbindung zum Bluetooth-Modul herstellen. Wenn das Pairing erfolgreich ist, leuchtet die LED dauerhaft. In der App müssen wir nun verschiedene Tasten für unterschiedliche Lasten und ihre entsprechenden Werte festlegen, die beim Drücken gesendet werden. Das folgende Bild zeigt eine Tastenbelegung für 4 Lasten und eine zusätzliche Taste zum Ausschalten aller Lasten.
Die App kann hier heruntergeladen werden:
Code
Code (Arduino)
#include <SoftwareSerial.h>
SoftwareSerial BT(0, 1); // TX, RX Pins des Arduino
String command;
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); // Stabilisierungsverzögerung
char c = BT.read();
command += c;
}
if (command.length() > 0) {
Serial.println(command);
if (command == "light on") {
digitalWrite(2, HIGH);
} else if (command == "light off") {
digitalWrite(2, LOW);
} else if (command == "lamp on") {
digitalWrite(3, HIGH);
} else if (command == "lamp off") {
digitalWrite(3, LOW);
} else if (command == "fan on") {
digitalWrite(4, HIGH);
} else if (command == "fan off") {
digitalWrite(4, LOW);
} else if (command == "open") {
digitalWrite(4, HIGH);
} else if (command == "lock") {
digitalWrite(4, LOW);
} else if (command == "all on") {
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
} else if (command == "off") {
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
}
command = ""; // Variable zurücksetzen
}
}
Schaltplan
Herstellungsprozess
- Wie Smart Home Technologie den Alltag transformiert
- Raspberry Pi Home Automation System für Fernsteuerung bauen
- Bluetooth-gesteuerter Raspberry Pi Roboter mit Audio-Feedback bauen
- Pixie: DIY NeoPixel-Armbanduhr mit Arduino Pro Mini – Schick & Selbstgebaut
- Robuste physische Schnittstelle für Smart Home Steuerung
- LED per Bluetooth mit Arduino steuern – Einfache DIY-Anleitung
- Echtzeit-Zelluläre Automaten auf Arduino mit 128x64 OLED-Display
- Autonomer Hausassistent-Roboter bauen: Komplette Teileliste & Setup-Anleitung
- Alexa-fähiger Arduino Home Controller: Smarte Automatisierung leicht gemacht
- Fortschrittliches Sturz-Erkennungssystem mit Arduino, Windows IoT & Azure Cloud