PAGE1
PAGE1
数字输入输出
概述
数字输入输出是ArduinoUno中最基本的功能之一。通过数字输入输出引脚,可以实现对各种数字信号的读取和控制。数字引脚可以设置为输入模式(INPUT)或输出模式(OUTPUT),并且可以读取高电平(HIGH)或低电平(LOW)信号,或者输出相应的电平信号。
数字引脚的配置
pinMode()函数
pinMode()函数用于设置引脚的模式,即引脚作为输入还是输出。此函数有两个参数:
pin:要设置的引脚编号。
mode:引脚模式,可以是INPUT、OUTPUT或INPUT_PULLUP。
代码示例
voidsetup(){
//设置引脚13为输出模式
pinMode(13,OUTPUT);
//设置引脚2为输入模式
pinMode(2,INPUT);
//设置引脚3为输入带上拉模式
pinMode(3,INPUT_PULLUP);
}
voidloop(){
//在主循环中,可以进行其他操作
}
INPUT_PULLUP模式
INPUT_PULLUP模式是数字引脚的一个特殊输入模式,它内部连接了一个上拉电阻。这意味着当引脚未连接任何外部设备时,它默认为高电平(HIGH)。当外部设备将引脚拉低时,引脚读取到的信号将为低电平(LOW)。
代码示例
voidsetup(){
//设置引脚2为输入带上拉模式
pinMode(2,INPUT_PULLUP);
}
voidloop(){
//读取引脚2的状态
intbuttonState=digitalRead(2);
//根据按钮状态控制LED
if(buttonState==LOW){
digitalWrite(13,HIGH);//按钮按下时,LED亮
}else{
digitalWrite(13,LOW);//按钮未按下时,LED灭
}
}
读取数字输入
digitalRead()函数
digitalRead()函数用于读取指定引脚的数字输入状态。此函数返回HIGH或LOW。此函数只有一个参数:
pin:要读取的引脚编号。
代码示例
constintbuttonPin=2;//按钮连接到引脚2
voidsetup(){
//设置引脚2为输入模式
pinMode(buttonPin,INPUT);
}
voidloop(){
//读取按钮状态
intbuttonState=digitalRead(buttonPin);
//根据按钮状态控制LED
if(buttonState==HIGH){
digitalWrite(13,HIGH);//按钮未按下时,LED亮
}else{
digitalWrite(13,LOW);//按钮按下时,LED灭
}
}
带有内部上拉电阻的按钮
使用带有内部上拉电阻的按钮可以简化电路设计。当按钮未按下时,引脚被上拉电阻拉高,读取到的信号为HIGH;当按钮按下时,引脚被拉低,读取到的信号为LOW。
代码示例
constintbuttonPin=2;//按钮连接到引脚2
voidsetup(){
//设置引脚2为输入带上拉模式
pinMode(buttonPin,INPUT_PULLUP);
}
voidloop(){
//读取按钮状态
intbuttonState=digitalRead(buttonPin);
//根据按钮状态控制LED
if(buttonState==LOW){
digitalWrite(13,HIGH);//按钮按下时,LED亮
}else{
digitalWrite(13,LOW);//按钮未按下时,LED灭
}
}
控制数字输出
digitalWrite()函数
digitalWrite()函数用于设置指定引脚的数字输出状态。此函数有两个参数:
pin:要设置的引脚编号。
state:输出状态,可以是HIGH或LOW。
代码示例
constintledPin=13;//LED连接到引脚13
voidsetup(){
//设置引脚13为输出模式
pinMode(ledPin,OUTPUT)