admin管理员组文章数量:1567009
2024年4月26日发(作者:)
Arduino教程一: 数字输出
Arduino, 教程
11 Comments »
Arduino的数字I/O被分成两个部分,其中每个部分都包含有6个可用的I/O管脚,即管脚2到管脚7和管脚8到管脚13。除了管脚
13上接了一个1K的电阻之外,其他各个管脚都直接连接到ATmega上。我们可以利用一个6位的数字跑马灯,来对Arduino数字I/O
的输出功能进行验证,以下是相应的原理图:
电路中在每个I/O管脚上加的那个1K电阻被称为限流电阻,
由于发光二极管在电路中没有等效电阻值,使用限流电阻可
以使元件上通过的电流不至于过大,能够起到保护的作用。
该工程对应的代码为:
int BASE = 2;
int NUM = 6;
int index = 0;
void setup()
{
for (int i = BASE; i < BASE + NUM; i ++)
{
pinMode(i, OUTPUT);
}
}
void loop()
{
for (int i = BASE; i < BASE + NUM; i ++) {
digitalWrite(i, LOW);
}
digitalWrite(BASE + index, HIGH);
index = (index + 1) % NUM;
delay(100);
}
下载并运行该工程,连接在Arduino数字I/O管脚2到管脚7上的发光二极管会依次点亮0.1秒,然后再熄灭:
这个实验可以用来验证数字I/O输出的正确性。Arduino上一共有十二个数字I/O管脚,我们可以用同样的办法验证其他六个管脚的正
确性,而这只需要对上述工程的第一行做相应的修改就可以了:
int BASE = 8;
SEP
01
Arduino教程二: 数字输入
Arduino, 教程
3 Comments »
在数字电路中开关(switch)是一种基本的输入形式,它的作用是保持电路的连接或者断开。Arduino从数字I/O管脚上只能读出高电
平(5V)或者低电平(0V),因此我们首先面临到的一个问题就是如何将开关的开/断状态转变成Arduino能够读取的高/低电平。解
决的办法是通过上/下拉电阻,按照电路的不同通常又可以分为正逻辑(Positive Logic)和负逻辑(Inverted Logic)两种。
在正逻辑电路中,开关一端接电源,另一端则通过一个10K的
下拉电阻
接地,输入信号从开关和电阻间引出。当开关断开的时候,
输入信号被电阻“拉”向地,形成低电平(0V);当开关接通的时候,输入信号直接与电源相连,形成高电平。对于经常用到的按压式
开关来讲,就是按下为高,抬起为低。
在负逻辑电路中,开关一端接地,另一端则通过一个
10K的
上拉电阻
接电源,输入信号同样也是从开关
和电阻间引出。当开关断开时,输入信号被电阻“拉”
向电源,形成高电平(5V);当开关接通的时候,输
入信号直接与地相连,形成低电平。对于经常用到的
按压式开关来讲,就是按下为低,抬起为高。
为了验证Arduino数字I/O的输入功能,我们可以将
开关接在Arduino的任意一个数字I/O管脚上(13除
外),并通过读取它的接通或者断开状态,来控制其
它数字I/O管脚的高低。本实验采用的原理图如下所
示,其中开关接在数字I/O的7号管脚上,被控的发
光二极管接在数字I/O的13号管脚上:
Arduino教程三: 模拟输入
Arduino, 教程
5 Comments »
Arduino的优势在于对数字信号的识别和处理,但我们所生活的真实世界并不是数字(digital)化的,简单到只要用0和1就能够表示
所有的现象。例如温度这一我们已经司空见惯的概念,它只能在一个范围之内连续变化,而不可能发生像从0到1这样的瞬时跳变,
版权声明:本文标题:Arduino教程 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1714062796a385443.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论