2014年10月6日 星期一

透過藍牙無線更新Arduino UNO 軟體



Lab7-1 透過藍牙為 Arduino UNO 做更新,如此一來就不用一直接著USB線,亦或是可以把它放入盒子內。



準備下方模組

Arduino                  *1 
藍牙HC-05              *2 (主從各一個)
USB to Serial 模組  *1
杜邦線數條


利用AT command 設定藍牙模組

1. 將藍牙模組連接上USB to Serial 模組,並接至電腦。


2. 開啟Arduino IDE 的 Serial monitor,並設定下方紅圖部份,並下AT 確定是否可成功收到OK 


利用下方AT Command 設定主機:
AT+ROLE=1
AT+UART=115200,1,0

利用下方AT Command 設定從機:
AT+ROLE=0

AT+UART=115200,1,0

將自動重啟程式上傳至你的Arduino UNO中 

#define RESET_PIN 7
#define RESET_CMD_SIZE 4
char myChar;
int i=0;
static char RECEIVE_RESET_CMD[RESET_CMD_SIZE] = {0x00, 0x00, 0x00, 0x00};
void reset() {
Serial.println("Reset");
digitalWrite(RESET_PIN, LOW);
delay(100);
digitalWrite(RESET_PIN, HIGH);
}
void setup() {
digitalWrite(RESET_PIN, HIGH);
Serial.begin(115200);
Serial.println("Start");
pinMode(RESET_PIN, OUTPUT);
}
void loop() {
while (Serial.available()) {
myChar = Serial.read();
if (myChar == 0x30 || myChar == 0x20) {
RECEIVE_RESET_CMD[i]=myChar;
if (RECEIVE_RESET_CMD[0] == 0x30 &&
RECEIVE_RESET_CMD[1] == 0x20 &&
RECEIVE_RESET_CMD[2] == 0x30 &&
RECEIVE_RESET_CMD[3] == 0x20 ) {
reset();
}
i++;
}
else { i=0;}
}
}
view raw gistfile1.txt hosted with ❤ by GitHub

或由 Auto_upload.ino 直接下載,上傳完成後,將 Pin7 連至 Arduino UNO 上 Reset Pin

通過藍牙上傳軟體

1, 將藍牙主機接上"USB to Serial 模組",並在Arduino IDE上選擇對應之COM port 


2, 將藍牙從機接上Arduino UNO,並接上UNO電源後,注意主從藍牙燈號,確定雙方已連線成功

3, 點墼Arduino IDE 上傳按鈕。




  


沒有留言:

張貼留言