[英]reading data from arduino with python
我正在尝试做arduino经常发送一堆数据的事情,而我的目标是:
每100个数据,创建一个新文件。 (我们称它为a1,a2,...)
在一个通用文件中,取每个文件的平均值,并将其写在该文件中作为新行
为了进行实验,我将arduino编码为:
void setup(){
Serial.begin(9600);
}
void loop(){
Serial.println(random(100,500));
delay(20);
}
这是python代码:
import serial, struct
initialfreq = 0
a = 0
interval = 0
fileName = 'general_list'
general_list = open(fileName, 'wb')
ser = serial.Serial(port = 'COM3', baudrate = 9600)
def mean(numberList):
return sum(numberList) / len(numberList)
while(1):
for i in '100' :
temparray=[]
fileName = 'interval' + str(initialfreq) + '.data'
temp_file = open(fileName, 'wb')
readoff = ser.readline()
temparray.append(readoff)
temp_file.write(readoff)
## temp_file.flush()
print("bitti")
general_list.write(str(interval)+" "+str(mean(temparray)))
general_list.write(str(mean(temparray)))
initialfreq= initialfreq + 1
a=0`
我的问题是
for循环无法正常工作,即使当我伤心100时,它也无法使用100个值。
arduino使用\\ n发送代码。 我在文件中看不到它们,但是在temparray中我看到有\\ n,所以它没有计算平均值。
非常感谢。
这是您第一个问题的解决方案。
1)
for i in range(100):
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.