该 LED DIMMER 是基于Arduino Uno的PWM(脉冲宽度调制)电路,开发用于在恒定电压上获得可变电压。下面说明PWM的方法。在开始构建1瓦LED调光器电路之前,首先考虑一个简单的电路,如下图所示。
现在,如果图中的开关在一段时间内连续闭合,则灯泡将在这段时间内持续导通。如果开关在10ms的周期内闭合8ms并断开2ms,则灯泡仅在8ms的时间内打开。现在,在10ms内的平均终端=接通时间/(接通时间+断开时间),这称为 占空比 ,为80%(8 /(8 + 2)),因此平均值输出电压将为电池电压的80%。
在第二种情况下,开关在10ms的时间内闭合5ms,然后断开5ms,因此输出端的平均端电压将为电池电压的50%。假设电池电压为5V,占空比为50%,则平均端子电压为2.5V。
在第三种情况下,占空比为20%,平均端子电压为电池电压的20%。
现在如何在此LED调光器中使用该技术 ? 在本教程的后续部分中对此进行了说明。
如图所示,Arduino UNO有6个PWM通道,因此我们可以在这六个引脚中的任何一个上获得PWM(可变电压)。在本章中,我们将使用PIN3作为PWM输出。
所需组件
硬件: ARDUINO UNO,电源(5v),100uF电容器,LED,按钮(两个),10KΩ电阻(两个)。
软体: arduino IDE
电路图和说明
该电路按照电路图连接在试验板上。但是,在连接LED端子时必须注意。尽管在这种情况下按钮显示弹跳效果,但不会引起很大的错误,因此我们这次不必担心。
UNO的PWM非常简单。虽然为PWM信号设置ATMEGA控制器并不容易,但我们必须定义许多寄存器和设置才能获得准确的信号,但是在ARDUINO中,我们不必处理所有这些事情。
默认情况下,所有头文件和寄存器都是由ARDUINO IDE预先定义的,我们只需要调用它们,就可以在适当的引脚上获得PWM输出。
现在要在适当的引脚上获得PWM输出,我们需要做两件事,
|
首先,我们需要从六个引脚中选择PWM输出引脚,然后我们需要将该引脚设置为输出。
接下来,我们需要通过调用函数“ analogWrite(pin,value)”来启用UNO的PWM功能。这里的“引脚”代表我们需要PWM输出的引脚号,我们将其设为“ 3”。因此,在PIN3上,我们将获得PWM输出。值是开启占空比,介于0(始终关闭)和255(始终开启)之间。我们将通过按按钮增加和减少此数字。
下面给出的C代码说明了在Arduino Uno中使用PWM引脚的情况。