我試圖讓我的Arduino UNO板與BlueSmirf Gold一起工作(http://www.sparkfun.com/products/10268)。檢查我的Arduino板上的藍牙模塊是否工作
我有線它作爲各種教程解釋(例如這裏:http://www.instructables.com/id/how-to-Control-arduino-by-bluetooth-from-PC-pock/)
我設置波特率爲9600的解釋在這裏:http://forum.sparkfun.com/viewtopic.php?p=94557
我管理連接到它使用默認Arduino串行終端,ZTerm和我的手機(使用Amarino)。在任何情況下,藍牙調制解調器上的綠燈亮起,直到看起來不錯。
主要問題是我的調制解調器似乎無法發送/接收任何東西(唯一一次我有任何響應是當我設置波特率爲9600)。
例如,我有這樣的代碼(這裏簡化,但其主要思想是存在):
int out_pin = 2;
String readLine() {
char command[100];
int i = 0;
if(Serial.available()){
delay(100);
while(Serial.available() > 0 && i< 99) {
command[i++] = Serial.read();
}
command[i++]='\0';
Serial.flush();
}
Serial.print("command: ");
Serial.println(command);
return (String) command;
}
void menu() {
if (Serial.available() <= 0) {
return;
}
String command = readLine();
// Do thing based on the command
}
void setup() {
pinMode(out_pin, OUTPUT);
Serial.begin(9600);
}
void loop() {
menu();
}
從邏輯上講,當我通過終端發送的東西,我應該拿回來(這是什麼情況當使用USB串口時)。 當我通過藍牙連接到電路板時,它只是保持沉默。
我也試過這段代碼:使用USB串口時
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.println("Spam ...");
}
工作正常,但使用藍牙時將其連接到我的主板我什麼也沒得到。
有了這兩個代碼,我也嘗試使用Amarino中的監視器工具將消息發送到板,但它似乎從來沒有得到它。我已經嘗試了各種其他的東西: - 沒有USB序列可用(我通過USB爲Arduino開發板供電,但使用了插頭牆上的適配器,稍後我會嘗試使用9V電池,現在可用) - 在調制解調器中不要連接CTS-1到RTS-0(某些教程指出連接它們,其他則不要。因爲我懷疑我嘗試了兩種解決方案)。
我有過的時候,唯一一次看起來像一個溝通是與此設置:
- 的Arduino - 手機通過藍牙連接
- 的Amarino監測是對
- 的Arduino - 計算機通過連接USB序列號
將新代碼上傳到我的主板時,它的某些部分顯示在手機的監視工具上。 它發生了一兩次,現在我無法再現它。
我很確定我在某處做了什麼錯誤(至少這似乎是最合理的解釋),但我也想知道它是不是藍牙模型的問題(我的意思是,即使是示例教程不起作用)。
所以問題是:
- 是不是我錯過了/忘了做,可以幫助我解決這個問題 ?
- 如果沒有:是否有一個簡單的方法來檢查我的藍牙調制解調器 工作正常嗎?
感謝, 文森特
我知道這已經很長時間了,但是你使用無線SD盾嗎? – 2014-10-06 18:41:35
沒有屏蔽,只是Arduino和Blutooth模塊(和USB串口) – Vincent 2014-10-08 07:40:02