【Arduino基础学习笔记】07可调节亮度台灯的原理
通过旋钮来调节亮度的台灯相信大家都不陌生。在学习了之前推送的LED呼吸灯之后,相信大家对如何调节灯的亮度已经有了一定的了解。在今天的推送中,我们将要简单学习如何用电位器来控制LED灯的亮度,模拟可调节亮度台灯的工作原理。
先来看看成品视频:
在视频中我们可以看到,有一个旋钮用来控制台灯的亮度,这个旋钮就是电位器。
电位器 (Potentiometer)是可变电阻器的一种。通常是由电阻体与转动或滑动系统组成,即靠一个动触点在电阻体上移动,获得部分电压输出。
电位器的作用:调节电压(含直流电压与信号电压)和电流的大小。
电位器的结构特点:电位器的电阻体有两个固定端,通过手动调节转轴或滑柄,改变动触点在电阻体上的位置,则改变了动触点与任一个固定端之间的电阻值,从而改变了电压与电流的大小。
本次推送中的实验所需材料也非常简单:
-
Arduino板子1块
-
LED灯1只
-
面包板1块
-
电位器1只
-
导线3条
准备好材料后我们就可以动手连接路线啦:
图片源自科技传播坊
在实际操作中,我们将LED灯的正极被接在来9号端口。因为要调节亮度,所以9号端口在这里作为模拟端口。LED灯的负极则被接在GND端口。
电位器有三个引脚,左右两个分别接到5V和GND端口,不必区分正负极。中间的引脚接到A0模拟端口,用以调节LED灯的亮度。
接下来我们开始编程:
今天的程序图中也出现来一些我们没有见到过的内容,让我们一条一条来看看吧:
在setup(){} 中,Serial.begin(9600)的意思是:初始化串口通信,将电脑上运行的软件和板子之间的波特率设为9600,用以通讯。如果用到模拟端口返回传感器的值时,必须要加上这句。而这个返回值,则在loop(){} 中的Serial.println()中体现。
anologRead指令用于从Arduino的模拟输入引脚读取数值。Arduino控制器有多个10位数模转换通道。这意味着Arduino可以将0-5伏特的电压输入信号映射到数值0~1023。
换句话说,我们可以将5伏特等分成1024份。0伏特的输入信号对应着数值0,而5伏特的输入信号对应着1023。
例:
当模拟输入引脚的输入电压为2.5伏特的时候,该引脚的数值为512。
(2.5伏特 / 5伏特 = 0.5, 1024 X 0.5 =512)
在本示例中,我们将电位器的三个引脚分别连接在5V, GND, 以及A0引脚。通过调节电位器, A0引脚的输入电压将在0V~5V之间。在Arduino内置的模拟数字转换功能作用下,该输入电压将被映射到数值0~1023之间。0V对应数值0, 5V对应1023)。这一数值将通过串口监视器显示。
因此,我们在程序中将A0除以4,实际上是为了得到0~255的亮度范围。
好了,今天的内容就到这里,大家一起来试试吧!
--end--
声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com