-1
나는 코딩이 더 쉽고 간단한 해결책이있을 수 있지만 기본적으로 Arduino에 연결된 센서로부터 들어오는 데이터를 기록하려고합니다. 제 목적을 위해 들어오는 데이터뿐만 아니라 재판이 가졌던 최고의 가치를 기록하고 싶습니다.새로운 데이터가 파이썬 3.5와 함께 들어올 때마다 변경되는 최대 값
내가 가지고있는 코드는 Max_Force = 0
만을 생성합니다. 나의 최종 목표는 내가 기록하고있는 모든 값을 가지고 최대 값을 저장하는 것이다. 마지막으로 모든 값을 GUI에 연결하여 운영자가 쉽게 사용할 수 있도록합니다.
import serial
import csv
import time
import numpy as np
import warnings
import serial
import serial.tools.list_ports
arduino_ports = [
p.device
for p in serial.tools.list_ports.comports()
if 'Arduino' in p.description
]
if not arduino_ports:
raise IOError("No Arduino found")
if len(arduino_ports) > 1:
warnings.warn('Multiple Arduinos found - using the first')
Arduino = serial.Serial(arduino_ports[0])
Arduino.flush()
Arduino.reset_input_buffer()
start_time=time.time()
Distance = 0.5 # This is how long the lever arm is in feet
with open('DynoData.csv', 'w') as outfile:
outfileWrite = csv.writer(outfile)
while True:
while (Arduino.inWaiting()==0):
pass
try:
data = Arduino.readline()
dataarray = data.decode().rstrip().split(',')
Arduino.reset_input_buffer()
Force = round(float(dataarray[0]),3)
Max_Force = 0
if Max_Force < Force:
Max_Force == Force
else:
Max_Force == Max_Force
RPM = round(float (dataarray[1]),3)
Torque = round(Force * Distance,3)
HorsePower = round(Torque * RPM/5252,3)
Run_Time = round(time.time()-start_time,3)
print (Force ,",",Max_Force)
except (KeyboardInterrupt, SystemExit,IndexError,ValueError):
pass
outfileWrite.writerow([Force,",",Max_Force,"lbs", RPM, "RPMs", Torque,"ft-lbs" ,HorsePower ,"HP" ,Run_Time ,"sec" ])
다시
Max_Value
설정되어 있기 때문에은 또한 나뿐만 아니라이 시도 한
while True
루프 위Max_Force = 0
를 이동해야 그 결과가 바로 Max_Force 값을 수에 관계없이 항상의 힘 값과 동일 포스의 이전 값 다른 아이디어가 있습니까? –내가 설정 한 또 다른 변수를 가질 필요가있을 수 있습니까? Max_Force Equal to는 각 반복마다 동일한 수가 아닌 것을 얻으려고합니까? –
@MatthewEspindolaMunn : 반복 할 때마다 Max_Force = 0을 지정합니다. 그러지 마. –