Arduino上每一个带有数字编号的引脚,都是数字引脚,包括写有“A”编号的模拟输入引脚。使用这些引脚,可以完成输入输出数字信号的功能。
在使用输入或输出功能前,你需要先通过pinMode() 函数配置引脚的模式为输入模式或输出模式。
pinMode(pin, mode);
参数pin为指定配置的引脚编号;参数mode为指定的配置模式。
可使用的三种模式:
INPUT 输入模式
OUTPUT 输出模式
INPUT_PULLUP 输入上拉模式
如之前我们在Blink程序中使用到了pinMode(2, OUTPUT),即是把2号引脚配置为输出模式。
配置成输出模式后,你还需要使用digitalWrite() 让其输出高电平或者是低电平。其调用形式为:
本人使用引脚号为2,因为板子的2数字就是2号引脚。
digitalWrite(pin, value);
参数pin为指定输出的引脚编号;参数value为你要指定输出的电平,使用HIGH指定输出高电平,或是使用LOW指定输出低电平。
Arduino中输出的低电平为0V,输出的高电平为当前Arduino的工作电压。例如Arduino UNO的工作电压为5V,其高电平输出也是5V;Arduino Due工作电压为3.3V,所以高电平输出也就是3.3V。
数字引脚除了用于输出信号外,还可以用digitalRead() 函数读取外部输入的数字信号,其调用形式为:
int value = digitalRead(pin);
参数pin为指定读取状态的引脚编号;返回值value为获取到的信号状态,1为高电平,0为低电平。
本人想用A0到A5做输入,查阅资料。A0到A5是14-19号数字口。
Arduino UNO会将大于3V的输入电压视为高电平识别,小于1.5V的电压视为低电平识别。所以,即使输入电压不太准确,Arduino UNO也可以正常识别。需要注意的是,超过5V的输入电压可能会损坏Arduino UNO。(不同型号的Arduino有所不同)
在Arduino核心库中,OUTPUT被定义等于1,INPUT被定义等于0,HIGH被定义等于1,LOW被定义等于0。因此这里也可以用数字替代这些定义。如:
pinMode(2,1);
digitalWrite(2,1)
此处仅作说明,并不推荐这样写代码,因为这样会降低程序的可读性。