Arduino和藍芽模組控制LED專案


在本文中,將演示如何使用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。

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/ 下載。如下圖所示:

Arduino下載

根據您的作業系統相容性(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應用程式

  1. 開啟藍芽連線器應用程式,然後開啟裝置的藍芽。

  1. 搜尋藍芽裝置以進行配對。

搜索藍牙

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

藍牙配對

  1. 選擇配對裝置HC-05以連線Android應用程式。

連接Android應用程序

  1. 控制LED裝置。

控制LED設備

點選「ON」按鈕,它將資料1傳送到藍芽模組,這些資料從藍芽模組傳輸到Arduino裝置,並開啟LED。點選「OFF」時,Android應用程式將資料0傳送到藍芽模組,此資料從藍芽模組傳輸到Arduino,並關閉LED。

LED關閉

LED開啟