I/O 口的意思即为INPUT 接口和OUTPUT 接口,到目前为止我们设计的小灯实验都还只是应用到Arduino 的I/O 口的输出功能,这个实验我们来尝试一下使用Arduino的I/O 口的输入功能即为读取外接设备的输出值,我们用一个按键和一个LED 小灯完成一个输入输出结合使用的实验,让大家能简单了解I/O 的作用。按键开关大家都应该比较了解,属于开关量(数字量)元件,按下时为闭合(导通)状态。
按键开关*1
面包板*1
导线若干


我们将按键接到数字2 接口,arduino板上自带I/O 13的LED灯,
我们分析电路可知当按键按下时,数字2接口可读出为高电平,这时我们使数字13 口输出高电平可使小灯亮起。
注意:(Arduino 控制器0-13 数字I/O 接口都可以用来接按键和小灯,但是尽量不选择0 和1 接口,0 和1 接口为接口功能复用,除I/O 口功能外也是串口通信接口,下载程序时属于与PC 机通信故应保持0 和1 接口悬空,所以为避免插拔线的麻烦尽量不选用0 和1 接口)


参考程序:
#define LED 13
#define KEY 2
void setup() 
{
pinMode(LED,OUTPUT);
pinMode(KEY,INPUT_PULLUP);//带上拉电阻的语句,无需外接上拉电阻
}
void loop()
{
if(digitalRead(KEY)==LOW)
{
delay(20);
if(digitalRead(KEY)==LOW)
{
digitalWrite(LED,!digitalRead(LED));
while(digitalRead(KEY)==LOW);
}
}
}
			 
                                    