我在涉及Arduino,蓝牙和Android的项目中工作。我的Arduino硬件将从传感器收集数据,并通过蓝牙将数据发送到Android平板电脑。当我用BlueChat测试我在安卓上的应用程序时,它似乎工作得很好;它成功地从BlueChat接收数据。以下是我的Arduino硬件代码。我很确定我启动HC-05是正确的。如果我的想法是从模拟引脚0的温度传感器收集读数,然后将它们传输到数字引脚11,这是连接到Hc-05的Rx引脚的Arduino上的Tx引脚,有人能看一下我的代码并建议它是否工作吗?
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11);
int tempPin=0;
void setup()
{
Serial.begin(9600);
mySerial.begin(9600);
}
void loop()
{
float reading = analogRead(tempPin); // reading on tempPin
float voltage = reading*5.0/1024.0; // the resolution of a pin is 10 bit,
float tempC = voltage/0.01; // 10mV = 1 Celcius
mySerial.write(tempC);
delay(3000);
}我应该提到的是,我的Arduino Uno外部由9V电池供电。
发布于 2015-11-12 01:30:57
在这种情况下尝试的步骤:-通过HC-05 (hello world) ->发送任何内容这将排除连接问题(可能是一个好主意,将HC-05放在“真实”串行上,而将调试消息放在“软”串行上)
发送的组合
发布于 2014-09-20 09:48:45
我不认为SoftwareSerial有write( float )方法。我建议你报告原始数据,并让你的应用程序进行转换。不要忘记分隔符,这样您就可以知道一个数字何时结束,下一个数字何时开始:
void loop()
{
int reading = analogRead(tempPin); // reading on tempPin
mySerial.println( tempC, DEC );
delay(3000);
}https://stackoverflow.com/questions/25944367
复制相似问题