2012年6月23日 星期六

Bluetooth module configuration

image_thumb352
▲ HC-0x 藍芽模組

如果你有在使用 HC-0x 藍芽模組,在某些時候,你可能會需要調整藍芽模組的設定,比如改變模組的 baud rate,這篇將教你怎麼做。

你需要一個 USB to TTL 的轉換器,比如底下的任何一塊板子:

image image
▲ 左圖:CP2102 的晶片;右圖:PL2303 的晶片,購買資訊可見文後的參考資料

全新的 HC-0x 藍芽模組,預設的設定通常是這樣:

Baud rate: 9600

Name: linvor

Pairing code: 1234

準備工作

1) 首先,把 USB to TTL 跟藍芽模組連接起來:

image

連接的時候有兩點要注意:第一是電源千萬不可接錯,不然可能會把藍芽模組燒壞,第二是 USB to TTL 的 RXD 要接藍芽模組的 TXD,而 USB to TTL 的 TXD 要接藍芽模組的 RXD。連接方法可參考下表:

USB to TTL 轉換器 藍芽模組 備註
5V VCC  
GND GND  
TXD RXD  
RXD TXD  

2) 把 USB to TTL 轉換器接到 PC 上,這時候藍芽模組上的 LED 會一直閃爍:

image

3) 打開 Arduino IDE,選擇藍芽模組所連接的 COM port

我 USB to TTL 轉換器是接在 COM20:

image

所以我選擇 COM20:

image 

4) 打開 Serial Monitor,確定下方用的是 "No line ending":

image

現在可以開始測試藍芽模組的通信,輸入 AT 指令(指令是全部大寫的),然後按下 Send 按鈕或 Enter 鍵,藍芽模組應該會回應 OK:

image
修改 Baud rate

底下示範如何把 baud rate 修改為 57600 bps:

輸入指令:

AT+BAUD7

藍芽模組應該會回應:

OK57600

如下圖所示:

image

由於藍芽模組 baud rate 已經改成 57600,你必須把 Serial Monitor 的 baud rate 改成 57600 才能再跟藍芽模組對話。

修改 baud rate 的指令格式為:

指令:AT+BAUD<p>

回應:OK<r>

baud rate 對應表如下:

<p> <r> 備註
1 1200 設定為 1200 bps
2 2400 設定為 2400 bps
3 4800 設定為 4800 bps
4 9600 設定為 9600 bps
5 19200 設定為 19200 bps
6 38400 設定為 38400 bps
7 57600 設定為 57600 bps
8 115200 設定為 115200 bps
9 230400 設定為 230400 bps
A 460800 設定為 460800 bps
B 921600 設定為 921600 bps
C 1382400 設定為 1382400 bps

注意! 一般 PC 的 COM Port 不支援超過 115200 bps,如果你用 PC 設定模組的 baud rate,不小心設超過 115200 bps,可能之後就無法與之連線。如果你使用 PC,建議不要設超過 115200 bps。或者使用高速的 USB to Serial converter 連接線,例如 Prolific PL-2303 便可以支援到 921600 bps。

修改藍芽設備名稱

底下示範如何把藍芽模組的設備名稱改成 coopermaa:

輸入指令:

AT+NAMEcoopermaa

藍芽模組應該會回應:

OKsetname

如下圖所示:

image

設備名稱要在重開藍芽模組電源後才會改變。要注意設備名稱最多是 20 個字元。

修改配對密碼 (paring code)

底下示範如何把配對密碼 (paring code) 改成 5678:

輸入指令:

AT+PIN5678

藍芽模組應該會回應:

OKsetPIN

如下圖所示:

2012-05-06 17h33_23

注意配對密碼最多為 4 個字元。配對密碼改變後會立即生效。

參考資料

2012年6月20日 星期三

HC-0x bluetooth module

HC-0x 藍芽模組簡介

現在手機跟電腦都有藍芽配備,電子產品或者是互動藝術的作品,如果可以擁有藍芽通訊的能力,便可以跟手機透過藍芽結合起來做各種應用。在這篇,我要介紹一款很方便又經濟,由廣州匯承信息科技所生產的 HC-0x 系列藍芽模組。

image 

上圖是 HC-0x 藍芽模組的外觀,這款藍芽模組可以讓你在範圍 10 米內實現無線傳輸通信,而且可以界接包括 Arduino, 8051, PIC, AVR, ARM, MSP430 等各種 MCU。

