Arduino設備和4通道繼電器模組控制照明

在這個專案中,將使用藍牙網路構建家庭照明控制系統。在這個專案中,我們使用藍牙模組HC-05,Arduino設備,4通道繼電器模組等。

硬體要求

  • Arduino UNO主板
  • 用於連接器Arduino UNO的USB電纜
  • 藍牙模組HC-05
  • 4通道繼電器模組(5V)
  • 跳線電線公線對母線
  • 家居燈(燈泡)
  • 燈泡架
  • AC 220v/120v家用電器或9v Hi-Walt電池

軟體要求

  • Arduino軟體

Arduino藍牙模組的工作原理

在這個專案中,使用了四個主要組件:Android智能手機藍牙應用程式,藍牙收發器,Arduino設備和4通道繼電器模組。

Android應用程式通過單擊“開啟”按鈕將串行數據發送到連接的藍牙模組HC-05。藍牙設備從應用程式接收數據並通過藍牙模組的TX引腳發送到Arduino的RX引腳。Arduino設備讀取輸入數據並根據其中上傳的程式對其進行處理,並將輸出生成到 4 通道繼電器模組。

當藍牙應用程式的按鈕打開時,它將家庭指示燈設置為ON,當藍牙應用程式的按鈕關閉時,它將家庭指示燈設置為OFF

使用帶有Android應用程式的藍牙模組,4通道繼電器模組編寫Arduino程式來控制家庭照明。

String inputs;
#define relay1 2 //connect relay1 to pin 9
#define relay2 3 //connect relay2 to pin 8
#define relay3 4 //connect relay3 to pin 7
#define relay4 5 //connect relay4 to pin 6
#define relay5 6 //connect relay5 to pin 5
#define relay6 7 //connect relay6 to pin 4
#define relay7 8 //connect relay7 to pin 3
#define relay8 9 //connect relay8 to pin 2
void setup(){
  Serial.begin(9600); //set rate for communicating with phone
  pinMode(relay1, OUTPUT); //set relay1 as an output
  pinMode(relay2, OUTPUT); //set relay2 as an output
  pinMode(relay3, OUTPUT); //set relay1 as an output
  pinMode(relay4, OUTPUT); //set relay2 as an output
  pinMode(relay5, OUTPUT); //set relay1 as an output
  pinMode(relay6, OUTPUT); //set relay2 as an output
  pinMode(relay7, OUTPUT); //set relay1 as an output
  pinMode(relay8, OUTPUT); //set relay2 as an output
  digitalWrite(relay1, LOW); //switch relay1 off
  digitalWrite(relay2, LOW); //switch relay2 off
  digitalWrite(relay3, LOW); //switch relay1 off
  digitalWrite(relay4, LOW); //switch relay2 off
  digitalWrite(relay5, LOW); //switch relay1 off
  digitalWrite(relay6, LOW); //switch relay2 off
  digitalWrite(relay7, LOW); //switch relay1 off
  digitalWrite(relay8, LOW); //switch relay2 off
}
void loop(){
  while(Serial.available()){ //check if there are available bytes to read
    delay(10); //delay to make it stable
    char c = Serial.read(); //conduct a serial read
    if (c == '#'){
      break; //stop the loop once # is detected after a word
    }
    inputs += c; //means inputs = inputs + c
  }
  if (inputs.length() >0){
    Serial.println(inputs);
    if(inputs == "A"){
      digitalWrite(relay1, LOW);
    }
    else if(inputs == "a"){
      digitalWrite(relay1, HIGH);
    }
    else if(inputs == "B"){
      digitalWrite(relay2, LOW);
    }
    else if(inputs == "b"){
      digitalWrite(relay2, HIGH);
    }
    else if(inputs == "C"){
      digitalWrite(relay3, LOW);
    }
    else if(inputs == "c"){
      digitalWrite(relay3, HIGH);
    }
    else if(inputs == "D"){
      digitalWrite(relay4, LOW);
    }
    else if(inputs == "d"){
      digitalWrite(relay4, HIGH);
    }
    else if(inputs == "E"){
      digitalWrite(relay5, LOW);
    }
    else if(inputs == "e"){
      digitalWrite(relay5, HIGH);
    }
    else if(inputs == "F"){
      digitalWrite(relay6, LOW);
    }
    else if(inputs == "f"){
      digitalWrite(relay6, HIGH);
    }
    else if(inputs == "G"){
      digitalWrite(relay7, LOW);
    }
    else if(inputs == "g"){
      digitalWrite(relay7, HIGH);
    }
    else if(inputs == "H"){
      digitalWrite(relay8, LOW);
    }
    else if(inputs == "h"){
      digitalWrite(relay8, HIGH);
    }
    inputs="";
  }
}

使用Arduino USB線編譯並將代碼上傳到Arduino設備。上傳代碼時不要將其他設備與Arduino連接。

數字電路圖

Bluetooth Module HC-05           Arduino UNO
RX  -------------------------------->    TX
TX  -------------------------------->    RX
GND  ----------------------------->    GND
5V  -------------------------------->    3.3V

4 Channel Relay Module           Arduino UNO
GND      ------------------------------>   GND
IN1  -------------------------------->    Pin 9
IN2  -------------------------------->    Pin 8
IN3  -------------------------------->    Pin 7
IN4  -------------------------------->    Pin 6
VCC  -------------------------------->    5V

繼電器模組,燈泡和輸入電源之間的連接:

  • 將繼電器模組的公共點(com)與家用燈連接。
  • 用電源連接常閉模組(nc)。
  • 將剩餘的一根家用燈線與電源連接。

以下是Android應用程式的Arduino藍牙控制器的操作介面 -

輸出結果:


上一篇: Arduino和藍牙模組控制LED專案 下一篇: 使用WiFi節點MCU和中繼模組控制家庭照明