2017-06-25 8 views
2

私は新しいベルマンvma320を私のarduinoで動かそうとしています。 それはまったく動作しません。温度が上がってしまいます。私はすべてを試しました。誰かが私を助けることができますか?ここに私のコードです...Arduino温度センサーカウントバック

int SensorPin = A0; 

void setup() { 

    Serial.begin(9600); 

} 

void loop() { 

    //reading 
    int sensorvalue = analogRead(SensorPin); 
    Serial.print("value: "); 
    Serial.print(sensorvalue); 

    //voltage 
    float voltage = sensorvalue * 5.0; 
    voltage /= 1024.0; 
    Serial.print(", volts: "); 
    Serial.print(voltage); 

    //temperature 
    float temperature = (voltage - 0.5) * 100 ; 
    Serial.print(" degrees C"); 
    Serial.println(temperature); 

} 

私は間違っていますか?それとも、それは単にセンサーですか?私は2つのセンサーでそれを試しました。

もしあなたが私を助けてくれるのであれば、すばらしいでしょう。

ありがとうございます。 Jens Van den Eede。

+1

センサは分圧器と線形ではないサーミスタの抵抗値と出力電圧の関係であること。 Arduinoにはサーミスタから温度を読み取るチュートリアルがあります(https://playground.arduino.cc/ComponentLib/Thermistor2)。あなたのセンサーにはプルダウンがありません。 –

+0

ありがとう@gre_gor、それは今動作します! –

+3

問題を解決した場合は、自分の質問に答える必要があります。 –

答えて

0

これは、thermister velleman vma320の動作コードです。それが配線されている方法によると、温度が上がると電圧が下がり、線形ではありません。

#include <math.h> 

double Thermistor(int RawADC) { 
double Temp; 
Temp =log(10000.0/(1024.0/RawADC-1)); // for pull-up configuration 
Temp = 1/(0.001129148 + (0.000234125 + (0.0000000876741 * Temp * Temp))* Temp); 
Temp = Temp - 273.15;   // Convert Kelvin to Celcius 
return Temp; 
} 

void setup() { 
Serial.begin(9600); 
} 

void loop() { 
Serial.println(int(Thermistor(analogRead(A0)))); 
delay(1000); 
}