產品特性
  • 藍芽協定: Bluetooth V2.0 + EDR (Enhanced Data Rate)
  • 工作頻率:  2.4~2.48GHz, ISM Band
  • 傳輸距離:  空曠地有效距離 10 公尺
  • 介面: UART
  • 輸入電壓: 3.3V ~ 4.2V
  • 工作溫度: -20℃ ~ +75℃
腳位定義

模組照片:

image

原始模組使用工作電壓為 3.3V ~ 4.2V,因為 Arduino 一般是 5V 的,如果要跟 Arduino 連接,得利用 LDO Regulator (Low Drop Out Regulator) 轉換電壓,對一般使用者會有些困難。所幸市面上可以買到帶底板的模組:

image

這類帶底板的模組已經幫你做好了 5V 與 3.3V 電壓轉換,而且還拉出引腳方便連接線路:

image

底下為帶底板藍芽模組腳位定義表:

Pin ID Description
1 EN Enable / Disable module
2 VCC 輸入電壓 3.6V ~ 6V
3 GND Comman Ground
4 TXD UART TXD Output
5 RXD UART RXD Input
6 STATE 藍芽狀態指示,用來判斷藍芽是否已連接
AT 指令集
  • 測試 MCU  與藍芽模組間的 UART 通訊

指令:AT

回應:OK

  • 修改 baud rate

指令:AT+BAUD<p>

回應:OK<r>

其中:

<p> 為 Parameter

<r> 為 Response,回應設為多少 bps

範例:將 baud rate 設定為 57600

指令:AT+BAUD7

回應:OK57600

範例:將 baud rate 設定為 9600

指令:AT+BAUD4

回應:OK9600

<p> <r> 備註
1 1200 設定為 1200 bps
2 2400 設定為 2400 bps
3 4800 設定為 4800 bps
4 9600 設定為 9600 bps
5 19200 設定為 19200 bps
6 38400 設定為 38400 bps
7 57600 設定為 57600 bps
8 115200 設定為 115200 bps
9 230400 設定為 230400 bps
A 460800 設定為 460800 bps
B 921600 設定為 921600 bps
C 1382400 設定為 1382400 bps

注意! 一般 PC 的 COM Port 不支援超過 115200 bps,如果你用 PC 設定模組的 baud rate,不小心設超過 115200 bps,可能之後就無法與之連線。如果你使用 PC,建議不要設超過 115200 bps。或者使用高速的 USB to Serial converter 連接線,例如 Prolific PL-2303 便可以支援到 921600 bps。

  • 修改藍芽設備名稱(預設為 linvor)

指令:AT+PIN<p>

回應:OKsetname

其中:

<p> 為 Parameter,即設備名稱,有效字元 20 個

範例:將藍芽設備名稱改為 coopermaa

指令:AT+PINcoopermaa

回應:OKsetname

  • 修改藍芽配對密碼(預設為 1234)

指令:AT+PIN<p>

回應:OKsetPIN

其中:

<p> 為 Parameter,即配對密碼,有效字元 4 個

範例:將配對密碼改為 5678

指令:AT+PIN5678

回應:OKsetPIN

文件資料下載
參考資料

2012年6月14日 星期四

MultiColorLamp

這篇是寫給 amarino 初學者看的,目的是教導你如何執行 Amarino 的 MultiColorLamp 範例程式。

所需材料
  • Android 手機一支
  • Arduino x1
  • bluetooth module x 1
  • 紅色 LED, 綠色 LED 及藍色 LED 各一顆,或是一顆 RGB Led
  • 220 歐姆電阻 x 3
Step 1:安裝 Amarino

http://www.amarino-toolkit.net/ 下載下列 App 並安裝到 Android 手機上:

1) Amarino

2) Amarino Plug-in Bundle

3) Multicolorlamp (這是 buildcircuit.com 的版本)

Step 2: 安裝 Arduino IDE 與 MeetAndroid Library

如果你電腦上還沒有 Arduino IDE,請先到 http://arduino.cc/en/Main/Software 下載軟體,下載後解壓縮即可。

接著下載 MeetAndroid Library,把 MeetAndroid 解到 Arduino IDE 安裝目錄下的 libraries 資料夾下。

重新啟動 Arduino IDE,在 Sketch > Import Library 底下應該會看到 MeetAndroid,如下圖:

image_thumb42

Step 3:連接 LED

參考下圖,把紅、綠、藍三顆 LED 分別接到 pin 9, 10, 11,LED 的接法為: 長腳(陽極)接到 pin 腳,而短腳(陰極)串接一顆 220 ohm 電阻接到 GND:

image

Step 4: 上傳 MultiColorLamp Tutorial 程式

