用手機 APP 滑桿 Slider 功能

透過藍牙 HC-05 操制 RGB LED

HC-05

HC-05 或 HC-06 藍牙無線通訊模組,經由 2.4 GHz 頻段來傳輸通信字元,為藍牙 2.1 版本,傳輸距離約10公尺。此兩款藍牙模組,常被用來搭配 Arduino ,和安卓 Android 手機傳輸通訊。

本練習採用藍牙模組 HC-05,連接 Arduino,用手機 APP 滑桿 Slider 功能,無線操控一個 RGB LED。安卓 Android 手機請上 Play Store ,下載應用程式 APP “RoboRemoFree Arduino Bluetooth” by Hardcoded joy 。或在 Play Store 中輸入 Arduino Bluetooth Control ,查詢並下載任何可以藉由滑桿 Slider 傳輸 0-255 字元 的 APP。

若你使用 iPhone,請選用藍牙模組 HM-10。HM-10 為藍牙 4.0 版本,低功耗設計,傳輸距離可達50公尺。手機APP,請至 APP Store,下載任何可透過藍牙 HM-10 傳輸字元,並有滑桿 Slider 功能的應用程式。

材料和接線圖

Arduino UNO x1

HC-05 藍牙無線通訊模組 x1

RGB LED 共陰 x1

電阻 220-330 歐姆 x3

Android手機 x1 已下載應用程式 “RoboRemoFree Arduino Bluetooth” by Hardcoded joy

電線數條

分別分享 Arduino 5V and GND 至麵包板的紅線和藍線

RGB LED 四肢腳中最長的那一隻腳直接連接 GND (黑線);其他的腳先接電阻,電阻的另一端依照紅綠藍顏色分別連接 Arduino pin 11, 10, 9。

HC-05 VCC 連接 Arduino 5V,GND 接 Arduino GND,TXD 接 Arduino RXD pin 0,RXD 接 Arduino TXD pin 1。之所以這樣接,是因為藍牙在傳送字元時 (Transmit Text),Arduino 接收字元 (Receive Text)。反之,Arduino 傳送字元時,藍牙則接收字完。不要接錯。

上傳程式

有藍牙連接 Arduino 時,上傳程式以前,要先拔掉 Arduino pin0 和 pin 1 的連接線。待程式上傳至 Arduino 完成後,再把兩條線接回去。

複製下列程式於 Arduino IDE中,點擊 ”工具”,確認開發板是 Arduino/Genuino Uno, 序列埠 Port COM已接上,再點擊 ”上傳”。

手機請按照 YouTube 影片所指示的步驟,打開 APP,配對藍牙,製作滑桿,設定各個滑桿顏色、id 和功能。

第一次配對藍牙時,會要求輸入密碼 “1234”。當藍牙的閃燈變慢時,表示配對成功。

打開 Arduino 序列埠監視器,可看到所接收到的各個滑桿顏色值 0-255。最小值為 0,最大值為 255。

創客點子

1. 把 RGB LED 換成伺服馬達 servo motor,用手機 APP 一根滑桿來轉動伺服馬達。

程式中變數 val 的值為 0-255,需要被轉換成伺服馬達的轉動角度值 0-180。可用指令

val = map(val, 0, 255, 0, 180)

2. 看此練習原始作者的影片:

Arduino Bluetooth RGB LED controlled from Android phone with RoboRemo app

使用此 APP 提 供的其他功能。