Time.sleep() обнуляет показания фоторезистора на Raspberry Pi
У меня есть Raspberry Pi 3 и фоторезистор, светодиоды, резисторы, макет и т. Д. Теперь я наблюдал странное явление. Когда я запускаю следующий код, все показания датчика освещенности обнуляются.
import RPi.GPIO as GPIO
from time import sleep
class lightSensor():
def __init__(self, min_light):
GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.OUT)
self.min_light = min_light
def main(self):
GPIO.setup(18, GPIO.OUT)
GPIO.output(18, GPIO.LOW)
sleep(0.5)
GPIO.setup(18, GPIO.IN)
self.reading = 0
while (GPIO.input(18) == GPIO.LOW):
self.reading += 1
print("Light Reading:", self.reading)
if self.reading > self.min_light:
GPIO.output(17, GPIO.HIGH)
else:
GPIO.output(17, GPIO.LOW)
light_sensor = lightSensor(min_light=600)
while True:
try:
light_sensor.main()
sleep(1)
except KeyboardInterrupt:
GPIO.cleanup()
Затем я удалил вызов sleep(1) из кода. Это делает вывод кода нормальным. Тем не менее, это исправление довольно раздражает, так как показания быстрые. Как я мог это исправить?