目的
通过图形化编程来控制一个led灯能够逐级变亮与逐级变暗的过程,实现了呼吸一样的效果。
原理
通过写入模拟值(PWM:0-255)到某个引脚使该引脚电压变化,这样就可以以不同的亮度点亮LED。
因此,让模拟值从低到高,再从高到低变化,就可实现亮度控制。注意,Microduino-Core/zh只有(D3,D5,D6,D9,D10,D11)才支持PWM输出。
设备
搭建硬件
LED的阴极(引脚短)接Microduino的GND,阳极(引脚长)接Microduino数据控制口D6,
- 将Core、USBTTL和LED三者按原理图连接。
软件调试
- 打开Arduino IDE, 根据你使用的核心板在Tools里面选择好Board(Microduino Core 328P@16M 5V),选择Serial Port,如果未能选择串口,可能是USB线接触不好或损坏,或者没安装USBTTL驱动。
- 在Tools里打开ArduBlock,开始编程。
- 在Control里使用“repeat between”控件,在某个范围内重复,相当于“for()”函数。函数说明:
- variable name:定义一个变量,如:i。
- start:变亮的初始值。
- stop:在某个值停止重复执行。
- steps of:变量变化的大小。
- commands:在重复过程中要执行的命令。
- 根据“repeat between”可以让某个变量从1-255以4为单位逐级增加,然后写入到PWM引脚。这样led就能慢慢亮起来了。
- 同样让某个变量从255-1以4为单位逐级递减,然后写入到PWM引脚。这样led就能慢慢灭了。
结果
- 在图形化编辑的时候,程序会根据控件自动填写在Arduino程序编写框中。我们可以看看编写完的程序。
- “repeat between”控件可以根据start和stop的值自动判断“for()”函数的循环方式。
- 可通过更改“steps of”的值和“delay”的值来调整呼吸效果。
|