按键是重要的人机交互的工具,可以通过按键将数据输入给计算机(此处为Arduino),让Arduino按照人所想的方式工作,或者输入Arduino的一些工作参数。LED灯可以作为程序调试过程中的指示灯,让调试者清楚地知道程序现在运行到哪一步,从而可以很快的找出程序的问题所在。
在上一节的学习笔记《Arduino
首先,我们需要打开上次的Arduino UNO实验板,如图1所示。从下图中,我们可以看到Arduino UNO的核心ATmega328P单片机,绿色LED灯LED-GREEN,串口通讯接口COMPIM,这个构成了Arduino的最小系统。
下面我们要在Arduino UNO实验板上添加按键,在元器件选择框中输入“BUTTON”,如图2所示。选择上面一个按键,并点击OK将其添加至元器件栏中。
从元器件栏中将按键放置到Arduino UNO实验板的合适位置,这里我们选择数字口8,所以放置在其附近,并放置一个10KΩ的电阻,如图3所示。将按键的一端连接至数字口8,一端连接至+5V电源端,电阻的一端连接至数字口8,一端接至低端,构成一个下拉电阻【注】,连接之后的图如图4所示。
【注】下拉电阻的一端接至低端,因而叫做下拉电阻,即将电路节点的电平向低方向(地)拉。下拉电阻的主要作用是在电路驱动器(此处为按键)断开时给线路(节点)以一个固定的低电平。【文献1】
图3 在Arduino UNO实验板上放置按键和电阻
最后,还需要完成Arduino软件设计,验证我们的设计是否可行。先打开ArduinoIDE自带的例子,如图5所示。
我们要对Arduino IDE自带“BUTTON”例子进行修改,将const int buttonPin = 2;更改为const int buttonPin = 8;因为我们的按键连接在数字口8上面,更改之后的程序如下所示。
// set pin numbers:
const int buttonPin = 8;
const int ledPin =
// variables will change:
int buttonState = 0;
void setup() {
}
void loop(){
}
将更改之后的程序,编译通过之后,在Protues仿真环境中单击ATmega328P单片机,将Arduino IDE生成的HEX文件调入到Arduino UNO实验板中运行。
当按键断开时,LED熄灭,如图6所示;当按键闭合时,LED点亮。如图7所示。