MicroPython按钮计数实现:满5次后从1开始计数并新增加减调节按键
按钮点击计数功能实现方案
核心逻辑修正
你现有代码输出数值不符合预期的原因是直接使用了累计点击总数作为ROUND值,只需要将累计点击数减去前5次的阈值,即可得到从1开始的计数结果。
完整实现代码
# 全局计数变量 clicks = 0 # 原按钮点击处理函数 def button_clicks(): global clicks clicks += 1 if clicks > 5: round_count = clicks - 5 lcd.move_to(0,3) lcd.putstr(f"ROUND: {round_count}") # 新增B3按钮:计数值减1 def b3_click(): global clicks # 边界判断:避免计数低于阈值,可根据需求调整是否允许ROUND为0或负数 if clicks > 5: clicks -= 1 round_count = clicks -5 lcd.move_to(0,3) lcd.putstr(f"ROUND: {round_count}") # 新增B4按钮:计数值加1 def b4_click(): global clicks clicks += 1 # 仅当满足显示条件时更新屏幕 if clicks >5: round_count = clicks -5 lcd.move_to(0,3) lcd.putstr(f"ROUND: {round_count}")
补充说明
- 如果需要支持ROUND计数为0,可以删除
b3_click函数中的if clicks >5判断,调整为累计点击数最低可减到0即可 - 所有操作均共用同一个全局计数变量,保证三个按钮的计数同步
内容的提问来源于stack exchange,提问作者SoggyCashew
相关产品推荐
相关产品推荐

