用模拟量输入来控制模拟量输出 我们今天继续上一节的内容,用模拟量输入值来控制模拟量输出值,从而达到控制小灯亮度的效果。这里有哪些小技巧呢?我们往下看。 模拟量的输入输出端口,我们上一节已经选好了。我们这一次呢就不用选择了,我们这一次直接通过一个可调电阻的输出端进行一个模拟量数值的输入。通过观察小灯的亮度判断模拟量数值的输出。
我们将可调电阻的正极连入开发板的VCC 端口,可调电阻的负极接入开发板的GND端口,输出端和开发板的模拟量输入端端口进行连接即可。 这里的原理就是通过调节可调电阻的阻值,来改变输入开发板模拟输入端口的电流和电压。从而改变模拟量输入值。这里开发板得到的模拟量的输入值的波动是多少他的改变范围有多大呢?。我们怎么去看到这个模拟量以及波动值呢?这里就要用到米思齐编程软件里面的串口打印功能。
我们通过串口打印去看,调节这个可调电阻,输入的模拟量值是多少,就可轻松观察到了。模拟量值的输入范围跟开发板型号有关,和可调电阻的大小无关。就比如我这里以我的ESP-32 开发板为例当它接入0-10K欧姆可调电阻和0-100k欧姆可调电阻时他们的模拟量输入范围都是0-4095也就是说有4096个数值是存在的。ESP-32它所支持的模拟量输入数值就是0 到4095,就相当于有4096位个模拟量值。 我们通过,之前学习。以改变LED小灯亮度为例。小灯的亮度值是0到255范围内,再增大也改变不了亮度了。可是我们目前的入模拟量远远大于这个范围,当可调电阻刚刚调整一下小灯就达到最亮了,再增大调节时亮度也不会改变了,并没有达到完全控制小灯亮度的效果,那我们怎么办呢? 我们这里有一个小办法。米思齐为我们提供了一个实用的编程模块供我们使用----映射这个模块,
我们可以将模拟量输入数值值范围和模拟量输出范围全都填入到映射这个编程模块内,这样他就会将4096 份输入数值平均分成256份输出数值。也就是将0-4095 的范围直接通过运算改成了0-255的范围上。这样一来就省去了我们编程过程中自己数**算这一项。我们只需知道输入值和输出值是多少即可。省去了用计算器算来算去的了。先后顺序不要搞反哦,这里还有两点需要注意的是这里应该选择整数。
还有这里要填入模拟量输入端口这个程序模块,让程序知道数值来源于哪个端口,这两点一定也不可以填错。错了也是不好用的。 程序编写好后输出的最大数值是255了。 怎么样,这个小办法是不是非常的实用呢?如果你也想学习或者做一款自己想要控制的可以调节亮度的小灯,或者其他东西。你也可以去观看我之前写过的一篇文章,那里有详细的通过米思奇软件进行软件编程部分,以及开发板和可调电阻以及其他硬件的接线部分的详细的硬件部分的教程。你也可以私信给我留言,我会转发给你欢迎大家去观看。
|
跟着楼主一起学习,讲的非常不错。