2016年11月5日 星期六

老皮講堂-如何藉由Arduino跟安卓手機的通訊來控制一顆LED燈的明滅

大家好! 今天主要來簡單介紹一下, 怎麼透過Arduino板子及藍芽模組(HC-05)來跟Android手機做個連接. 讓手機上的App軟體可以控制麵包板上的LED燈開與關.

1. 首先我們必須先去下載一個App軟體, 名字叫作 " LED Controller "
這個軟體, 我們可以去以下這個網站下載.
https://github.com/Mayoogh/Arduino-Bluetooth-Basic

最主要我們要能下載到 "LED Controller.apk" 這個檔案. 我們可以使用電腦下載後,
再藉由E-mail附加此檔案寄信到自己的信箱, 然後用手機去開啟便可以安裝.
以下就是這個軟體的icon. 安裝好了, 當然我們就可以在手機上開啟這個Free軟體.














2. 接下來, 這邊使用了一個類似Arduino UNO的板子叫做Funduino, 當然它的功能是跟Arduino UNO一樣, 只是它多了一些讓USER方便使用的針腳.
 
怎麼接線, 請參考下面的接線圖.

整體的接線圖如上, 其中藍芽模組是使用型號為HC-05.

LED在麵包板上, 正極(長腳)會串接一個220歐姆的電阻, 避免LED燒掉, 然後接到MB上Power插孔的5V,負極則接到Power插孔的接地Gnd.









HC-05上面的接線如左, 其中Vcc請接到數字接口Pin 13, GND則接到數字接口Pin 的GND.
RXD則接到數字接口Pin1(TX).
TXD則接到數字接口Pin0(RX).
請注意: RXD跟TXD接到主板上的TX跟RX是正好相反喔!














3. 燒錄程序, 這個程序的來源同樣來自https://github.com/Mayoogh/Arduino-Bluetooth-Basic
程序內容如下:

/*
 *  Bluetooh Basic: LED ON OFF - Avishkar
 *  Coder - Mayoogh Girish
 *  Website - http://bit.do/Avishkar
 *  Download the App :
 *  This program lets you to control a LED on pin 13 of arduino using a bluetooth module
 */
char data = 0;                //Variable for storing received data
void setup()
{
  Serial.begin(9600);         //Sets the data rate in bits per second (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
    Serial.print("\n");        //New line
    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
  }                          

}

4. 接下來, 我們可以開始進行測試了. 當然首先需要進行藍芽連線. HC-05的連線密碼一般是0000 或者 1234,  自己試試應該可以. 接著開啟" LED Controller "這個App程式.
 

此程式的第一個畫面, 就是讓你確認藍芽模組配對無誤, 接著進入第二個畫面, 即是一個簡單的ON跟OFF開關, 很清楚地, 當你按下ON時LED就會亮燈, 當你按下OFF時LED就會熄滅. 若操作無誤, LED有正常運作, 這樣就算完成了這個課程.

PS : 你也可以參考Arduino官方網站的教學說明.
https://create.arduino.cc/projecthub/user206876468/arduino-bluetooth-basic-tutorial-d8b737?ref=platform&ref_id=424_trending___&offset=120

沒有留言:

張貼留言