我有一个带有标准模拟温度传感器的Arduino,它由Raspberry Pi的USB端口供电,还有一个获取所有传入值的Python脚本 .

但是,我发现传入的值大约是10deg .

当我将它连接到我的计算机时,串行监视器返回正确的值 . 这让我认为Raspberry Pi上的错误变窄了 .

Python代码:

import serial
ser = serial.Serial('/dev/ttyACM0', 9600)
while True:
    temp = float(ser.readline())
    tempstring = "{:.1f}".format(temp)
    print(tempstring)
    f = open("/var/www/temp", "w")
    f.write(tempstring)
    f.close()

Arduino代码(很好的衡量标准)

const int thermometer = A0;

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

void loop(){
  int sensorReading = analogRead(thermometer);
  float volts = (sensorReading/1024.0) * 5.0;
  float temp = (volts - 0.5) * 100.0;
  int largeTemp = temp * 100.0;


  Serial.println(largeTemp);
  delay(10000);
}

我不想打扰发送一个浮点数,因此 int largeTemp = temp * 100.0; 行 .