2018年4月23日 星期一

雙A學習18041.藍芽模塊4針HC06

Arduino加Android=雙A,要安卓控制UNO,藍牙模塊不可少,
此模塊透過藍芽通訊與其他設備連結,大多是手機,
HC06為從式Slave,由手機去搜尋模塊的連線方式,圖
以下為Win7+Arduino1.6.6+UNO及安卓測試
注意AT模式和使用模式接腳方式是不同的,
若不修改設定可跳過設定模式,直接使用,
在AT設定模式下的腳位連接
RXD接UNO的RX-P0
TXD接UNO的TX-P1
GND接UNO的GND
Vcc接UNO的5v

接好線路後UNO與電腦連結,此時HC06的燈為快閃,
在電腦上執行IDE介面程式,
打開監控視窗,調整鮑率為9600,此為HC06的原廠預設,
選擇"沒有行結尾"No line ending,
於輸入欄打入AT,注意大寫,監視窗會回傳顯示OK,
若輸入後無回覆顯示,請檢查RX及TX接線是否勞固正確,
或上傳空程式確認設定,若出現錯誤請電腦重新開機,,圖

進入AT模式後HC06的一般指令,
測試:AT
查詢版本:AT+VERSION(測試為v1.8)
改名為XYZ:AT+NAMEXYZ(預設名稱HC-06)
設密碼為1234:AT+PIN1234(預設密碼1234)
設定鮑率為9600:AT+BAUD4(預設鮑率9600)
編號    鮑率
BAUD1    1200
BAUD2    2400
BAUD3    4800
BAUD4    9600出廠預設
BAUD5    19200
BAUD6    38400
BAUD7    57600
BAUD8    115200

試著改成自己要的設定並記錄,關閉程式後移除機板,
將RX/TX更換成"使用模式"的腳位連接,
RXD接UNO的P11
TXD接UNO的P10
GND接UNO的GND
Vcc接UNO的5v
可在P13和GND加上LED燈,,圖

接好線路連接電腦執行介面程式,此時HC06燈號快閃,上傳程式

#include <SoftwareSerial.h>   // 引用程式庫
SoftwareSerial BT(10, 11); // 接TX和RX
char tx;  // 接收字元

void setup() {
  Serial.begin(9600);   // 電腦鮑率
  BT.begin(9600);  // 藍芽鮑率
  pinMode( 13 , OUTPUT);  //被控燈號
  }

void loop() {
  // 收到藍牙資料顯示在監控視窗
  if (BT.available()) {
    tx = BT.read();
    Serial.print(tx);
  //當收到藍牙A亮燈,B熄燈
  if ((tx) == ('A') )
    digitalWrite( 13 , HIGH );
  if ((tx) == ('B') )
    digitalWrite( 13 , LOW );
  }
}

上傳後打開監控視窗,一樣確認鮑率及沒結尾模式,待機,
以上UNO軟硬體部分算完成,再來手機部分,
可自行編寫或在APP商城有很多藍芽對Arduino用的程式,
以下使用Arduino bluetooth controller, 圖

此APP有4種功能,從簡易的開關,和遊戲控制板,
及調光調速,也有字串的輸入,
安裝APP等待下載先不執行,手機先開啟藍芽,
搜尋HC06點擊配對輸入密碼1234,
再執行安裝完成的Arduino bluetooth controller,
點連HC06,會出現4個模式,先選用第4個Terminal mode,,圖 

在手機輸入列任意打入英文字或數字送出,將會顯示在電腦的監控視窗上,
無正常顯示中文,可試著輸入大寫A和大寫B,,圖

文字輸入沒問題則手機退出type文字模式,選擇Switch開關模式,
初次使用需設定或點擊右上編輯鍵,
將綠鍵修改為大寫A,紅鍵修改為大寫B,完成後點擊手機中的大開關,
此時Pin13的燈亮起,監控視窗顯示A,再點一次手機大開關,
此時Pin13的燈熄滅,監控視窗顯示B,可自行在Pin13加上LED燈,,圖

到此如果都順利,那APP中的controller遊戲控制器模式應該知道如何運用了吧,圖
   
www.ee543.com