上面两章我们讲解两个经典的程序点亮一个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!!!")语句显示信息。然后等待按键被释放。 |