Bu yüzden Noctua hayranıyım https://noctua.at/en/products/fan/nf-a4x20-5v/specification ) bir Ahududu Pi'ye bağlanmış 3. Her saniyede bir fanın RPM'sini bilmek istiyorum. RPM için bana bir değer veren bir python betiğim var, ancak RPM doğru görünmüyor. Fan hızı tam kapasite 5000 rpm (+/- 10%) iken senaryo beklenenin yarısı olan bir RPM değeri verir. PWM (darbe genişliği modülasyonu) veya başka bir teknik kullanarak doğru bir okuma elde etmek için yardıma ihtiyacım var.
def calculate_elapse(channel): # callback function
global pulse, start_timer, elapse
pulse+=1 # increase pulse by 1 whenever interrupt occurred
elapse = time.time() - start_timer # elapse for every 1 complete rotation made!
start_timer = time.time() # let current time equals to start_timer
def calculate_speed(r_cm):
global pulse,elapse,rpm,dist_km,dist_meas,km_per_sec,km_per_hour
if elapse !=0: # to avoid DivisionByZero error
rpm = 1/elapse * 60
circ_cm = (2*math.pi)*r_cm # calculate wheel circumference in CM
dist_km = circ_cm/100000 # convert cm to km
km_per_sec = dist_km / elapse # calculate KM/sec
km_per_hour = km_per_sec * 3600 # calculate KM/h
dist_meas = (dist_km*pulse)*1000 # measure distance traverse in meter
return km_per_hour
Süper Kullanıcıya Hoşgeldiniz! Programlamaya ve yazılım geliştirmeye özgü konular konu dışıdır, bkz. Konu üzerine . Deneyin Yığın Taşması ama lütfen önce oku Nasıl iyi bir soru sorabilirim? .
—
DavidPostill