技术问题解答与实践指南
1. 运动传感器检测问题
有一个运动传感器,其数据引脚在检测到运动时会变为高电平,该传感器连接到引脚 8,驱动代码如下:
class MotionSensor(qtc.QObject):
detection = qtc.pyqtSignal()
def __init__(self):
super().__init__()
GPIO.setmode(GPIO.BOARD)
GPIO.setup(8, GPIO.IN)
self.state = GPIO.input(8)
def check(self):
state = GPIO.input(8)
if state and state != self.state:
detection.emit()
self.state = state
主窗口类创建了一个 MotionSensor
对象,并将其检测信号连接到回调方法,但没有检测到任何运动。原因是没有调用 MotionSensor.check()
方法,应该添加一个 QTimer
对象来定期调用 check()
方法以实现轮询。
2. 电路创意组合
可以创造性地组合两个电路,例如创建一个根据湿度和温度改变颜色的灯,但具体实现需要自行探索。