1

我有一个 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) 调用。这使得代码输出读数正常。但是,此修复程序非常烦人,因为读数很快。我该如何解决这个问题?

4

0 回答 0