littlebot
Published on 2025-04-12 / 3 Visits
0

【源码】基于Arduino框架的按钮处理库

项目简介

这是一个基于Arduino框架的按钮处理库,目的是简化在Arduino项目中使用按钮的流程。该库能够支持多个按钮的使用,并且利用中断机制,保证不会丢失按钮的按压状态。

项目的主要特性和功能

  1. 支持多个按钮同时使用。
  2. 运用中断检测按钮状态,避免丢失按压事件。
  3. 提供丰富的按钮状态信息,包含单次按压、长按、双击等。
  4. 若启用串行输出,可通过串行端口输出按钮状态和时间信息。

安装使用步骤

假设用户已经下载了本项目的源码文件,可按以下步骤操作: 1. 将Button.cppButton.h文件添加到Arduino项目的相应文件夹中。 2. 在Arduino代码文件中包含Button.h头文件,使用#include "Button.h"。 3. 声明一个或多个按钮对象,例如Button myButton = Button({PIN_NUMBER, LED_PIN});,其中PIN_NUMBER是按钮连接的Arduino引脚号,LED_PIN是可选的LED反馈引脚号。 4. 初始化中断,例如使用attachInterrupt(myButton.Data.PIN_Button, myButton.Pinchange, CHANGE);。 5. (可选)若有需要,编写一个函数来响应按钮的按下和释放事件。在这个函数中调用myButton.Pinchange()来处理按钮状态的变化。 6. 上传到Arduino设备,然后测试按钮功能。

函数定义说明

  • .StartPress:按钮被按下时触发一次。
  • .Pressed:返回当前按钮的按压状态。
  • .StartLongPress:按钮被按下超过设定的时间阈值(默认为5000毫秒)时触发一次。
  • .PressedLong:返回当前按钮的按压状态,并且只会在长按状态下为真。
  • .StartDoublePress:在较短时间内(默认为250毫秒)连续两次按下按钮时触发一次。
  • .StartRelease:按钮释放时触发一次。

注意:该库的具体使用方法和功能可能需要根据实际项目需求进行调整和优化。在使用前请仔细阅读相关文档和示例代码以确保正确使用。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】