树莓派实现按钮关机、重启、多功能等(按钮长按篇)

方法不唯一,如果你有好的方式可以评论告诉我

准备

  • 按钮
  • 面包板
  • 杜邦线

接线

在这里插入图片描述

代码(python3)

# -*- coding: utf-8 -*-
import time,os
import RPi.GPIO as GPIO

BUTTON=17

press_time=0#(上次)按下时间

GPIO.setmode(GPIO.BCM)
GPIO.setup(BUTTON,GPIO.IN,pull_up_down=GPIO.PUD_DOWN)

# 长按
def long_click():
	global press_time

	v=GPIO.input(BUTTON)

	# 按下
	if press_time==0 and v==1:
		press_time=time.time()

	# 抬起
	if press_time!=0 and v==0:
		count_time=time.time()-press_time
		press_time=0
		return count_time
	return None

while True:
	count_time=long_click()
	if count_time!=None:
		print('按下总时长',round(count_time,2))
	
	time.sleep(0.01)

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值