-1
我對編碼更新,這可能有一個簡單的解決方案,但基本上我試圖記錄來自連接到Arduino的傳感器的輸入數據。爲了我的目的,我希望不僅記錄即將到來的數據,而且還記錄審判所獲得的最高價值。隨着Python 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_Force值總是等於原力值,而不管原來的警隊價值。你還有其他建議嗎? –
是否有可能我需要另一個變量,我設置Max_Force等於使它不僅僅是每個迭代的相同數字? –
@MatthewEspindolaMunn:每次迭代都分配'Max_Force = 0'。不要這樣做。 –