|
本帖最后由 topdog 于 2020-9-19 21:12 编辑
网友eobeom提问帖,问题是:如何让4个led按图片的顺序依次亮,第一个亮一次、 第二个亮两次 、第三个亮三次 、第四个亮四次,然后第三个亮三次、 第二个亮两次 、第一个亮一次 、如此循环。
接线图如下:
程序如下:
[pre]const int pin[] = {2, 3, 4, 5}; //管脚按照1到4的顺序排列,形成一维数组。
const int DelayTime = 300; //控制闪烁的时间,太短观察不清楚。
void setup()
{
pinMode(pin[0], OUTPUT); //设置管脚输出模式
pinMode(pin[1], OUTPUT);
pinMode(pin[2], OUTPUT);
pinMode(pin[3], OUTPUT);
}
void loop()
{
int i, j;
for (i = 0; i < 3; i++) //按数组按顺序提取管脚
{
for (j = 0; j < i + 1; j++) //按顺序闪烁几次
{
digitalWrite(pin, HIGH);
delay(DelayTime);
digitalWrite(pin, LOW);
delay(DelayTime);
}
}
for (i = 3; i > 0; i--)
{ //逆向运行一遍
for (j = 0; j < i + 1; j++)
{
digitalWrite(pin, HIGH);
delay(DelayTime);
digitalWrite(pin, LOW);
delay(DelayTime);
}
}
}[/pre] |
|