在本系列的前三篇教程中,我们看到了如何使用ATtiny85的PWM输出来改变LED的强度(亮度)和直流电机速度。
在之前的教程中,我们只使用了一个PWM输出,但现在我们将同时使用ATtiny85的三个PWM输出。ATtiny85在引脚3 (PB4)、5 (PB0)和6 (PB1)上有三个PWM输出。这三种PWM输出改变了RGB LED的红色、绿色和蓝色LED的强度。通过改变红、绿、蓝三种LED的亮度,我们可以从RGB LED产生许多不同的颜色。让我们看看怎么做。
如果你没有从一开始就遵循本教程系列,那么你应该通过以下两个教程来解释和演示如何使用ATtiny85,并一步一步地指导构建hello world (LED闪烁)应用程序。
线路图
电路的连接
该电路仅使用三个组件:RGB LED、220欧姆电阻和ATtiny85。采用RGB LED,是常见的阴极类型。红色阳极接引脚PB0(引脚1),蓝色阳极接引脚PB1(引脚2),绿色阳极接引脚PB4(引脚3)。每个阳极接一个220Ω电阻,限制电流。LED的阴极连接到接地的引脚4。5v电源给Vcc引脚(8)。
电路操作
ATtiny85将在PB0、PB1和PB4引脚上产生PWM输出。这将改变红色、蓝色和绿色led的强度。当红色、绿色、蓝色LED的强度发生变化时,红色、绿色、蓝色的比例会从0 ~ 100%发生变化,从而产生不同的颜色。例如,通过将PWM应用于红色和绿色led并改变它们的比例,我们可以生成不同颜色和深浅的红色、绿色、黄色和橙色颜色。
程序
程序是在Arduino IDE软件中使用C语言编写的。它被编译,并创建一个HEX文件,并下载到ATtiny85的内部FLASH中。
程序逻辑
该程序在所有三个引脚PB0、PB1和PB4上生成PWM。
首先,它将关闭绿色LED,使其强度为0,使红色LED完全亮起。然后,它将蓝色LED的亮度从最小值变为最大值。这将生成不同色调和颜色的粉色和洋红,然后将红色LED的亮度从最小值变为最大值。同样,这将产生不同的颜色和颜色浅蓝色和深蓝色的阴影。
因此,程序将完全打开一个LED,关闭另一个LED,并改变第三个LED的强度。这将产生非常漂亮和引人注目的颜色和阴影。
该程序将开始同时改变两种颜色的强度,如红色+绿色、绿色+蓝色和红色+蓝色。因此,这也将创建许多不同的颜色和色调。
在下一个教程,我们将学习蓝牙模块HC05与ATtiny85的接口。
你也可以喜欢:
了下:特色的贡献