在本系列之前的教程中,我们了解了如何使用ATtiny85的PWM输出改变LED的强度(亮度)。
本教程将使用电位计(pot)改变LED亮度,从而进入下一步。电位计将提供0到5V的模拟输出。ATtiny85具有内置ADC,具有4个输入通道和10位分辨率。ATtiny85将从pot获取模拟输入,并生成PWM输出以改变LED强度。让我们看看是怎么做的。
如果您没有从一开始就学习本系列教程,请阅读以下两个教程,它们解释并演示如何使用ATtiny85和逐步指南构建hello world(LED闪烁)应用程序。
电路图
电路连接
该电路仅使用3-4个元件构建。一个LED连接到PB0引脚(引脚5)和PWM输出引脚。一个330电阻器用于限制电流。电位计的中间和滑块端子连接到引脚3,即模拟输入引脚A2。如图所示,电位计的其他两个端子与5V和Gnd相连。5 V电源连接到Vcc引脚(8)
电路操作
当电位计变化时,它提供0到5V的模拟电压输出。这是ATtiny85的模拟输入。ATtiny85的内置ADC将其转换为数字,给出0到1023之间的数字值(因为10位分辨率)。基于此值,它将在PB0引脚上生成PWM输出,以改变LED的强度。
程序
该程序是用C语言用Arduino IDE软件编写的。它被编译,并创建一个十六进制文件,下载到ATtiny85的内部闪存中
程序逻辑
程序逻辑非常简单。首先,ATtiny85将读取模拟输入引脚A2上的模拟电压。它将得到一个介于0到1023之间的值。通过将该值除以4,该值将在引脚5(PB0)上产生PWM输出。该值除以4,因为PWM值介于0到255之间,而输入范围为0到1023。
在下一篇教程,我们将学习使用电位计改变直流电机速度。
您可能还喜欢:
根据以下文件提交:特色贡献