一、信号分类:
1、数字信号:物理量的变化在时间和幅值上都是离散的(不连续),反映在电路上就是高电平和低电平两种状态(即只有0和1两个逻辑值)。比如:灯有亮和不亮两种状态,天气有晴天和雨天两种状态,门有打开和不打开两种状态。
2、模拟信号:物理量的变化在时间和幅度上都是连续的,反映在电路上就是不同电压数值状态。比如:温度、声音、速度都是模拟量。
所以我们生活中大多数信号为模拟信号,将模拟信号进行二值化量化后就变成了数字信号。两种信号是一种相对状态,根据使用场合选取信号。
二、Arduino的数字IO口
Arduino数字IO口有三种工作模式:OUTPUT(常规输出)、INPUT(常规输入)、INPUT_PULLUP(内部上拉输入)。
三、利用Arduino让LED灯闪烁
1、硬件介绍:LED(发光二极管)具有单向导通的特性,分为正负两极。
识别正负极的三种方式: 1、长的引脚为正极,短的引脚为负极;
2、圆形灯帽有缺口为负极,另一端为负极;
3、用万用表测试,测试方法见:万用表测LED引脚。
拓展:a、LED灯器件分为直插和贴片,导通特性一样,只是封装形式不一样,需要了解的自行查阅资料。
b、LED灯的单向导电性由PN结的单向导电性决定;
PN结原理见:1、P、N型半导体的形成;2、PN结工作原理。
2、面包板
专为电子电路的无焊接实验设计制造的。由于各种电子元器件可根据需要随意插入或拔出,免去了焊接,节省了电路的组装时间,而且元件可以重复使用,所以非常适合电子电路的组装、调试和训练。
3、硬件电路
由于LED灯额定工作电压大约为1.8V,额定工作电流为:10mA(详情见:
常见LED的额定工作电压、电流参数);而我们的Arduino数字IO口输出高电平为5V;所以不能直接将输出加到LED两端,需要串入电阻进行限流,根据欧姆定律,R=(5V-1.8V)/10mA=320Ω,但是由于电阻常用阻值没有320欧姆的,所以选取和其最相近的阻值330Ω。具体硬件电路如下所示。
4、程序编写
//功能:使LED以1HZ频率闪烁 #define PIN_LED 13 //宏定义13号端口为PIN_LED void setup() { pinMode(PIN_LED,OUTPUT); //初始化13号端口为输出 } void loop() { digitalWrite(PIN_LED,HIGH); //13号端口输出高电平 delay(500); //延时500ms digitalWrite(PIN_LED,LOW); //13号端口输出低电平 delay(500); //延时500ms }
5、下载程序及观察现象。
四、思考以下情况
1、当修改延时时间,让LED闪烁频率为50HZ,此时观察LED情况。
digitalWrite(PIN_LED,HIGH); //13号端口输出高电平 delay(10); //延时10ms digitalWrite(PIN_LED,LOW); //13号端口输出低电平 delay(10); //延时10ms
2、修改频率之后,保持闪烁频率不变,改变高电平时间,此时观察LED情况。
digitalWrite(PIN_LED,HIGH); //13号端口输出高电平 delay(2); //延时2ms digitalWrite(PIN_LED,LOW); //13号端口输出低电平 delay(18); //延时18ms
在时间上和数值上是离散的(不连续),反映在电路上就是低电平和高电平两种状态(即0和1两个逻辑值)。