點 File > Examples > MeetAndroid > MultiColorLamp Tutorial 打開 MultiColorLamp Tutorial 程式:

image

程式所用的 baud rate 預設是 57600 bps,如果你的藍芽模組不是 57600 bps,請做適當的調整:

image

配合 MulticolorLamp App,照下圖紅框處所示調整程式碼,將 'o', 'p', 'q' 三個事件旗號改成 'r', 'g', 'b':

image

然後把程式上傳到 Arduino 板子上。

Step 5:連接藍芽模組

我用的是廣州匯承信息科技的 HC-0x 系列藍芽模組,下圖是 HC-0x 藍芽模組的外觀:

image_thumb35222 image_thumb64222
▲ HC-0x 藍芽模組 (圖左:正面圖,圖右:背面圖)

這個藍芽模組的連接方法很簡單,照下表把 Arduino 和藍芽模組連接起來就好:

Arduino 藍芽模組 備註
5V VCC 注意電源不可接錯
GND GND 注意電源不可接錯
RXD TXD  
TXD RXD  

image_thumb1322

連接的時候有兩點要注意:第一是電源千萬不可接錯,不然可能會把藍芽模組燒壞,第二是 Arduino 的 RXD 要接藍芽模組的 TXD,而 Arduino 的 TXD 要接藍芽模組的 RXD。

通電之後,藍芽模組上的 LED 會一直閃爍:

image_thumb133222

Step 6:執行 MultiColorLamp App

首先,先利用 Amarino 搜尋藍芽設備,找到設備後,將藍芽設備的 MAC Address 抄起來(記得不要在 Amarino 設定任何 Event!):

image_thumb143

打開 MultiColorLamp App,輸入剛剛抄下來的 MAC Address,然後按下【Set Device ID】:

image

如果一切順利,Android 手機就會跟 Arduino 建立連線,並且呈現如下圖的畫面:

image

當你滑動 Red, Green, Blue 三個 SeekBar,這時候 Arduino 上三顆 LED 便會同步改變亮度:

image

示範影片(影片裏用的是一顆 RGB Led):

參考資料

2012年6月12日 星期二

SensorGraph

這篇是寫給 amarino 初學者看的,目的是教導你如何執行 Amarino 的 SensorGraph 範例程式。

所需材料
  • Android 手機一支
  • Arduino x1
  • bluetooth module x 1
  • 可變電阻或光敏電阻 (Light dependent resistor) x 1
Step 1:安裝 Amarino

http://www.amarino-toolkit.net/ 下載下列 App 並安裝到 Android 手機上:

1) Amarino

2) Amarino Plug-in Bundle

3) SensorGraph (這是 buildcircuit.com 的版本)

Step 2: 安裝 Arduino IDE 與 MeetAndroid Library

如果你電腦上還沒有 Arduino IDE,請先到 http://arduino.cc/en/Main/Software 下載軟體,下載後解壓縮即可。

接著下載 MeetAndroid Library,把 MeetAndroid 解到 Arduino IDE 安裝目錄下的 libraries 資料夾下。

重新啟動 Arduino IDE,在 Sketch > Import Library 底下應該會看到 MeetAndroid,如下圖:

image_thumb4

Step 3:連接可變電阻或光敏電阻

參考下圖,把可變電阻中間腳位接到 Analog Input pin 5,剩下的兩支腳位,一支接到 5V,另外一支接到 GND:

image

如果你使用的是光敏電阻,電路的接法請參考這篇

Step 4: 上傳 SensorGraph Tutorial 程式

點 File > Examples > MeetAndroid > SensorGraph Tutorial 打開 SensorGraph Tutorial 程式:

image

程式所用的 baud rate 預設是 57600 bps,如果你的藍芽模組不是 57600 bps,請做適當的調整:

image

然後把程式上傳到 Arduino 板子上。

Step 5:連接藍芽模組

我用的是廣州匯承信息科技的 HC-0x 系列藍芽模組,下圖是 HC-0x 藍芽模組的外觀:

image_thumb3522 image_thumb6422
▲ HC-0x 藍芽模組 (圖左:正面圖,圖右:背面圖)

這個藍芽模組連接方法很簡單,照下表把 Arduino 和藍芽模組連接起來就好:

Arduino 藍芽模組 備註
5V VCC 注意電源不可接錯
GND GND 注意電源不可接錯
RXD TXD  
TXD RXD  

image_thumb132

連接的時候有兩點要注意:第一是電源千萬不可接錯,不然可能會把藍芽模組燒壞,第二是 Arduino 的 RXD 要接藍芽模組的 TXD,而 Arduino 的 TXD 要接藍芽模組的 RXD。

