Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz

筆電與HC-06連接的問題

查看數: 7276 | 評論數: 19 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發佈時間: 2016-3-27 16:18

正文摘要:

大家好 我是arduino新手 最近買了一台遙控車回來 但是 接上 HC-06後,我的電腦  WIN8   似乎無法用藍芽跟它溝通,不知道問題在哪,我下載了終端機,也使用對方提供的程式碼燒錄;我開啟COM的時 ...

回復

a9b93 發表於 2016-4-6 09:47:49
本帖最後由 a9b93 於 2016-4-6 12:54 編輯

感謝mike2016以及超新手的耐心回答,謝謝謝謝謝謝。

結果 我把東西寄回去給廠商,廠商也說壞了,但是對方就不願意負責賠償了,因為過了法律規定的7天鑑賞期;因為時間及安裝問題實在沒辦法七天內全部零件測試一次(尤其對新手來說),就提醒大家在買套件的時候記得要問保固期....。我買新的就可以了...。

再次感謝mike2016以及超新手的耐心回答,謝謝謝謝謝謝。
超新手 發表於 2016-3-31 18:25:00
4 都不行, 那凶多吉少了

如果只是單純 4 不行, 有可能是BAUDRATE 被設成非 9600 的值
不過因為之前也做過迴路的測試以及相關測試
所以看起來...
a9b93 發表於 2016-3-31 15:17:58
1)Arduino IDE 是 1.6.7版本
2)我試過xp 和 紅米not手機 也不行
3)我沒有用過accessport 我有用過putty 嘗試連線 不行
4)我沒有uart的線,我參考這邊的網址
http://gsyan888.blogspot.tw/2014/03/arduino-hc-06-at-command.html   的   以 Arduino 與 HC-06 連線   這個步驟連線 也不行......
5)阿~~~~~~~~~~~~~~~~~~~
超新手 發表於 2016-3-30 11:37:32
1) Arduino IDE 是 1.6.X 版的嗎?
2) 看看要不要換個作業系統或電腦測一下. WIN8 穩定性一向讓人會有很多疑慮..
3) 不要用 Arduino IDE. 改用 AccessPort 試看看
4) 如果是藍芽模組本身的問題, 就比較難測
    如果有 usb 轉 uart 的線, 可以接上去, 打 'AT' 應該會回 'OK'
a9b93 發表於 2016-3-30 11:17:24
本帖最後由 a9b93 於 2016-3-30 11:21 編輯

我第一個步驟 把rx 和 tx 接起來  vcc 和 gnd跟 shield接起來   然後板子跟電腦沒有接 usb線  透過藍芽com5  用序列監控視窗 打字給它  沒辦法出現字

第二個步驟 馬達應該沒問題 因為之前提供的步驟 就需要動馬達 所以馬達部分應該沒問題..
超新手 發表於 2016-3-30 08:17:37
先分別測試
1. 測藍芽
把藍芽的 RX 和 TX 接起來, 但不要接到 Shield,  這樣就會形成一個迴路
vcc 和 gnd 當然要接,
所以你在序列監控視窗打什麼字, 下方就會出現一樣的字
2, 測馬達
loop 改為以下(其他不變), 馬達會走走停停, 看看馬達或其他有沒有問題'
void loop()
{
advance(50);
stopRL(50);
}
超新手 發表於 2016-3-29 14:24:35
互換都不行, 應該就不用量了
a9b93 發表於 2016-3-29 13:20:22
我嘗試了rx tx 交叉 但似乎還是無法;
我不知道怎麼用電表量,我插上電源拔掉hc-06以後直接量嗎?還是要插著hc-06按指令?
超新手 發表於 2016-3-29 08:59:34
本帖最後由 超新手 於 2016-3-29 13:05 編輯


你有三用電表嗎?量一下Shield 的 RX 是接到上圖的那一根 PIN
或是直接 RX TX 交叉試看看
因為根據網路上的資料
板子印出來的字是剛好反的, 剛好就和你說的一樣
TX 印成 RX, RX 印成 TX
超新手 發表於 2016-3-29 08:19:12
本帖最後由 超新手 於 2016-3-29 08:24 編輯

我沒原廠資料, 可能是網路上的資料有誤造成
因為從下圖來看
不管是 HC-06或Arduino Sensor Shield 的 RX 都在最旁邊
所以如果要接, 四條線中的 RX 和 TX 應該要相交(黃色和藍色線)
而不是像你圖中所示, 四條線一對一對接
不過...當然以你手上的為主, 因為上面都有字, 你不可能看錯

a9b93 發表於 2016-3-28 23:32:28
圖上 就是RX 接 TX, TX 接 RX,我組的也是...
超新手 發表於 2016-3-28 21:33:38
本帖最後由 超新手 於 2016-3-28 21:34 編輯

為什麼根據我查到的資料
你的圖好像是錯的, 你好像 TX接TX, RX接RX
上面應該都有字, 很好查, RX 要接 TX, TX 要接 RX

