美文网首页大数据 爬虫Python AI Sql
30个Python物联网小实验3:使用按钮开灯关灯

30个Python物联网小实验3:使用按钮开灯关灯

作者: 程序员爽爽 | 来源:发表于2019-05-29 19:36 被阅读1次

使用按钮开灯关灯

接线图非常简单,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()

按钮按下和松开

先上效果

GPIO2fromgpiozero import Buttonbutton = Button(2)whileTrue:ifbutton.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() 这一句之后,会先停下,等待按钮按下之后,才会继续执行。

按下执行特定函数

直接上代码:

fromgpiozeroimportButtonfromsignalimportpausedefsay_hello():print("Hello!")button = Button(2)button.when_pressed = say_hellopause()

按下按钮,执行 say_hello() 这个函数。

松开执行特定函数

上效果图:

上代码:

fromgpiozeroimportButtonfromsignalimportpausedefsay_hello():print("Hello!")defsay_goodbye():print("Goodbye!")button = Button(2)button.when_pressed = say_hellobutton.when_released = say_goodbyepause()

按下会执行 say_hello() 函数,松开会执行 say_goodbye() 函数。

长按4秒关机

上代码:

fromgpiozeroimportButtonfromsubprocessimportcheck_callfromsignalimportpausedefshutdown():check_call(['sudo','poweroff'])shutdown_btn = Button(2, hold_time=4)shutdown_btn.when_held = shutdownpause()

增加了一个 hold_time=4 长按4秒才触发的初始化,触发之后执行 shutdown() 函数关机。

小游戏:谁的反应快?

接线图:两个按钮分别连接 GPIO2、3 号口,LED连接 GPIO 17 号口。

上代码:

fromgpiozeroimportButton, LEDfromtimeimportsleepimportrandomled = LED(17)player_1 = Button(2)player_2 = Button(3)time = random.uniform(2,5)sleep(time)led.on()whileTrue:ifplayer_1.is_pressed:print("Player 1 wins!")breakifplayer_2.is_pressed:print("Player 2 wins!")breakled.off()

程序开始执行后,在(2,5)秒随机点亮LED灯,谁抢险按下按钮,就会显示谁赢了。

最后小编自己也是一个有着6年工作经验的工程师,关于python编程,自己有做材料的整合,一个完整的python编程学习路线,学习资料和工具。想要这些资料的可以关注小编,加入python学习交流Q群735967233。

相关文章

  • 30个Python物联网小实验3:使用按钮开灯关灯

    使用按钮开灯关灯 接线图非常简单,LED接 GPIO17 号口,按钮接 GPIO2 号口,负极接GND地线。 代码...

  • 30个Python物联网小实验:使用按钮开灯关灯1

    使用按钮开灯关灯 接线图非常简单,LED接 GPIO17 号口,按钮接 GPIO2 号口,负极接GND地线。 代码...

  • 开灯,关灯......

    我和先生大学同班同学,我和他在一起的时间,比我们和各自父母在一起的时间都长。我们都已进入不惑之年,到了这个年龄,最...

  • 开灯关灯

    眼看着下班时间快到了,小尤急匆匆地把手上的工作做完,终于赶在下班时间之前把一切收拾整齐,踏出公司大门的那一刻她才想...

  • 开灯关灯

    早上,老公热完饭,到外面把车启动开,等着送朋友去邻县。 “哒哒…哒哒…”,老爷子屋里又不断传来开关灯的声音。...

  • 〖开灯与关灯〗

    〖开灯与关灯〗 ——〈开灯心语〉 开灯 ——光明, 当下最好 ——自然更好; 关灯 ——无明, 当下糟糕...

  • 商学院筑梦 灯光需求

    1、演员上场(剪影效果)不要开灯 2、演员聚拢,开灯 3、屏幕黑起 关灯 4、全体演员上场开灯,快闪灯

  • (家)‖1、2、3,关灯/开灯。

    “1、2、3,关灯了/开灯了”——罗胖边说边闭好眼睛。 “好”——我闭着眼睛应到。 再睁开眼睛的时候,身边环境和那...

  • 弟弟语录2则

    妈妈:我们关灯睡觉了。 弟弟:不要关灯,要开灯。 妈妈:关灯了。 弟弟:开灯啦。 姐姐:关掉! 弟弟:开掉! 姐姐...

  • 关灯开灯之间(哲理诗)

    关灯开灯之间(哲理诗) 文/黄影 开灯眼前一亮,关灯心里一亮 开灯,看到一个人间 关灯,回到我...

网友评论

    本文标题:30个Python物联网小实验3:使用按钮开灯关灯

    本文链接:https://www.haomeiwen.com/subject/hxsutctx.html