极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12562|回复: 0

在arduino(uno/mega2560)應用HC-05的問題請教

[复制链接]
发表于 2017-9-15 07:24:10 | 显示全部楼层 |阅读模式
在arduino(uno/mega2560)上應用HC-05的問題請教 因為實在是無人可問><
問題是發生在程式執行過後發現完全沒有顯示BT的訊息 當我刪掉BT2.begin(9600);這一行 卻發現
BT的訊息出現了   但第二台卻....不能讀取
不知道是啥問題 還請各位專家幫我看看...
還有第二個問題  怎麼把非主控端HC-05接收到的資料轉給主控端HC-05讓他發送出去

以下是在arduino uno和MEGA2560上執行有問題的程式碼
arduino uno版程式
#include <SoftwareSerial.h>

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

void setup() {
pinMode(9, OUTPUT);
digitalWrite(9, HIGH);
Serial.begin(9600); // 與電腦序列埠連線

// 藍牙透傳模式的預設連線速率。
BT.begin(9600); // 非主控HC05
BT2.begin(9600); //主控HC05

Serial.println("BT & BT2 is ready!");
}

void loop() {

if (Serial.available()) {
val = Serial.read();
BT.print(val);
}

//非主控 HC 05 收一個資料 主控 HC 05 傳一個資料
while(BT.available())
{
val=BT.read();
BT2.write(byte(val));
delay(200);
}
}

arduino mega2560版程式
#include  <SoftwareSerial.h>

SoftwareSerial BT(10, 11); // RX | TX
char val;
char letter[26];
int num[4] ;

void setup() {
pinMode(9, OUTPUT);
digitalWrite(9, HIGH);
  Serial.begin(9600);   // 與電腦序列埠連線
  Serial1.begin(9600);
  Serial.println("BT is ready!");

}

void loop() {

if (Serial.available()) {
val = Serial.read();
Serial1.print(val);
}

//非主控 HC 05 收一個資料 主控 HC 05 傳一個資料
while(Serial1.available())
{
val=Serial1.read();
BT.write(byte(val));
BT.print(val);
delay(200);
}
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-27 05:05 , Processed in 0.036328 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表