好奇吖斌 发表于 2020-7-5 23:04:27

夜间好物--小汪变色夜灯

本帖最后由 好奇吖斌 于 2022-10-6 19:59 编辑

欢迎访问我的个人网站:www.haoqiabin.cn
更多精彩等您发掘!!!


最近的我在沉迷造灯,有了激光切割机学习了新技能,那当然要运用起来啦,以前就一直想做一个激光镭射那种小夜灯,这次终于能自己做出来了,我用的是单面磨砂亚克力+3D打印的底座做的,没错就是下面那个小汪
https://mc.dfrobot.com.cn/data/attachment/album/202007/05/224003y5v00hxhc0n0r7hk.jpg就在我做好的时候,柴火创客空间送测了一些Arduino新品入门套件,来得正是时候啊,刚好可以把夜灯进行升级改进一番,既然是入门套件第一步当然是学习点亮第一盏LED灯,来当一灯大师,做一个夜间好物系列,宁静的夜晚,缺不了一盏灯,一盏好看有艺术感的灯在宁静的晚上看了会心情舒畅。

我们先来看看面向入门的Grove Beginner Kit for Arduino套件长什么样吧↓
1.基于Arduino Uno板,改进增加防反接插口,Grove接口使用起来超级方便,无需区分线序,不用担心接反线烧板,点赞的优点
2.采用实验板拼版的方式,入门实验的时候无需拆下,编程的时候使用上面编号的引脚即可,做项目的时候就可以拆下来
3.兼容Mixly图形化编程,可以更方便的入门开始使用,但部分模块不兼容,这部分可作为进阶代码学习
4.推荐对硬件入门,创客教育教学,新媒体艺术家,电子专业的大学生和广大对创客入门的爱好者使用。
改进后的小汪夜灯https://mc.dfrobot.com.cn/data/attachment/album/202007/05/224009ggr59b44rc5sc72o.jpg我用这个套件改进了之前的夜灯,这个夜灯制作组装十分简单,算是我做的最快的作品了,之前接线都是比较费劲,主板上和模块上都有防反插接头,接线可以说对应好引脚接上去就ok了,完全不用考虑电源接线和供电的问题,对初学者非常友好,免去了电路的困扰,编程-接线-测试-组装大概就这么几步,其主要功能就是智能光控亮灭灯,非接触手势进行切换灯光颜色

零件清单(电子模块基于Grove Beginner Kit for Arduino套件)https://mc.dfrobot.com.cn/data/attachment/album/202007/05/224027unp169so6jckoh9b.jpg


名称数量
Arduino uno1
RGB LED模块1
巡线模块1
光线传感器模块1
Grove连接线3
4cm尼龙柱1
3D打印件(上、下底板,灯罩)3
M2*4螺丝3
M3*4螺丝8


代码十分简单,首先光线传感器会检测环境亮度,如果小于设定的阈值就会执行亮灯的模式,否则就灭灯;亮灯模式是利用巡线模块检测人手靠近,程序里计数加1改变灯的模式,到了最后的那个模式计数归0,重新计数实现循环切换灯模式,里面有4个不同的模式,1.淡红,2.淡绿,3.淡蓝,4.七彩循环变色然后停在淡黄。程序用到一个RGB灯软件库:https://github.com/pjpmarques/ChainableLED/archive/v1.2.zip

#include <ChainableLED.h>
#define NUM_LEDS1//1个RGB灯
#define LightSensor A0//光线传感器接A0引脚
#define LineFinder 6//巡线传感器接D6引脚

ChainableLED leds(7, 8, NUM_LEDS);//RGB灯模块接D7,D8引脚

void setup() {
   Serial.begin(9600);
   leds.init();
}

int lightMode = 0;

void loop() {

int value = analogRead(LightSensor);
Serial.println(value);

    if(value < 300){

                  if(!digitalRead(6)){
                  lightMode += 1;
                  delay(1000);
            
            switch(lightMode){
                case 1:
                   leds.setColorRGB(0, 255, 30, 30);//rbg值可以自定义
                   Serial.println(lightMode);
                break;
            
                case 2:
                   leds.setColorRGB(0, 100, 255, 10);//rbg值可以自定义
                   Serial.println(lightMode);
                break;
               
                case 3:
                   leds.setColorRGB(0, 0, 255, 255);//rbg值可以自定义
                   Serial.println(lightMode);
                break;

                case 4:
               Serial.println(lightMode);
                  
                   for(float hue=0;hue<1;hue+=0.02){
                      leds.setColorHSB(0, hue, 1.0, 0.5);
                      Serial.println(hue);
                      delay(50);
                   }
                   for(float hue=1;hue>0;hue-=0.02){
                      leds.setColorHSB(0, hue, 1.0, 0.5);
                      Serial.println(hue);
                      delay(50);
                   }
                      leds.setColorRGB(0, 247, 247, 9);
                  
                  lightMode = 0;
                break;
                }
            }
            
            }else{
               
                leds.setColorRGB(0, 0, 0, 0);
               
                }
      }

安装步骤
https://mc.dfrobot.com.cn/data/attachment/album/202007/05/224056p44ehekh6xhpr340.jpg1.主板安装上底座,四周拧上螺丝https://mc.dfrobot.com.cn/data/attachment/album/202007/05/224100jfspshise0ztosih.jpg2.把尼龙六角柱安装到四周的螺丝上https://mc.dfrobot.com.cn/data/attachment/album/202007/05/224104famaq2mz3bap4zom.jpg3.把RGB灯用螺丝固定到上盖板上https://mc.dfrobot.com.cn/data/attachment/album/202007/05/224111eg4fovvfov4mbvgg.jpg4.巡线模块安装到上盖板右边,光线传感器安装到下方https://mc.dfrobot.com.cn/data/attachment/album/202007/05/224116pz121wtylt2eveee.jpg5.接线,A0接到光线传感器,D7,D8接到RGB灯,D6接到巡线模块https://mc.dfrobot.com.cn/data/attachment/album/202007/05/224120v0ti5nrtj0ferft5.jpg6.盖板四周螺丝拧上https://mc.dfrobot.com.cn/data/attachment/album/202007/05/224124uhxqh5a6xhdq96zr.jpg7.安装上灯罩完成
制作起来简直一气呵成,grove接头的就是接线快

3D打印文件:



汤果 发表于 2020-7-6 07:05:32

小夜灯看起来不错( ⊙o⊙ )哇

hnyzcj 发表于 2020-7-6 17:14:01

夜间好物{:5_121:}
页: [1]
查看完整版本: 夜间好物--小汪变色夜灯