2014-09-20 39 views
0

我正在從事涉及Arduino,藍牙和Android的項目。我的Arduino硬件將從傳感器收集數據並通過藍牙將它們發送到Android平板電腦。當我用BlueChat測試它時,我的Android應用程序似乎運行良好;它成功地從BlueChat接收數據。以下是我的Arduino硬件代碼。我很確定我正確啓動HC-05。任何人都可以看看我的代碼,並建議它是否工作,如果我的想法是收集模擬引腳0上的溫度傳感器讀數,然後將它們傳輸到數字引腳11,這是Arduino上的Tx引腳連接到Hc-05的Rx引腳?Arduino傳輸數據到HC-05

#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

我不認爲SoftwareSerial有一個write(float)方法。我建議你回報原始數據並讓你的應用程序進行轉換。通過HC-05(世界你好)發送任何東西 - - >這將排除連接 :

void loop() 
{ 
    int reading = analogRead(tempPin); // reading on tempPin   
    mySerial.println(tempC, DEC); 

    delay(3000); 
} 
+0

謝謝,但它沒有工作,錯誤'類'SoftwareSerial'沒有名爲'writeln'的成員發生。 – 2014-09-20 02:02:49

+0

這是println,我打錯了。 – 323go 2014-09-21 01:36:42

+0

TKS兄弟,我已經嘗試了println和打印,但沒有任何作品。 – 2014-09-21 04:22:49

1

步驟在這種情況下,嘗試:當一個數字結尾和下一個開始不要忘記分隔符,讓你知道問題(可能是把HC-05上的「真正的」串行和調試消息的「軟」系列是一個好主意)

  • 測試模擬讀通過串行監視器部分代碼:你可以看到如果你得到合理的數據

  • 測試森的組合通過HC-05讀取和發送讀取數據0