既然都已經連結硬體Serial Port了,那是否可以從藍牙來「無線」上傳程式呢?查詢了一下資訊,有人製作Bluetooth Sheild可以無線更新程式,也有人從藍牙模組上另外焊一條線來達成。研究了一下,我想應該是跟上傳程式時需要 reset 有關(跟之前Arduino Pro Mini的問題很像)。於是我就測試了一下,發現就算是用HC-06,只要在上傳程式時在藍牙連接成功時(此時HC-06的LED會從閃爍變成長亮)按一下reset,就可以順利上傳程式。
實驗條件:
- Arduino Nano 3.0
- HC-06 (baud rate 57600)
- 直接連接pin 0/1
- Arduino IDE(1.6.0)裡連接埠選該藍牙序列埠
- 看到HC-06 LED長亮(表示連結成功時),按一下Nano的reset鍵
查詢過Arduino對Nano的介紹,官網倒是說需要送LOW訊號給 reset 腳位當做DTR(Data Terminal Ready),所以我也不太明白為何送HIGH訊號給 reset 也可以。總之,不管是HC-06或HC-05,都可以比較方便的「不用拔線」來上傳程式了。尤其HC-05,可以實現「無線」傳輸程式,適合當你的專案需要更新程式,而它又安裝在不適合去接USB線的位置,不用買Yun也可以達成這樣的功能呢。
這裡有測試程式,上傳至Arduino後可從Terminal工具傳送指令給Arduino來點亮或熄滅LED
P.S. 看大家購買的藍牙模組好像接線與AT指令都不太一樣,還是要詳讀你模組提供的手冊來進行,以免不小心燒壞了藍牙模組呢。
沒有留言:
張貼留言