Slimme Huisautomatisering met Bluetooth Connectiviteit
Onderdelen en Benodigdheden
| Arduino UNO | × | 1 |
| Relais Module (Generisch) | × | 1 |
| Bluetooth Low Energy (BLE) Module (Generisch) | × | 1 |
| Lampje (voor demonstratie) | × | 1 |
Benodigde Tools en Machines
- Solderbout (generisch)
Apps en Online Diensten
- Arduino IDE
Over dit Project
Schakelingontwerp
Het schakelingontwerp van deze huisautomatisering op basis van Arduino en Bluetooth is heel simpel. De Bluetooth module heeft 4 pinnen: VCC, TX, RX en GND. VCC en GND worden aangesloten op 5V en ground van de Arduino UNO. De Bluetooth module werkt op 3.3V en heeft een onboard 5V naar 3.3V regelaar. De TX en RX pinnen van de Bluetooth module moeten verbonden worden met RX en TX van de Arduino. Bij het verbinden van RX van Bluetooth met TX van Arduino (of elke microcontroller), moet je voorzichtig zijn omdat de pin maximaal 3.3V aankan. De spanning van TX van Arduino is 5V. Daarom wordt een spanningsdeler netwerk van 10K en 20K weerstanden gebruikt om de spanning te verlagen tot ongeveer 3.3V.
Werking
Wanneer de spanning aangezet wordt, begint de verbindings-LED op de Bluetooth module te knipperen. We moeten de "Bluetooth Controller" app op onze smartphone starten en verbinden met de Bluetooth module. Als de pairing succesvol is, wordt de LED stabiel. Nu moeten we in de app verschillende toetsen instellen voor verschillende lasten en hun corresponderende waarden die verzonden moeten worden wanneer die toets ingedrukt wordt. De volgende afbeelding toont een set toetsen om 4 lasten te besturen en een extra toets om alle lasten uit te schakelen.
De app kan gedownload worden via: Google Drive link
Code
Arduino Code
#include <SoftwareSerial.h>
SoftwareSerial BT(0, 1); // TX, RX pinnen van Arduino respectievelijk
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); // Vertraging voor stabiliteit
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 = "";
}
}
Schema's
Productieproces
- Een Raspberry Pi-thuisautomatiseringssysteem bouwen voor afstandsbediening
- Bouw een Bluetooth-gecontroleerde Raspberry Pi Robot met Audio Feedback
- Pixie: Een Arduino-gebaseerde NeoPixel-polshorloge – Modern, DIY LED-tijdstuk
- Robuuste Fysieke Interface voor Thuisautomatisering
- Een LED bedienen via Bluetooth met Arduino – Eenvoudige DIY Handleiding
- Bouw Real-Time Cellulaire Automaten op Arduino met 128x64 OLED Display
- Bouw een Autonome Thuisassistent Robot: Complete Onderdelenlijst & Opzetgids
- Alexa-ingeschakelde Arduino Thuiscontroller: Slimme Automatisering Made Simple
- Geavanceerd Valdetectiesysteem met Arduino, Windows IoT en Azure Cloud
- Geavanceerd thuismonitoringssysteem met Arduino Mega en IoT-sensoren
- Hoe slimme huistechnologie het alledaagse leven transformeert