(некоторая аппаратная часть идет сюда. Но, пожалуйста, проверьте сторону программного обеспечения)
Я постоянно измеряю некоторые параметры, используя Raspberry Pi. Я использую Python. Когда измеренное значение выше определенного значения, я хочу установить высокий уровень на выводе GPIO (для некоторого светодиодного индикатора), и измерение должно быть приостановлено на следующие 10 секунд. Я использовал функцию time.sleep (10). через 10 секунд измерение должно продолжиться. я заметил, что даже через 10 секунд ПИН-код сохраняет ВЫСОКИЙ уровень (добавьте, что измеренное значение было почти в 10 раз больше, чем фактическое значение. поэтому я предполагаю, что во время сна значения складывались !! Как). Когда я удалил time.sleep (10), все работает отлично !!! Я использую модуль pigpio. любые предложения, пожалуйста
newMeasurement=[]
lastMeasurement=[]
while True:
mesurement = []
time.sleep(1.0)
#pin 18 to control LED
pi.write(18,0)
for i in range(4):
newMeasurement[i] = cb[i].tally() # function to do measurement
mesurement.append(newMeasurement[i]-lastMeasurement[i])
lastMeasurement[i]= newMeasurement[i]
if (mesurement[0] > 100 or mesurement[1] > 110 or mesurement[2] > 120 or mesurement[3] >130 ):
pi.write(18,1)
print("ON LED")
time.sleep(10.0) # sleep function
pi.write(18,0) #set LED back to LOW. It doesn't work!!!
else:
pi.write(18,0)
print("LED OFF")