2021/11/28 10:58:26
树莓派GPIO做稳定信号检测
硬件材料
- raspberry 4b * 1
- 发光二极管 * 1
- 杜邦线 * n
实现目标
- 初始状态下二极管是熄灭的
- 信号收到高电平(3.3V),二极管发光,并保持住
- 信号收到低电平(0V),二极管熄灭,并保持住
- 高低电平信号受开关控制
树莓派引脚与接线
gpio-pinout-diagram
接线图
python程序
import RPi.GPIO as GPIO
import time
GPIO_PIN_16 = 16
GPIO_PIN_26 = 26
def gpio_callback(channel):
time.sleep(0.005)
if GPIO.input(channel) == GPIO.HIGH:
print("高电压")
GPIO.output(GPIO_PIN_26, GPIO.HIGH)
elif GPIO.input(channel) == GPIO.LOW:
print("低电压")
GPIO.output(GPIO_PIN_26, GPIO.LOW)
if __name__ == '__main__':
try:
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO.setup(GPIO_PIN_16, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
GPIO.setup(GPIO_PIN_26, GPIO.OUT, initial=GPIO.LOW)
GPIO.add_event_detect(GPIO_PIN_16, GPIO.BOTH, callback=gpio_callback, bouncetime=50)
while True:
time.sleep(1)
except KeyboardInterrupt:
GPIO.cleanup()
效果
|