arduino实现按键消抖
1.原理图
IO口接到单片机所对应的管脚
2.程序
/**
*/
int BUTTON = 9;
int val = 0;//变量val 存储按钮的状态
int old_val = 0;//暂存val变量的上一个时间状态
void setup() {
Serial.begin(115200);
pinMode(BUTTON, INPUT_PULLUP);
Serial.println("Starting work!");
}
void loop() {
val = digitalRead(BUTTON);//读取输入数值并且存储
if((val==HIGH)&&(old_val==LOW))//检查按钮的变化情况
{
Serial.println("Input key succeed!");
}
old_val=val;//存旧值
}
arduino无实现按键消抖
1.原理图
2.代码实现
#define BUTTON_PIN 9
void setup() {
pinMode(BUTTON_PIN, INPUT_PULLUP); // 设置按钮引脚为上拉输入模式
Serial.begin(9600); // 启动串口通信
}
void loop() {
int buttonState = digitalRead(BUTTON_PIN); // 读取按钮引脚的状态
if (buttonState == LOW) { // 如果按钮被按下(电平为低)
Serial.println("1"); // 输出 0
} else {
Serial.println("no putdown"); // 输出 1
}
delay(100); // 延迟一段时间,以避免读取按钮状态时的抖动
}