2012年2月28日 星期二

Netduino 與 Android 藍芽通訊


Android 自從發表 ADK 後,與 Arduino已經變成好兄弟了,但是 Netduino 該如何與 Android 通訊呢?
參考網路上有個 Amarino計畫,是使用藍芽模組完成 Android 與 Arduino之間通訊的一組程式庫,將這個程式庫改寫一下應該也可讓 Netduino 與 Android 變成麻吉吧。
image
我所使用的藍芽模組是 sparkfun 的 Bluetooth mate Gold (WRL09358),有六個接腳,由左而右依序是DTS-0、RX-1、TX-0、VCC、CTS-1、GND。產品特色如下,特色第一點就表明這是為 Arduino 所設計的...,Netduino應該也可用吧?
Designed to work directly with Arduino Pro's and LilyPad main boards
FCC Approved Class 1 BluetoothR Radio Modem
Very robust link both in integrity and transmission distance (100m) - no more buffer overruns!
Low power consumption : 25mA avg
Hardy frequency hopping scheme - operates in harsh RF environments like WiFi, 802.11g, and Zigbee
Encrypted connection
Frequency: 2.4~2.524 GHz
Operating Voltage: 3.3V-6V
Serial communications: 2400-115200bps
Operating Temperature: -40 ~ +70C
Built-in antenna
image image
手機端是使用 Amarino 範例改寫的一個簡單程式(如下圖左側),手機畫面左上角的 Button 按鈕可以將按鈕下面的數值(圖片中的數字1)不斷增加兩倍,並且透過無線藍芽送出到藍芽模組,再轉送給 Netduino,進而控制接在 pin9 的LED的亮度。(1~最暗、128~最亮)
image
Netduino 控制板的 analog Input 0 連接一個可變電阻,選轉可變電阻可以改變類比輸入電壓,進而轉換成數位值(介於0~1023),手機端左上角中間的數字(圖片中的537),就是接收 Netduino 經由藍芽模組發送過來的數值資料,手機下方的白底紅線圖是這個數值資料在時間軸上所畫出來的折線圖。
下圖是實驗線路,
image     

接下來就是影片時間了,影片中先試著連續按下Button,可看到數值不斷變大,同時 Netduino 連接的LED也不斷變亮,再來就是旋轉可變電阻,可以觀察到手機程式的數值也不斷變化,同時也畫出了圖形。過程都是透過藍芽無線傳輸。

4 則留言:

  1. 您好!可以麻煩您把這個手機端 Amarino 範例程式提供給我嗎!?最近使用這顆藍芽不太會用... 謝謝!!

    回覆刪除
  2. 作者已經移除這則留言。

    回覆刪除
  3. 您好,我最近練習有關你影片繪圖的功能
    不知道是否可以跟你要Android那邊的程式,謝謝
    我的mail:pelrbaron@gmail.com

    回覆刪除
  4. Can I have your android code?

    Here is my email: knight414@hotmail.com

    回覆刪除