В настоящее время я работаю с датчиком приближения через последовательный порт в Python.
Данные, которые я получаю, соответствуют расстоянию. Моя цель - взять каждые 4 куска данных и вычислить среднее значение. У меня возникли проблемы при разработке алгоритма для этого. Я использую следующий код:
ser = serial.Serial(port = "COM5", baudrate = 230400, bytesize =
serial.EIGHTBITS, parity= serial.PARITY_NONE, timeout = 1)
try:
ser.isOpen()
print("serial Port is open")
except:
print("error")
exit()
if (ser.isOpen()):
try:
while True:
line = ser.readline()
for position, data in enumerate(line):
if position == 4:
print (data)
#while position == 4:
#seq.append(data)
#if len(seq) != 4:
#seq.append(data)
#print (seq)
#while len(seq) == 4:
# print(seq)
# break
###
#if len(seq) != 4:
# seq.append(data)
# print(seq)
# while len(seq) == 4:
# print(seq)
except Exception:
print( "Keyboard Interrupt")
else:
print("cannnot open port")
Фактический результат показан на рисунке:
Чтобы привести конкретный пример, из этого вывода:
23
27
23
45
Я хотел бы отформатировать его так:
29.5