Arduino系列教程五:按键
来自丢石头百科
上面两章我们讲解两个经典的程序点亮一个LED灯和Hello World程序。这一章开始我们将讲解Arduino的软件编程控制硬件。本系列教程主要是Arduin的入门教程,讲解基本的接口编程。Arduino的很多教程都是通过面包板连接硬件电路。我本人很不喜欢这种方式,连接一些简单的电路还行,如果电路复杂的时候就非常麻烦了。再接下来的教程中我将使用Accessory Shield扩展板作为示例讲解Arduino的数字IO,模拟IO,PWM,I2C,SPI等接口的编程。
[接口]
|
|
打开Arduino IDE,编写如下程序并保存。
#define KEY A4
void setup() {
pinMode(KEY,INPUT);
digitalWrite(KEY,HIGH);
Serial.begin(9600);
}
void loop() {
if(digitalRead(KEY) == LOW){
delay(10);
if(digitalRead(KEY) == LOW)
Serial.println("KEY PRESS!!!");
while(digitalRead(KEY) == LOW){
delay(10);
}
}
}
把Accessory Shield插上UNO PLUS开发板。编译并上传程序,打开串口监视器。等待一会儿,按下Accessory Shield中五向摇杆的中间按键,串口监视器会显示按键按下的信息。
程序分析:
程序开头定义按键接到A4管脚,setup()函数中设置管脚为输入模式,默认高电平,初始化串口,波特率为9600.
loop()函数中判断管脚是否为低电平,若为低电平测表示有按键被按下。delay(10);
延时10ms去抖动,防干扰。再次判断管脚状态。若为低则表示不是抖动,是按键按下。使用Serial.println("KEY PRESS!!!")语句显示信息。然后等待按键被释放。