我正在从事涉及Arduino,蓝牙和Android的项目。我的Arduino硬件将从传感器收集数据并通过蓝牙将其发送到Android平板电脑。当我使用BlueChat进行测试时,我在Android上的应用似乎运行良好;它成功地从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);
}
我应该提一下,我用9V电池从外部为Arduino Uno供电。
答案 0 :(得分:1)
在这种情况下尝试的步骤: - 通过HC-05(hello world)发送任何内容 - &gt;这将排除连接问题(将HC-05放在&#34;真正的&#34;串行和&#39;软件串口上的调试消息上可能是个好主意
通过串行监视器测试代码的模拟读取部分:您可以看看是否获得了合理的数据
通过HC-05
答案 1 :(得分:0)
我不认为SoftwareSerial
有write( float )
方法。我建议您报告原始数据并让您的应用进行转换。不要忘记分隔符,所以你知道一个号码何时结束而下一个号码开始:
void loop()
{
int reading = analogRead(tempPin); // reading on tempPin
mySerial.println( tempC, DEC );
delay(3000);
}