幸运彩灯

2018-09-096725
AI 快速预览详细 收起
幸运彩灯是一个创意编程项目,通过按钮控制彩虹灯带随机停留,实现类似幸运大转盘的效果。项目所需的硬件包括DFRobot NeoPixel灯带和按钮。最终效果是当按下按钮时,灯带会出现流水灯的效果,松开按钮后只有一盏彩灯会亮,这就是用户的幸运灯。该项目适用于STEM教育和少儿编程启蒙,激发孩子对编程的兴趣。
幸运彩灯


奇思妙想:我想用灯带和按钮做一个类似于幸运大转盘似的幸运灯带,当按下按钮时,会随机停留在某盏颜色的灯上,这就是自己的幸运色。
器材准备:
幸运彩灯图4幸运彩灯图3幸运彩灯图2幸运彩灯图1幸运彩灯图5
制作过程:
1、连接设备
幸运彩灯图6
2、编写程序
当按下按钮时,彩虹灯带会出现流水灯的效果,当松开按钮,只有一盏彩灯会亮,这就是我们的幸运灯。
幸运彩灯图7
3、视频链接
https://v.youku.com/v_show/id_XMzgxNzE0NjQ1Mg==.html?firsttime=11

4、程序代码
#include <DFRobot_NeoPixel.h>

DFRobot_NeoPixel  rgb_display_2(2, 7, 255);

void setup() {
        rgb_display_2.begin();
}

void loop() {
        if ((((digitalRead(0)) == 1))) {
                while ((!(((digitalRead(0)) == 0)))) {
                        if ((((digitalRead(0)) == 1))) {
                                rgb_display_2.clear();
                                rgb_display_2.setRangeColor(0, 0, 0xff0000);
                                delay(100);
                        }
                        if ((((digitalRead(0)) == 1))) {
                                rgb_display_2.clear();
                                rgb_display_2.setRangeColor(1, 1, 0xff9900);
                                delay(100);
                        }
                        if ((((digitalRead(0)) == 1))) {
                                rgb_display_2.clear();
                                rgb_display_2.setRangeColor(2, 2, 0xffff33);
                                delay(100);
                        }
                        if ((((digitalRead(0)) == 1))) {
                                rgb_display_2.clear();
                                rgb_display_2.setRangeColor(3, 3, 0x33ff33);
                                delay(100);
                        }
                        if ((((digitalRead(0)) == 1))) {
                                rgb_display_2.clear();
                                rgb_display_2.setRangeColor(4, 4, 0x0000ff);
                                delay(100);
                        }
                        if ((((digitalRead(0)) == 1))) {
                                rgb_display_2.clear();
                                rgb_display_2.setRangeColor(5, 5, 0x00ffff);
                                delay(100);
                        }
                        if ((((digitalRead(0)) == 1))) {
                                rgb_display_2.clear();
                                rgb_display_2.setRangeColor(6, 6, 0x6600cc);
                                delay(100);
                        }
                }
        }
}

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(0)
- 没有更多了 -