怎样用树莓派学习物联网

30个Python物联网传感器小实验3:使用按钮开灯关灯使用按钮开灯关灯使用按钮开灯关灯(二)按钮按下和松开等待按钮按下才执行按下执行特定函数松开执行特定函数长按4秒关机小游戏:谁的反应快?30个Python物联网小实验3:使用按钮开灯关灯
怎样用树莓派学习物联网


使用按钮开灯关灯接线图非常简单,LED接GPIO17号口,按钮接GPIO2号口,负极接GND地线。
怎样用树莓派学习物联网


代码也非常简单:from gpiozero import LED, Buttonfrom signal import pauseled = LED(17)button = Button(2)button.when_pressed = led.onbutton.when_released = led.offpause()执行代码,按下按钮,发光二极管就会亮,松开就会灭。使用按钮开灯关灯(二)还有一种source的写法,直接把按钮的状态提供给发光二极管,达到同样的效果。from gpiozero import LED, Buttonfrom signal import pauseled = LED(17)button = Button(2)led.source = buttonpause()按钮按下和松开先上效果
怎样用树莓派学习物联网


接线非常简单,按钮一端连接GPIO2号针脚,一端连接GND地线。 代码灰常简单:from gpiozero import Buttonbutton = Button(2)while True: if button.is_pressed: print("Button is pressed") else: print("Button is not pressed")等待按钮按下才执行直接上代码吧:from gpiozero import Buttonbutton = Button(2)button.wait_for_press()print("Button was pressed")程序执行到button.wait_for_press()这一句之后,会先停下,等待按钮按下之后,才会继续执行。按下执行特定函数直接上代码:from gpiozero import Buttonfrom signal import pausedef say_hello(): print("Hello!")button = Button(2)button.when_pressed = say_hellopause()按下按钮,执行say_hello()这个函数。松开执行特定函数上效果图:
怎样用树莓派学习物联网


上代码:from gpiozero import Buttonfrom signal import pausedef say_hello(): print("Hello!")def say_goodbye(): print("Goodbye!")button = Button(2)button.when_pressed = say_hellobutton.when_released = say_goodbyepause()按下会执行say_hello()函数,松开会执行say_goodbye()函数。长按4秒关机上代码:from gpiozero import Buttonfrom subprocess import check_callfrom signal import pausedef shutdown(): check_call()shutdown_btn = Button(2, hold_time=4)shutdown_btn.when_held = shutdownpause()增加了一个hold_time=4长按4秒才触发的初始化,触发之后执行shutdown()函数关机。小游戏:谁的反应快?接线图:两个按钮分别连接GPIO2、3号口,LED连接GPIO 17


推荐阅读