不過.....也可能是我查到的資料有誤
超新手 發表於 2016-3-28 14:34:11
本帖最後由 超新手 於 2016-3-29 08:22 編輯

1) 看程式是接到接腳 0 和 1, 你接對了嗎?
2) 它是電路已經接好, 還是你自己接的?
3) 所以你按了大寫的 A, S, D, W並且按了傳送, 但馬達不會轉, 是嗎?
a9b93 發表於 2016-3-28 13:45:26
TO 超新手   感謝您的解答

程式碼 似乎沒提到用哪兩根腳?? 以下是使用的程式碼



// L298N 馬達驅動板
#define MotorR_I1     8  //定義 I1 接腳
#define MotorR_I2     9  //定義 I2 接腳
#define MotorL_I3    10  //定義 I3 接腳
#define MotorL_I4    11  //定義 I4 接腳
#define MotorR_ENA    5  //定義 ENA (PWM調速) 接腳
#define MotorL_ENB    6  //定義 ENB (PWM調速) 接腳


void setup()
{
  Serial.begin(9600);
  
  pinMode(MotorR_I1,OUTPUT);
  pinMode(MotorR_I2,OUTPUT);
  pinMode(MotorL_I3,OUTPUT);
  pinMode(MotorL_I4,OUTPUT);
  pinMode(MotorR_ENA,OUTPUT);
  pinMode(MotorL_ENB,OUTPUT);
  
  analogWrite(MotorR_ENA,500);    //設定馬達 (右) 轉速
  analogWrite(MotorL_ENB,500);    //設定馬達 (左) 轉速
}

void advance(int a)    // 前進
{
    digitalWrite(MotorR_I1,HIGH);   //馬達(右)順時針轉動
    digitalWrite(MotorR_I2,LOW);
    digitalWrite(MotorL_I3,HIGH);   //馬達(左)逆時針轉動
    digitalWrite(MotorL_I4,LOW);
    delay(a * 100);
}

void turnR(int d)    //右轉
{
    digitalWrite(MotorR_I1,LOW);    //馬達(右)逆時針轉動
    digitalWrite(MotorR_I2,HIGH);
    digitalWrite(MotorL_I3,HIGH);   //馬達(左)逆時針轉動
    digitalWrite(MotorL_I4,LOW);
    delay(d * 100);
}

void turnL(int e)    //左轉
{
    digitalWrite(MotorR_I1,HIGH);   //馬達(右)順時針轉動
    digitalWrite(MotorR_I2,LOW);
    digitalWrite(MotorL_I3,LOW);    //馬達(左)順時針轉動
    digitalWrite(MotorL_I4,HIGH);
    delay(e * 100);
}   

void stopRL(int f)  //停止
{
    digitalWrite(MotorR_I1,HIGH);   //馬達(右)停止轉動
    digitalWrite(MotorR_I2,HIGH);
    digitalWrite(MotorL_I3,HIGH);   //馬達(左)停止轉動
    digitalWrite(MotorL_I4,HIGH);
    delay(f * 100);
}

void back(int g)    //後退
{
    digitalWrite(MotorR_I1,LOW);    //馬達(右)逆時針轉動
    digitalWrite(MotorR_I2,HIGH);
    digitalWrite(MotorL_I3,LOW);    //馬達(左)順時針轉動
    digitalWrite(MotorL_I4,HIGH);
    delay(g * 100);     
}

void loop()
{
  int cmd = Serial.read();  // 讀取藍芽指令
   
  switch(cmd)  // 執行藍芽指令
  {
    case 'S':  // 倒車
      back(5);
      break;

    case 'A':  // 左轉
      turnL(5);
      break;
        
    case 'D':  // 右轉
      turnR(5);
      break;
      
    case 'W':  // 前進
      advance(5);
      break;
        
    case 'Q':  // 停止
        stopRL(5);
        break;
}
}
超新手 發表於 2016-3-28 10:44:06
如果紅燈恆亮, 那大致上, 配對和連線都沒問題
你的程式是使用那兩根腳? TX, RX 接對嗎?
a9b93 發表於 2016-3-27 21:42:36
感謝 MIKE2016 您的回答
    我先將我的筆電與HC-06配對,然後輸入密碼,然後到控制台裡面找尋藍芽的設定,找到說 COM5是HC-06連出,COM6 7 8 是連入,然後我開程式出來,點選工具 選擇 序列埠 COM5 然後打開序列埠監控視窗,這時候我看HC-06的燈就一直亮著,但是我在序列埠監控視窗輸入相關指令時;機器人似乎都不會動。還是我有漏掉甚麼步驟嗎?
mike2016 發表於 2016-3-27 20:32:14
要先配對。先開啟筆電藍芽配對。也可以先用手機配對。如果手機能配對,筆電就能配對。
配對完,在看連上哪一個com.

小黑屋|手機版|Archiver|機器人論壇 from 2005.07

GMT+8, 2024-11-24 08:09 , Processed in 0.230743 second(s), 11 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表