PAGE1
PAGE1
数字输入输出控制
数字输入输出引脚
ArduinoNano提供了22个数字输入输出引脚(0-13和A0-A5),这些引脚可以配置为输入或输出模式。每个引脚可以输出高电平(5V)或低电平(0V),也可以读取外部电路的高电平或低电平信号。
配置引脚模式
在使用数字输入输出引脚之前,需要先配置其模式。可以通过pinMode()函数来设置引脚为输入模式或输出模式。常见的模式有:
INPUT:引脚用于读取外部信号。
OUTPUT:引脚用于输出信号。
INPUT_PULLUP:引脚用于读取外部信号,但内部上拉电阻启用,使引脚默认为高电平。
代码示例:配置引脚模式
//定义引脚
constintledPin=13;//LED连接在数字引脚13
constintbuttonPin=2;//按钮连接在数字引脚2
voidsetup(){
//设置引脚模式
pinMode(ledPin,OUTPUT);//设置引脚13为输出模式
pinMode(buttonPin,INPUT_PULLUP);//设置引脚2为输入模式,启用内部上拉电阻
}
voidloop(){
//读取按钮状态
intbuttonState=digitalRead(buttonPin);
//根据按钮状态控制LED
if(buttonState==HIGH){
digitalWrite(ledPin,LOW);//按钮未按下,LED关闭
}else{
digitalWrite(ledPin,HIGH);//按钮按下,LED点亮
}
}
读取数字输入
使用digitalRead()函数可以读取数字引脚的状态。该函数返回HIGH或LOW,表示引脚的电压状态。
代码示例:读取按钮状态
constintbuttonPin=2;//按钮连接在数字引脚2
voidsetup(){
pinMode(buttonPin,INPUT);//设置引脚2为输入模式
Serial.begin(9600);//初始化串口通信
}
voidloop(){
intbuttonState=digitalRead(buttonPin);//读取按钮状态
//通过串口打印按钮状态
Serial.println(buttonState);
delay(1000);//延时1秒
}
输出数字信号
使用digitalWrite()函数可以向数字引脚输出高电平(5V)或低电平(0V)。该函数接受两个参数:引脚编号和输出状态(HIGH或LOW)。
代码示例:控制LED点亮和熄灭
constintledPin=13;//LED连接在数字引脚13
voidsetup(){
pinMode(ledPin,OUTPUT);//设置引脚13为输出模式
}
voidloop(){
digitalWrite(ledPin,HIGH);//点亮LED
delay(1000);//延时1秒
digitalWrite(ledPin,LOW);//熄灭LED
delay(1000);//延时1秒
}
数字输入输出的应用
数字输入输出引脚在多种应用场景中非常有用,例如控制LED、读取按钮状态、驱动继电器等。
控制LED
LED是最常见的数字输出设备。通过控制LED的点亮和熄灭,可以实现简单的状态指示功能。
代码示例:控制多个LED
constintled1Pin=5;//LED1连接在数字引脚5
constintled2Pin=6;//LED2连接在数字引脚6
constintbuttonPin=7;//按钮连接在数字引脚7
voidsetup(){
pinMode(led1Pin,OUTPUT);//设置引脚5为输出模式
pinMode(led2Pin,OUTPUT);//设置引脚6为输出模式
pinMode(buttonPin,INPUT_PULLUP);//设置引脚7为输入模式,启用内部上拉电阻
}
voidloop(){
intbu