Эффективность функции сна Python для приостановки работы сценария и установки распи-булавки HIGH - PullRequest
0 голосов
/ 23 мая 2019

(некоторая аппаратная часть идет сюда. Но, пожалуйста, проверьте сторону программного обеспечения) Я постоянно измеряю некоторые параметры, используя 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")


...