本次学习的内容
1、信号的输入与输出以及信号的分类。
2、理解数字信号与模拟信号以及它们的区别。
3、学会通过模拟输出的方式完成灯的呼吸效果。
Arduino中信号的分类
模拟信号|数字信号
模拟信号:是指用连续变化的物理量所表达的信息,如温度、湿度、压力、长度、电流、电压等等,我们通常又把模拟信号称为连续信号,它在一定的时间范围内可以有无限多个不同的取值。
数字信号:是在模拟信号的基础上人为经过采样、量化和编码而形成的,取值只有两种状态。
Arduino端口说明
调节LED灯亮度
电路接线
呼吸灯代码
// 定义一个volatile整型变量liangdu,它用于存储模拟信号的亮度值,volatile保证了它的值会在中断处理程序中被正确更新
volatile int liangdu;
// setup() 函数,在Arduino程序开始运行时调用,初始化liangdu为0
void setup(){
liangdu = 0;
}
// loop()函数,主循环体,程序在这里持续运行
void loop(){
// 从0到255的上升序列,设置ADC 3通道输出模拟电压,每次递增1,延时10毫秒
for (int liangdu = 0; liangdu <= 255; liangdu = liangdu + 1) {
analogWrite(3,liangdu); // 通过analogWrite控制PWM输出,改变数字信号的占空比表示模拟电压
delay(10); // 延迟一段时间,防止频率过高导致闪烁过快
}
// 从255到0的下降序列,同样的过程,但方向相反
for (int liangdu = 255; liangdu >= 0; liangdu = liangdu - 1) {
analogWrite(3,liangdu); // 逐渐降低模拟电压
delay(10); // 每次变化间隔10毫秒
}
}
//