史上最口语化Arduino入门教程——1.2数字I/O口

Arduino的IO口分为数字IO和模拟IO口,这一节我们先看数字IO口~

在Arduino中上面这一排带数字的都是数字IO口,而下面以A+数字开头的都是模拟IO口啦,板子上也写明了DIGITAL和ANALOG IN ,用来区别,不过需要注意的是,模拟IO口也是可以当作数字IO口使用的哦,但是反过来就不行啦。

    操作数字IO口的方法如下

pinMode(pin,MODE);

设置IO口为输出还是输入模式

pin代指引脚编号,MODE为模式,有以下三种可供选择:

OUTPUT输出模式

INPUT   输入模式

INPUT_PULLUP  输入模式内部拉高

什么叫拉高呢,因为给Arduino的引脚设定了模式之后,有时并未指定引脚的状态,引脚会悬空,状态忽高忽低,拉高就是说让引脚保持高电平的状态,那么既然有拉高肯定会有对应的拉低了,一般拉低就是给引脚接一个电阻到GND接地,这样可以让引脚保持在一个低电平的状态,下面的按键控制LED实验就会用到拉低。

digitalRead(pin);

读取指定引脚的电平状态

digitalWrite(pin,MODE);

让指定引脚输出高或者低电平

MODE有两种模式

HIGH和LOW,这个说了好几遍了。。。不用再说是啥意思了吧,我们还是用Blink来解读

void setup() {

   pinMode(13, OUTPUT); // 设置13号引脚为输出模式(设定模式一般只需要设置一遍

//所以放在setup中)

 

}

 

void loop() {

  digitalWrite(13, HIGH);   // 让13号引脚输出高电平

  delay(1000);              // 延时一秒

  digitalWrite(13, LOW);    //让13号引脚输出低电平

  delay(1000);              // 延时一秒

}

 

 

这个没啥解释的了吧,注释已经说的很明白咯~不过有同学肯定接着问了,那这都是控制引脚输出的,我想知道引脚的状态(是高还是低电平),来控制怎么办呢?

    接下来就是IO口状态读取的实验啦。我们用到的是哪个函数的? Bingo~当然是digitalRead();了

现在我们要用一个按键来控制led的亮和灭,准备两个1-10K的电阻,还有一个按键,若干导线就可以了,接线图如下:

 

这个电阻的作用就是刚才说过的IO口拉低啦,为的就是让2号IO口保持在一个低电平的状态。下面我们来修改修改Blink程序。

 

void setup() {

   pinMode(13, OUTPUT); // 设置13号引脚为输出模式

   pinMode(2,INPUT);//按键连接在2号引脚上

}

 

void loop() {

if(digitalRead(2) == HIGH) //如果2号引脚的状态为高电平

{

digitalWrite(13, HIGH);   // 让13号引脚输出高电平

}

 else                //否则

{

digitalWrite(13, LOW);    //让13号引脚输出低电平

 

}

    

}

 

 

这时按下按键LED就会亮,松开手LED就灭了,至于里面的if()else()什么的先混个脸熟,后面会详细的讲。

 

那么操作IO口的电平有什么作用呢?其实模块的控制十分的简单,大多数都是用高低电平来控制它们,IO口就充当着一个开关的角色。一般来说控制模块先要看看介绍,看它可以接收和输出的是数字信号还是模拟信号,所谓数字信号就是说它只有两个量0和1,一般led模块、人体热电感应模块等都是采用的数字信号,而模拟信号它所输出的是一个电压值,通过板子的数模转换将它转化为可读的数值,然后使用公式换算成具体的量。常见的有温度传感模块、湿度传感模块、光敏电阻等等都是采用模拟量才体现具体的数值。除了这两种模块以外还有一种模块是采用总线控制的,比如串口、IIC、SPI,这种模块一般具备独立运算的功能,它们输入和输出的都是数据,采用指令等方式来控制,比如1602LCD,12864LCD,GSM模块、各类串口控制模块都是采用总线控制的方式,所谓总线大家也不要觉得很难理解,其实就是一种数据传输方式的总称,很容易理解的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值