Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 2413|回復: 2
打印 上一主題 下一主題

請教 新手入門求助不知是HC-05還是程式出錯

[複製鏈接]
跳轉到指定樓層
1#
發表於 2017-9-5 21:46:49 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最後由 liu5123 於 2017-9-5 22:12 編輯

我的電路材料是 兩個UNO 和兩個HC-05的藍芽晶片
原本先用AT配對完 用發送端程式  來讓兩個HC-05來進行溝通是可行
兩邊都可以收發 顯示出來

但當我想把一個當接收端  一個發送端的模式
程式內容是我把它寫成在接收端上的13接腳
接收到發送端的訊號 來亮燈  
當我寫好  兩個HC-05都連線了確
但是就沒有動作 沒有反應

因為剛入門  所以不知道該怎麼DEBUG  
所以求助各位專家

發送端程式

#include <SoftwareSerial.h>   // 引用程式庫

// 定義連接藍牙模組的序列埠
SoftwareSerial BT(8, 9); // 接收腳, 傳送腳
char val;  // 儲存接收資料的變數

void setup() {
  Serial.begin(9600);   // 與電腦序列埠連線
  Serial.println("BT is ready!");

  // 藍牙透傳模式的預設連線速率。
  BT.begin(9600);
}

void loop() {
  // 若收到「序列埠監控視窗」的資料,則送到藍牙模組
  if (Serial.available()) {
    val = Serial.read();
    BT.print(val);
  }

  // 若收到藍牙模組的資料,則送到「序列埠監控視窗」
  if (BT.available()) {
    val = BT.read();
    Serial.print(val);
  }
}


接收端程式

#include <SoftwareSerial.h>   // 引用程式庫

// 定義連接藍牙模組的序列埠
SoftwareSerial BT(8, 9); // 接收腳, 傳送腳
char val;  // 儲存接收資料的變數
const byte LED_PIN = 13;  // 定義LED腳位

void setup() {
  // 設定HC-05藍牙模組,AT命令模式的連線速率。
  BT.begin(38400);
  pinMode(LED_PIN, OUTPUT);
}

void loop() {
  // 若收到藍牙模組的資料,則送到「序列埠監控視窗」
  if (BT.available()) {
    val = BT.read();
    if (val == '1') {
      digitalWrite(LED_PIN, HIGH);
      // 回應命令發送端,告知「已開燈」
      BT.println("LED ON");
    } else if (val == '0') {
      digitalWrite(LED_PIN, LOW);
      // 回應命令發送端,告知「已關燈」
      BT.println("LED OFF");
    }
  }
}
2#
發表於 2017-9-6 06:05:10 | 只看該作者
你的藍芽,接收端和發射端的鮑率不同
一邊是 bt.begin(9600)
一邊是 bt.begin(38400)
應該是寫錯了吧?
3#
 樓主| 發表於 2017-9-6 16:59:40 | 只看該作者
原來是我打錯鮑率   難怪不能連
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-11-23 17:39 , Processed in 0.082784 second(s), 7 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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