需求:
- 由一台手機操控兩條不同的RGB燈條
- 效果由自己設定(很簡單,一條固定單色,另一條也固定單色但要有滑順穩定的呼吸效果)
- 同時開關
第一步,我們必須先讓Arduino和藍芽接收器結合,所以就準備了一台Arduino Micro、一台HC-06藍芽接收器,趕快來讓他們合體吧!!
介紹一下為什麼我會選Arduino Micro和HC-06。因為我要體積小,所以只能選Micro(其實還有Nano,但他的USB接頭是Mini USB,現在已經快淘汰了,而且我絕對不會說蝦皮上買到的Nano不是原廠出的,而Micro可以買到原廠的,用IDE燒錄程式比較順利)。藍芽接收設備有HC-05和HC-06,HC-05功能較多,但我只需要單純的接收由手機傳來的資料,所以買便宜一些些的HC-06就好了。
好了之後就來看一下接線圖:
由於Arduino Micro提供了另外一組獨立的Serial Tx/Rx,所以我們可以不用插在Digital Pin,直接將HC-06的Tx接在Arduino的Rx,HC-06的Rx接在Arduino的Tx。
注意!!有看到那顆1k電阻嗎?因為HC-06的Tx/Rx最高只接受3.3V的電壓,而Arduino的輸出可能會達5V,為了怕燒壞HC-06,所以我們接了顆1k的限流電阻,意義跟LED的限流電阻一樣避免高電壓直接進入元件。
接好了之後就可以開啟Arduino IDE來編寫簡單的程式連線到HC-06,看看功能是否正常了!
底下是程式碼:
//使用Arduino Micro,Serial1使用獨立街口RX/TX //上傳程式到Arduino時,請斷開與HC-06的連線 void setup() { Serial.begin(9600); while(!Serial){ //(重要)等待開啟Serial Port才可繼續下一步 } Serial.println("Serial準備好了"); // 設定藍牙模組的連線速率(Arduino Micro提供另一組名為Serial1的序列埠,可直接使用Tx/Rx接腳 // 如果是HC-05,請改成38400 Serial1.begin(9600); while(!Serial1){ //(重要)等待開啟Serial1 Port才可繼續下一步 } Serial.println("Serial1準備好了"); } void loop() { // 若收到「序列埠監控視窗」的資料,則送到藍牙模組 if (Serial.available()){ Serial1.print(Serial.read()); } // 若收到藍牙模組的資料,則送到「序列埠監控視窗」 if (Serial1.available()) { Serial.print(Serial1.read()); } }
好了之後就可以上傳到Arduino內,注意在上傳前,先把Arduino上連接到HC-06的Tx/Rx接線拔掉,等上傳完成之後再插上,避免HC-06損壞。
上傳完成之後,Reset Arduino,接著打開IDE上的「序列埠監控視窗」,若連接正確,應該可看到底下畫面:
兩個序列埠都正常開啟的話就會顯示Serial is ready與Serial1 is ready。接著我們就可以輸入AT指令看看HC-06功能是否正常,但在對HC-06輸入指令前須注意底下兩者必須選擇正確:
接著就可在上方文字框輸入AT,再按下enter或是右邊傳送鈕,沒意外的話應該可以看到下方會回應OK:
這樣就代表我們Arduino與HC-06連接正常啦!!!還有一些AT指令也可以使用:
注意上面指令和參數是要連在一起的
還有一點,HC-06在通電之後,但還未被藍芽連線之前,狀態燈是會快速閃爍,要在此狀態下才能執行AT指令。
Arduino與HC-06連接沒問題之後,接著就準備增加我們需要的電路囉!
註:這篇文章只是我對這個控燈專案的一個筆記,所以只會介紹重點部分,對於各硬體的介紹網路有很多文章可以參考~
--
相關文章:
[筆記]Arduino與HC-06藍芽遠端控制WS2812B - [2] 控制Relay
--
參考資料:
HC-05與HC-06藍牙模組補充說明(一)
HC-05與HC-06藍牙模組補充說明(二):連接電路
HC-05與HC-06藍牙模組補充說明(三):使用Arduino設定AT命令
上傳完成之後,Reset Arduino,接著打開IDE上的「序列埠監控視窗」,若連接正確,應該可看到底下畫面:
兩個序列埠都正常開啟的話就會顯示Serial is ready與Serial1 is ready。接著我們就可以輸入AT指令看看HC-06功能是否正常,但在對HC-06輸入指令前須注意底下兩者必須選擇正確:
接著就可在上方文字框輸入AT,再按下enter或是右邊傳送鈕,沒意外的話應該可以看到下方會回應OK:
這樣就代表我們Arduino與HC-06連接正常啦!!!還有一些AT指令也可以使用:
- AT+NAMEXYZ:將HC-06名稱改為XYZ
- AT+PIN8787:將連線密碼改為8787
注意上面指令和參數是要連在一起的
還有一點,HC-06在通電之後,但還未被藍芽連線之前,狀態燈是會快速閃爍,要在此狀態下才能執行AT指令。
Arduino與HC-06連接沒問題之後,接著就準備增加我們需要的電路囉!
註:這篇文章只是我對這個控燈專案的一個筆記,所以只會介紹重點部分,對於各硬體的介紹網路有很多文章可以參考~
--
相關文章:
[筆記]Arduino與HC-06藍芽遠端控制WS2812B - [2] 控制Relay
--
參考資料:
HC-05與HC-06藍牙模組補充說明(一)
HC-05與HC-06藍牙模組補充說明(二):連接電路
HC-05與HC-06藍牙模組補充說明(三):使用Arduino設定AT命令
沒有留言:
張貼留言