GPIO17
号口,按钮接GPIO2
号口,负极接GND地线。from gpiozero import LED, Button from signal import pause led = LED(17) button = Button(2) button.when_pressed = led.on button.when_released = led.off pause()
source
的写法,直接把按钮的状态提供给发光二极管,达到一样的效果。from gpiozero import LED, Button from signal import pause led = LED(17) button = Button(2) led.source = button pause()
GPIO2
号针脚,一端链接GND地线。from gpiozero import Button button = Button(2) while True: if button.is_pressed: print("Button is pressed") else: print("Button is not pressed")
from gpiozero import Button button = Button(2) button.wait_for_press() print("Button was pressed")
button.wait_for_press()
这一句以后,会先停下,等待按钮按下以后,才会继续执行。from gpiozero import Button from signal import pause def say_hello(): print("Hello!") button = Button(2) button.when_pressed = say_hello pause()
say_hello()
这个函数。from gpiozero import Button from signal import pause def say_hello(): print("Hello!") def say_goodbye(): print("Goodbye!") button = Button(2) button.when_pressed = say_hello button.when_released = say_goodbye pause()
say_hello()
函数,松开会执行say_goodbye()
函数。from gpiozero import Button from subprocess import check_call from signal import pause def shutdown(): check_call(['sudo', 'poweroff']) shutdown_btn = Button(2, hold_time=4) shutdown_btn.when_held = shutdown pause()
hold_time=4
长按4秒才触发的初始化,触发以后执行shutdown()
函数关机。GPIO二、3
号口,LED链接GPIO 17
号口。from gpiozero import Button, LED from time import sleep import random led = LED(17) player_1 = Button(2) player_2 = Button(3) time = random.uniform(2, 5) sleep(time) led.on() while True: if player_1.is_pressed: print("Player 1 wins!") break if player_2.is_pressed: print("Player 2 wins!") break led.off()
好了,本次介绍就到这里,这个系列的全文会收录在个人github目录,欢迎你们star和沟通:https://github.com/asukafighting/RaspberryPiHackergit