PAGE1
PAGE1
ArduinoMicro的数字输入与输出
数字输入与输出的基本概念
在ArduinoMicro中,数字输入和输出是最基本的功能之一。数字输入和输出是指通过Arduino的数字引脚来读取或发送高低电平信号。数字输入通常用于读取开关、按钮等二进制状态,而数字输出则用于控制LED、继电器等设备的开关状态。
数字输入
数字输入通过读取引脚的电平状态来获取信息。ArduinoMicro的数字引脚可以读取高电平(5V或3.3V,取决于供电电压)和低电平(0V)。这种二进制状态可以通过digitalRead()函数来读取。
数字输出
数字输出则是通过设置引脚的电平状态来控制外部设备。ArduinoMicro的数字引脚可以输出高电平(5V或3.3V)和低电平(0V)。这种控制可以通过digitalWrite()函数来实现。
数字引脚的模式设置
在使用数字输入和输出之前,需要通过pinMode()函数设置引脚的模式。pinMode()函数有两个参数:引脚编号和模式(输入或输出)。
输入模式
INPUT:引脚作为输入使用,高阻态,不提供内部上拉或下拉电阻。
INPUT_PULLUP:引脚作为输入使用,内部上拉电阻启用,引脚默认为高电平。
输出模式
OUTPUT:引脚作为输出使用。
代码示例
voidsetup(){
//设置引脚13为输出模式
pinMode(13,OUTPUT);
//设置引脚2为输入模式
pinMode(2,INPUT);
//设置引脚3为输入模式并启用内部上拉电阻
pinMode(3,INPUT_PULLUP);
}
voidloop(){
//读取引脚2的状态
intbuttonState=digitalRead(2);
//根据按钮状态控制引脚13的LED
if(buttonState==HIGH){
digitalWrite(13,HIGH);//点亮LED
}else{
digitalWrite(13,LOW);//熄灭LED
}
}
数字输入的使用
读取按钮状态
按钮是最常见的数字输入设备之一。通过连接按钮和一个上拉或下拉电阻,可以将按钮的状态读取到ArduinoMicro中。
硬件连接
按钮的一端连接到数字引脚(例如引脚2)。
按钮的另一端连接到GND。
如果使用内部上拉电阻,可以直接连接按钮到GND。
代码示例
constintbuttonPin=2;//按钮连接到引脚2
constintledPin=13;//LED连接到引脚13
voidsetup(){
//设置引脚模式
pinMode(buttonPin,INPUT_PULLUP);
pinMode(ledPin,OUTPUT);
}
voidloop(){
//读取按钮状态
intbuttonState=digitalRead(buttonPin);
//根据按钮状态控制LED
if(buttonState==LOW){
digitalWrite(ledPin,HIGH);//按钮按下时点亮LED
}else{
digitalWrite(ledPin,LOW);//按钮未按下时熄灭LED
}
}
延时去抖动
按钮在按下或释放时可能会产生抖动,导致读取到的状态不稳定。可以通过软件延时来去抖动。
代码示例
constintbuttonPin=2;//按钮连接到引脚2
constintledPin=13;//LED连接到引脚13
constintdebounceDelay=50;//去抖动延时50毫秒
voidsetup(){
//设置引脚模式
pinMode(buttonPin,INPUT_PULLUP);
pinMode(ledPin,OUTPUT);
}
voidloop(){
//读取按钮状态
intbuttonState=digitalRead(buttonPin);
//延时去抖动
delay(debounceDelay);
//再次读取按钮状态
intbuttonState2=digitalRead(buttonPin);
//如果两次读取状态一致,认为是稳定状态
if(buttonState==button