以下是一个简单的Python脚本,可以通过按键控制一个手持小风扇的开关:
python
import RPi.GPIO as GPIO
import time
# 设置GPIO模式为BCM
GPIO.setmode(GPIO.BCM)
# 定义GPIO口
FAN_PIN = 18
# 设置GPIO口为输出模式
GPIO.setup(FAN_PIN, GPIO.OUT)
# 定义风扇开启变量
fan_on = False
def fan_on_off():
? ? global fan_on
? ? if fan_on:
? ? ? ? GPIO.output(FAN_PIN, GPIO.LOW) # 关闭风扇
? ? ? ? fan_on = False
? ? else:
? ? ? ? GPIO.output(FAN_PIN, GPIO.HIGH) # 开启风扇
? ? ? ? fan_on = True
while True:
? ? # 按下按键时执行fan_on_off函数,交替开关风扇
? ? if GPIO.input(FAN_PIN) == GPIO.HIGH:
? ? ? ? fan_on_off()
? ? ? ? time.sleep(0.1) # 延时0.1秒,避免连续按键造成的快速开关问题
以上脚本通过RPi.GPIO模块来控制GPIO口,当按下按键时GPIO口会输出高电平,此时风扇应该处于关闭状态,执行关闭风扇。通过这样的方式,实现了按键控制风扇的开关。