通電之後,藍芽模組上的 LED 會一直閃爍:

image_thumb13322

Step 6:執行 SensorGraph App

首先,先利用 Amarino 搜尋藍芽設備,找到設備後,將藍芽設備的 MAC Address 抄起來(記得不要在 Amarino 設定任何 Event!):

image_thumb14

打開 SensorGraph App,輸入剛剛抄下來的 MAC Address,然後按下【Set Device ID】:

image

如果一切順利,Android 手機就會跟 Arduino 建立連線,並且呈現如下圖的畫面。其中,畫面上方會繒製感測讀值的圖形,而下方則顯示其即時數值(至於最底下的 SeekBar,因為我們沒有用到,所以可以忽略不管):

image

示範影片(影片裏用的感測器是光敏電阻):

參考資料

2012年6月2日 星期六

以 Amarino 連接 Android 與 Arduino

這篇說明如何以 Amarino 通過藍芽連接 Android 與 Arduino,可作為 Amarino 入門的第一步

所需材料
  • Android 手機一支
  • Arduino x1
  • bluetooth module x 1
Step 1:安裝 Amarino

http://www.amarino-toolkit.net/ 下載底下兩個 App 並安裝到 Android 手機上:

1) Amarino

2) Amarino Plug-in Bundle

Step 2: 安裝 Arduino IDE 與 MeetAndroid Library

如果你電腦上還沒有 Arduino IDE,請先到 http://arduino.cc/en/Main/Software 下載軟體,下載後解壓縮即可。

接著下載 MeetAndroid Library,把 MeetAndroid 解到 Arduino IDE 安裝目錄的 libraries 資料夾下。

重新啟動 Arduino IDE,然後在 Sketch > Import Library 底下應該會看到 MeetAndroid,如下圖:

image

Step 3: 上傳 Test 程式

點 File > Examples > MeetAndroid > Test 打開 Test 程式:

image

Test 程式所用的 baud rate 預設是 57600 bps,如果你的藍芽模組不是 57600 bps,請做適當的調整:

image

然後把程式上傳到 Arduino 板子上。

Step 4:連接藍芽模組

我用的是廣州匯承信息科技的 HC-0x 系列藍芽模組,下圖是 HC-0x 藍芽模組的外觀:

image_thumb352 image_thumb642
▲ HC-0x 藍芽模組 (圖左:正面圖,圖右:背面圖)

這個藍芽模組連接方法很簡單,只要照下表把 Arduino 和藍芽模組連接起來就好:

Arduino 藍芽模組 備註
5V VCC 注意電源不可接錯
GND GND 注意電源不可接錯
RXD TXD  
TXD RXD  

image_thumb13

連接的時候有兩點要注意:第一是電源千萬不可接錯,不然藍芽模組可能會壞掉,第二是 Arduino 的 RXD 要接藍芽模組的 TXD,而 Arduino 的 TXD 要接藍芽模組的 RXD。

通電之後,藍芽模組上的 LED 會一直閃爍:

image_thumb1332

Step 5:測試連線

打開 Android 手機上的 Amarino App,點擊【Add BT Device】(如下圖左)搜尋藍芽設備,如果藍芽模組有正確安裝,便會出現在列表中(如下圖右):

image image

點選找到的藍芽設備,接著會進到設備列表:

image 

點一下上圖紅框框起來的圖示,接著點【Add Event】(如下圖左)顯示可用的 Events,然後點選【Test Event】(如下圖右):

imageimage

進入設定頁面後,直接點下面的【Save】鈕(如下圖左),此時藍芽設備已增加了一個 Test Event,如下圖右:

image image

按下手機 Back 鍵回到設備列表畫面(如下圖左),點選【Connect】鈕跟 Arduino 連線,如果是第一次與此藍芽設備連線,Android 手機會出現「藍芽配對要求」的畫面,必須輸入配對密碼(一般為 0000 或 1234)才能與此藍芽設備連線(如下圖右):

imageimage

如果成功建立連線(如下圖),Amarino 便會每隔 3 秒發送一個數值介於 0 到 255 的 random number 給 Arduino,假如 Arduino 上的 LED 燈號(在 pin 13 上)會每隔 3 秒閃爍一下,那麼恭禧你,因為你的 Android 手機已經成功和 Arduino 建立通訊了。

image

如果想知道 Amarino 背景在做什麼,可以點選【Monitoring】鈕以觀察背後的通訊過程:

image

參考資料