在本文中,將演示如何使用Arduino(Arduino UNO)和藍牙模組HC-05構建一個物聯網專案來控制LED燈。在這個專案中,我們將使用Android智能手機將藍牙信號發送到藍牙模組。
硬體要求
- Arduino UNO主板
 - 用於連接器Arduino UNO的USB電纜
 - 藍牙模組HC-05
 - 跳線電線公對母線
 - LED
 - AC 220v/120v家用電器或9v Hi-Walt電池
 
軟體要求
- Arduino軟體
 - Android Studio
 
Arduino藍牙模組的工作原理
在這個專案中,使用了三個主要組件; Android智能手機,藍牙收發器和Arduino。

Android應用程式可通過按ON按鈕將串行數據發送到藍牙模組HC-05。藍牙模組HC-05用於串行通信。它從應用程式接收數據並通過藍牙模組的TX引腳發送到Arduino的RX引腳。Arduino中上傳的代碼檢查收到的數據。如果接收數據為1,則LED變為ON,如果接收的數據為0,則LED變為OFF。
數字電路圖
Bluetooth Module HC-05        Arduino UNO
TX  --------------------------------> RX (Pin 0)
RX  --------------------------------> TX (Pin 1)
VCC  --------------------------------> 5v
GND  --------------------------------> GND
LED Pin                             Arduino UNO
Pin 1  --------------------------------> GND
Pin 2  --------------------------------> Pin 13

要進行Arduino板的編程,需要下載Arduino軟體。可以從Arduino官方網站: https://www.arduino.cc/ 下載。如下圖所示:

根據您的操作系統相容性(Windows Installer)下載Arduino軟體。
點擊下載(Download),如下所示:
下載成功後,運行安裝程式並按照說明進行操作。




當它要求安裝驅動程式軟體時,單擊然後安裝:


安裝後,打開軟體,如果它生成安全警報,則允許它。

為Arduino UNO主板寫一個程式,如果接收的數據等於1,LED亮,如果數據等於0,則LED熄滅。參考代碼如下:
char data = 0; //Variable for storing received data
void setup()
{
    Serial.begin(9600); //Sets the baud for serial data transmission
    pinMode(13, OUTPUT); //Sets digital pin 13 as output pin
}
void loop()
{
   if(Serial.available() > 0)  // Send data only when you receive data:
   {
      data = Serial.read();        //Read the  incoming  data and store it into variable data
      Serial.print(data);          //Print Value inside data in Serial monitor
      if(data == '1')              // Checks whether value of data is equal to 1
         digitalWrite(13, HIGH);   //If value is 1 then LED turns ON
      else if(data == '0')         //  Checks  whether value of data is equal to 0
         digitalWrite(13, LOW);    //If value is 0 then LED turns OFF
   }
}
保存上面程式並進行編譯。

通過Arduino UNO USB線將Arduino設備連接到筆記本電腦(或顯示器)。在Arduino UNO上傳程式時,刪除Arduino UNO設備(如藍牙模組和LED)的所有其他連接。
編譯代碼後,將其上傳到Arduino UNO設備中。在Arduino上傳代碼之前,UNO設備確保選擇了Arduino串口,否則會生成錯誤消息“未選擇串口”。
要選擇串行端口,請打開“設備管理器” -> “端口” -> “Arduino Uno”,然後上傳代碼。


藍牙模組連接Android應用程式
- 打開藍牙連接器應用程式,然後打開設備的藍牙。
 

- 搜索藍牙設備以進行配對。
 

- 與藍牙HC-05模組配對,請輸入:0000或1234。
 

- 選擇配對設備HC-05以連接Android應用程式。
 

- 控制LED設備。
 

點擊“ON”按鈕,它將數據1發送到藍牙模組,這些數據從藍牙模組傳輸到Arduino設備,並打開LED。點擊“OFF”時,Android應用程式將數據0發送到藍牙模組,此數據從藍牙模組傳輸到Arduino,並關閉LED。


