2012年7月11日 星期三

C# and Arduino over Bluetooth

在 "Talk with Arduino using C# and Firmata" 一文中,我們提到如何利用 Firmata.NET 跟 Arduino 建立通訊。當時PC 是通過 COM 連接埠跟 Arduino通訊 (也就是用 USB cable 連接 Arduino 與 PC),這次我們將改用藍芽讓 C# 程式與 Arduino 建立通訊。底下以 HC-0x 藍芽模組為例說明:

1) 確定藍芽模組 baud rate 為 57600 bps。藍芽模組 baud rate 設定方法請參考 "Bluetooth module configuration", "Config bluetooth baud rate w/ Arduino" 或 "Arduino as an USB to TTL adapter"

2) 上傳 StandardFirmata 到 Arduino:打開 Arduino IDE,點選 File > Examples > Firmata > StandardFirmata,把程式上傳到 Arduino 板子上,切記在上傳程式的時候不要接藍芽模組,不然可能會影響上傳程序。

連接 Arduino 與藍芽模組

把 Arduino 5V  接到藍芽模組的 VCC,而 GND 接到 GND:

image_thumb1

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

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

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

image_thumb133

執行 C# Example

參考 "Loop back test" 一文建立電腦跟藍芽模組之間的配對,並且記住配對完成之後的藍芽連接埠號碼,本例用的是 COM21。

下載 C# 範例程式,打開 Blink 範例。選好 Serial Port (本例為 COM21),按下 Open 鈕:

2012-05-06 23h56_55

順利的話,Arduino 板子上的 LED 燈就會不斷地閃爍,亮一秒,滅一秒,如此循環不已:

image
▲ pin 13 上的 LED (L)

如果你有興趣,可以進一步參考 "Talk with Arduino using C# and Firmata" 一文,然後試一試 AnalogRead 和 Fade 這兩個範例。

參考資料

0 意見: