arduino最大电压_Arduino实验3:PWM脉宽调制究竟是什么,用UNO板搭建呼吸灯电路

这期带来一个由Arduino UNO板控制的呼吸灯电路

实验效果

小灯在UNO板PWM信号的控制下可以逐渐变亮

9b6f12ce3c38669175b481e53efcbeb2.gif

呼吸灯效果

所需器材

一根编程线

一块Arduino 的UNO板

一块用于电路搭接的面包板

一个220欧电阻(起限流作用)

一颗发光二极管

杜邦线若干

2b610efd6974599ca2fe81871344fc3f.png

所需器材

接线连接

本次实验小灯的控制引脚为9脚

05fc611b1a562d18ccc97d9365e0567e.png

接线图

重点函数式

  • unsigned char无符号字节型数据(范围0~255)
  • for循环(这个函数非常好用,后面会常用到的)

格式:for(初始化表达式,条件表达式,修正表达式)

  • analogWrite PWM引脚位,可通过PWM调制,输出不同的电压值

PWM脉宽调制

这是一种对模拟信号电平进行数字编码的方法,由于计算机和UNO板只能输出0V或5V的数字电压值,所以就要通过改变方波脉宽占空比的方式,来对模拟信号进行编码,经过脉宽调制的输出电压和通断的时间有关,公式如下:

输出电压=(接通时间/脉冲总时间)X最大电压值

c10a8583d366348225d8b2400f08c2b2.png

脉宽调制

大家还可以这样理解,把总电压分成255份,输出的份数就代表在总电压中所占的比例

在 analogWrite()函数当中可控制的范围为0~255;

当 analogWrite(255)时,输出电压为总电压,占空比为100%,相当于开关常开;

当 analogWrite(0)时,输出电压为0,占空比为0%,相当于开关常闭;

当 analogWrite(127)时,占空比为50%,输出电压为总电压的一半;

程序源码

void setup()//初始化函数

{

pinMode(9,OUTPUT); //数字引脚位,指定输入输出

}

void loop() //执行函数

{

unsigned char i;//亮度增减变量

for (i=1;i<=255;i++)//增量范围0~255

{

analogWrite(9,i);//PWM引脚位,指定输出值

delay(5);//延时

}

for (i=255;i>=1;i--)

{

analogWrite(9,i); //PWM引脚位,指定输出值

delay(5);//延时

}

}

f44247de72cead37093e5b9b9287bc14.png

程序

看完这些,相信大家一定可以掌握Arduino中PWM端口的使用方法,后期我会上传更多Arduino的基础入门教程,查看更多的电子入门知识,可进入AC创客个人主页,感谢大家的支持


版权声明:本文为weixin_39687786原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。