我有一个 Raspberry Pi 3 和一个光敏电阻、LED、电阻、面包板等。现在,我观察到一个奇怪的现象。当我运行以下代码时,来自光传感器的所有读数都归零。
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) 调用。这使得代码输出读数正常。但是,此修复程序非常烦人,因为读数很快。我该如何解决这个问题?