打印整数值,Arduino HC-05 蓝牙模块
Posted
技术标签:
【中文标题】打印整数值,Arduino HC-05 蓝牙模块【英文标题】:Prints integer value, Arduino HC-05 Bluetooth module 【发布时间】:2018-03-10 22:15:50 【问题描述】:我有一个问题已经解决了一段时间。我有一个 Arduino Uno 板和一个带有 TTL 输出的 HC-05 蓝牙收发器。
连接如下:
RX (HC_05) --> TX (Arduino UNO)
TX (HC_05) --> RX (Arduino UNO)
GND (HC-05) --> GND (Arduino UNO)
+5V (HC-05) --> +5V (Arduino UNO)
我有以下 Arduino 代码:
#include <SoftwareSerial.h>
SoftwareSerial BTSerial(10, 11); // RX | TX
void setup()
Serial.begin(9600);
BTSerial.begin(38400); // HC-05 default speed in AT command more
pinMode(9, OUTPUT); // this pin will pull the HC-05 pin 34 (key pin) HIGH to switch module to AT mode
pinMode(10, INPUT);
pinMode(11, OUTPUT);
digitalWrite(9, HIGH);
Serial.println("Enter AT commands:");
BTSerial.println("Welcome to ARBA-Beat");
void loop()
// Keep reading from HC-05 and send to Arduino Serial Monitor
if (BTSerial.available())
Serial.println(BTSerial.read());
BTSerial.write(BTSerial.read());
BTSerial.flush();
我通过蓝牙终端安卓应用连接到蓝牙模块。一切正常(甚至蓝牙模块上的灯)。但是当我将一个字符从手机发送到 Arduino 时,我得到以下输出:
文本发送到蓝牙模块 - a
请帮忙
谢谢
【问题讨论】:
您在不同的函数中调用了两次BTSerial.read()
,这可能意味着两个值正在从队列中取出。在回显到终端/使用该值做某事之前尝试将其存储在一个变量中。
@MorrisonChang 我尝试了你所说的一切,现在我得到了盒子形状的值
我建议获取该值并将其转换为十六进制/二进制并将其发送到您正在使用的任何调试/日志会话,以查看您是否真的得到了您发送的值或有其他事情发生(额外字符/大小端问题/crlf 问题)。如果您正在学习教程 - 您可能想要链接到它并指出哪个步骤失败了。
【参考方案1】:
我遇到了完全相同的问题。你试过在 9600 运行 HC-05 吗?试试下面的代码(用你的别针)。我使用该代码在引脚 2 上切换继电器,但如果需要,您可以使用 LED。我使用了相同的蓝牙应用程序,它运行良好:
#include <SoftwareSerial.h>
int relay = 2; // Set pin for relay control
SoftwareSerial bleserial(8,9);
// setup the relay output and the bluetooth serial, and the serial monitor (if you want to print the outputs)
void setup()
// set relay pin as output.
pinMode(relay, OUTPUT);
// start bluetooth and serial monitor
bleserial.begin(9600);
Serial.begin(9600);
void loop()
if(bleserial.available())
char char1 = bleserial.read();
Serial.println(char1);
// Set protocol that you want to turn on the light bulb, I chose 1 and 0 as on and off, respectively
if(char1=='1')
Serial.println("ON");
digitalWrite(relay,LOW);
else if (char1=='0')
digitalWrite(relay,HIGH);
如果您想查看接线等,请查看我博客上的条目:
https://engineersportal.com/blog/2017/11/15/bluetooth-home-automation-light-bulb-switch-using-an-hc-05-a-relay-and-arduino
【讨论】:
以上是关于打印整数值,Arduino HC-05 蓝牙模块的主要内容,如果未能解决你的问题,请参考以下文章