功能介绍
按键开关,常用作信号的输入。按键模块可以将按下与否的信息传递给Arduino主板。通过编程获取到这些信息后可以实现我们想要完成的动作。其实该模块的电路就是第二章第三节按键点灯中通过面包板连接的电路,只是做成电路板的形式,省去了接线的麻烦,使用起来更方便。常见的按键模块如图3.5.1所示。继续沿用Arduino的开源思想,按键模块上引出来的排针顺序是不确定的,在使用时请参照接线说明表格中连接或参照厂商的使用说明书。
图 3.5.1 按键模块图片
接线说明
Arduino | 按键模块 | 说明 |
---|---|---|
VCC/+/5V | VCC/+/5V | 供电引脚 |
GND/G/- | GND/G/- | 电源地线 |
D2 | S/D(k1) | 接Arduino的任意数字引脚都可以,模块数字量输出 |
更多个按键只有1个信号输出引脚的按键模块,通常采用的是按键并联电阻方式,信号输出为模拟信号。这样的模块信号线需要连接到Arduino的模拟引脚 |
使用说明:
按照接线说明连接好电路,注意供电引脚不能接反,编程通过数字读取方式获取按键按下与释放的信号。通常的按键模块,在按键按下时,信号输出将会是低电平(0),按键释放或者没有按下按键时,信号输出是高电平(1)。也会存在输出信号相反的情况,通常情况下,会在模块用白色丝印标注。按键模块在使用时会出现按键不灵敏或者过于灵敏的情况,此时修改delay()函数的时间可以减小出现的问题。
参考程序:
Arduino IDE参考程序
/*
读取按键的状态发送串口监视器查看
*/
byte button_pin = 2; //定义按键模块信号线连接到D2引脚
byte button_state; //定义一个存储按键状态的变量
void setup() {
Serial.begin(9600); //初始化串口波特率为9600
pinMode(button_pin, INPUT); //设置按键连接引脚的工作模式为输入模式
}
void loop() {
button_state = digitalRead(Button_pin); //读取按键的状态
Serial.println(button_State); //发送状态到串口监视器查看
delay(50); //做简短等待以降低检测的速度
}