Yarana Iot Guru
Published © MIT

๐Ÿ  Home Automation: 4-Channel Bluetooth & Manual Control Sys

Control your home appliances using Bluetooth and manual switches with ESP32. Smart and offline-ready โ€” by YaranaIoT Guru

BeginnerShowcase (no instructions)8 hours14
๐Ÿ  Home Automation: 4-Channel Bluetooth & Manual Control Sys

Things used in this project

Software apps and online services

Arduino IDE
Arduino IDE

Story

Read more

Code

๐Ÿ’ป ESP32 / Arduino Code

C/C++
Hereโ€™s a working example code for Bluetooth + manual control.
#define R1 23
#define R2 22
#define R3 21
#define R4 19

#define S1 33
#define S2 32
#define S3 35
#define S4 34

char data = 0;

void setup() {
  Serial.begin(9600);
  pinMode(R1, OUTPUT);
  pinMode(R2, OUTPUT);
  pinMode(R3, OUTPUT);
  pinMode(R4, OUTPUT);

  pinMode(S1, INPUT_PULLUP);
  pinMode(S2, INPUT_PULLUP);
  pinMode(S3, INPUT_PULLUP);
  pinMode(S4, INPUT_PULLUP);

  digitalWrite(R1, LOW);
  digitalWrite(R2, LOW);
  digitalWrite(R3, LOW);
  digitalWrite(R4, LOW);
}

void loop() {
  // Bluetooth Control
  if (Serial.available()) {
    data = Serial.read();
    switch (data) {
      case 'A': digitalWrite(R1, HIGH); break;
      case 'a': digitalWrite(R1, LOW); break;
      case 'B': digitalWrite(R2, HIGH); break;
      case 'b': digitalWrite(R2, LOW); break;
      case 'C': digitalWrite(R3, HIGH); break;
      case 'c': digitalWrite(R3, LOW); break;
      case 'D': digitalWrite(R4, HIGH); break;
      case 'd': digitalWrite(R4, LOW); break;
    }
  }

  // Manual Switch Control
  if (digitalRead(S1) == LOW) { digitalWrite(R1, !digitalRead(R1)); delay(300); }
  if (digitalRead(S2) == LOW) { digitalWrite(R2, !digitalRead(R2)); delay(300); }
  if (digitalRead(S3) == LOW) { digitalWrite(R3, !digitalRead(R3)); delay(300); }
  if (digitalRead(S4) == LOW) { digitalWrite(R4, !digitalRead(R4)); delay(300); }
}

Credits

Yarana Iot Guru
29 projects โ€ข 0 followers
Yarana Iot Guru Yarana IoT Guru: Arduino, ESP32, GSM, NodeMCU & more. Projects, Tutorials & App Development. Innovate with us!
Thanks to YaranaIoT Guru.

Comments