使用python

时间:2019-04-03 10:59:16

标签: python arduino

我正在尝试使用arduino和python从传感器收集温度。 我正在用arduino发送信号,并通过python serial获得它。 一切都很好。但是,大约每十分之一的读数都相去甚远。在出水口测量热水,我得到类似的东西:

78.375
78.625
78.812
79.000
79.125
0.00
4000

因此它有时会起作用,但有时会跳到数千度,或者零或所有小数点都被可疑地切掉,例如79.000度。

当我看着arduino中的串行监视器时,一切都完美了!它永远不会失败。因此错误必定是python。但是这里的arduino代码很少,仅供参考:

void setup() {
  Serial.begin(9600);
}
...
void loop() {
  Serial.print(temp,4);
  Serial.print('\n'); 

}

python代码也很长,但是我认为错误在这里,我从USB处获取数据:

import serial
try:
    ser = serial.Serial('COM3', 9600, timeout=.1)
    time.sleep(2)
    print("Connection to " + 'port' + " established succesfully!\n")
except Exception as e:
    print(e)

while time.time() < t_end:
    data = ser.read_until().decode('utf-8') 
    if data:
        #store it 

它可以工作,但是有时数据非常嘈杂。 如果您有任何想法,我很乐意提出改进建议。谢谢。

0 个答案:

没有答案