风筝
发表于: 2018-8-11 23:41:53 | 显示全部楼层

Arduino开发板上的数字输入和输出(数字I / O)可以连接传感器、执行器和其他IC。学习如何使用它们,可以让您使用Arduino开发板做一些非常有用的事情,例如读取开关输入、点亮指示器和控制继电器输出。


数字信号

与模拟信号不同,模拟信号可以是一段数值范围内的任意值,而数字信号只有两个不同的值:HIGH(1)或LOW(0)。在输入或输出具有这两个值之一的情况下,您可以使用数字信号。例如,您可以使用数字信号的一种情况是点亮或熄灭LED。


函数

在本篇文章中,我们将使用的与数字信号相关的Arduino函数包含:

       ●    pinMode()

       ●    digitalRead()

       ●    digitalWrite()


pinMode(pin_number,mode)

由于Arduino数字I / O引脚可用于输入或输出,因此您应首先使用此函数配置要用于数字I / O的引脚。pin表示您要配置的引脚编号。 mode必须是以下三个值之一:INPUT、OUTPUT、INPUT_PULLUP。当模式设置为INPUT_PULLUP时,如果外部没有连接到引脚,则在引脚内部连接一个20kΩ的上拉电阻,强制输入为高电平。


digitalWrite(pin_number,value)

该功能将数字值写入引脚。 pin指定将数字值写入哪个Arduino引脚,value是引脚设置的数字值。value必须是HIGH或LOW。


digitalRead(pin_number)

该函数从引脚读取数字值。 pin是要读取的数字I / O引脚的编号。此函数返回两个值之一:HIGH或LOW。


实验1:使用延迟闪烁LED

在本实验中,我们将使用数字输出点亮和熄灭LED。


需要的硬件

●    LED指示灯

●    220欧电阻

●    Arduino UNO开发板

●    面包板

●    连接导线


接线图

arduino-digital-io-1.jpg

上图显示了如何将LED和220欧姆电阻连接到Arduino。如图所示,LED通过电阻连接到Arduino的数字I / O引脚8。电阻控制通过LED的电流。下面的程序首先将引脚8配置为OUTPUT,然后将数字I / O引脚设置为高电平1000 ms,然后再设置为低电平持续1000 ms。


实验1的程序

  1. const int led  =  8;     //use digital I/O pin 8
  2. void setup()
  3. {
  4. pinMode(led,OUTPUT);   //set pin 8 to be an output output
  5. }

  6. void loop()
  7. {
  8.    delay(1000);                //delay 1000 milliseconds
  9.    digitalWrite(led,HIGH);   //set pin 8 HIGH, turning on LED
  10.    delay(1000);                //delay 1000 milliseconds
  11.    digitalWrite(led,LOW);    //set pin 8 LOW, turning off LED
  12. }
复制代码

运行实验1

1.    将LED的正极连接到电阻器的一端,将电阻器的另一端连接到Arduino板上的数字I / O引脚8。

2.    将Arduino GND引脚连接到LED的阴极。

3.    使用USB线将Arduino连接到PC,然后使用Arduino IDE软件将程序传输到Arduino。

4.    使用电源、电池或USB电缆为Arduino板供电。

5.    LED应该开始闪烁。


实验2:使用按键闪烁LED

该实验不仅将演示如何使用数字输出,还将演示数字输入。按下连接到数字输入的按钮将打开或关闭LED。该程序使用digitalWrite()digitalRead()函数。


需要的硬件

●    LED指示灯

●    220欧电阻

●    按键

●    Arduino UNO开发板

●    面包板

●    连接导线


接线图

arduino-digital-io-2.jpg

从上图中可以看出,我们使用两个Arduino数字I / O引脚。 LED连接到引脚8,引脚8配置为OUTPUT。按钮连接到引脚9,引脚9配置为INPUT。当有人按下按钮开关时,引脚9设置为HIGH,然后程序将引脚8的输出设置为HIGH并点亮LED。松开按钮可将引脚9重置为LOW。然后程序将引脚8设置为LOW,从而熄灭LED。


代码

  1. const int led    =   8;         //name pin 8 as led
  2. const int button =   9;                //name pin 9 as button
  3. void setup()
  4. {
  5. pinMode(led,OUTPUT);                //set pin 8 as OUTPUT
  6. pinMode(button,INPUT)  ;        //set pin 9 as INPUT
  7. }
  8. void loop()
  9. {
  10.    int reads = digitalRead(button);        //read the digital value on pin 9
  11.    digitalWrite(led,reads);                //set the digital output value of pin 8 to that value         
  12. }
复制代码

运行实验2

1.    如图所示连接电路。

2.    使用USB线缆连接Arduino,使用Arduino IDE软件将程序烧写到Arduino中。

3.    使用电源、电池或USB电缆为Arduino开发板供电。

4.    按下按钮点亮LED,松开按钮熄灭LED。

跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 700 | 回复: 1480



手机版|

GMT+8, 2024-4-24 14:13 , Processed in 0.035738 second(s), 6 queries , Gzip On, MemCache On. Powered by Discuz! X3.5

YiBoard一板网 © 2015-2022 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表