做一盏小巧的调色智能灯!

2017-05-287.5万
精华项目
AI 快速预览详细 收起
本文介绍了如何制作一盏小巧的调色智能灯。项目名称为“调色智能灯”,硬件清单包括3D打印外壳、Beetle控制器、10K齿轮电位器、WS2812LED等。最终效果是通过旋转电位器改变灯光颜色。难度等级适中,适合家长与孩子共同完成。
当科技在贴近人性,简单会颠覆复杂,感性超理性!16年我做过一盏智能蘑菇灯外观简洁时尚小巧赢得了大部分人的喜爱,但也因需要连接APP后才能蓝牙控制蘑菇灯,后面导致送朋友的蘑菇灯因手机兼容性问题造成无法控制~这就尴尬了。。。那么就不得不考虑重新设计一盏小巧、方便携带、容易操作的智能灯了。话不多说~先看视频!
做一盏小巧的调色智能灯!图1

如果视频无法播放!!!

既然说到小巧可携带,就不得不提一下它的机身尺寸了,高47mm长宽均为40mm。机身为PLA材料3D打印,依然配置无线充电功能,使用3.7v800mAh的锂电池提供电源,控制采用DFRobotDFR0282Beetle控制器该控制器体积只有硬币大小非常适合做这样小巧美观的作品。操作是通过一个10K的齿轮电阻控制灯的颜色,当齿轮电位器旋转到不同的阻值时Beetle控制器控制WS2812LED发出不同颜色的灯光。
材料准备
你需要准备一把电烙铁、焊锡、高温胶带、热熔胶、剥线钳、一台3D打印机等工具,以及下图所列出的电子元器件材料。
做一盏小巧的调色智能灯!图2

电路主接线图
智能灯电路部分,可参照我画好的电路图。
做一盏小巧的调色智能灯!图3
制作过程
第一步:进行3D建模,并打印出智能灯的外壳和无线充电发射底座。

做一盏小巧的调色智能灯!图4

做一盏小巧的调色智能灯!图6

做一盏小巧的调色智能灯!图5

做一盏小巧的调色智能灯!图7

第二步:焊接智能灯硬件电路部分。
首先在无线充电接受线圈输出端正极焊接一个整流二极管,将齿轮电位器引脚焊接上导线。
做一盏小巧的调色智能灯!图8

做一盏小巧的调色智能灯!图9

将无线充电接受线圈、电池、开关、Beetle控制器、齿轮电位器、WS2812按照电路连接图依次焊接起来
做一盏小巧的调色智能灯!图10

做一盏小巧的调色智能灯!图11

上传以下控制程序到Beetle控制器

  1. #include <Adafruit_NeoPixel.h>
  2. #define ledPIN 10//led接D10
  3. #define potPIN 1 //电位器接A1
  4. int val = 0;       // 读取存储传感器的值
  5. uint8_t r, g, b;
  6. // Parameter 1 = number of pixels in strip
  7. // Parameter 2 = pin number (most are valid)
  8. // Parameter 3 = pixel type flags, add together as needed:
  9. //   NEO_KHZ800  800 KHz bitstream (most NeoPixel products w/WS2812 LEDs)
  10. //   NEO_KHZ400  400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers)
  11. //   NEO_GRB     Pixels are wired for GRB bitstream (most NeoPixel products)
  12. //   NEO_RGB     Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2)
  13. Adafruit_NeoPixel strip = Adafruit_NeoPixel(13, ledPIN, NEO_GRB + NEO_KHZ800);
  14. void setup() {
  15.   //r=255;
  16.   //g=0;
  17.   //b=0;
  18.   pinMode(ledPIN, OUTPUT);  // declare the ledPin as an OUTPUT
  19.   strip.begin();
  20.   strip.setBrightness(255); //adjust brightness here
  21.   strip.show(); // Initialize all pixels to 'off'
  22. }
  23. void loop() {
  24.   //rainbowRGB(10);
  25.   val = analogRead(potPIN);    // read the value from the sensor
  26.   
  27. /** if (val<1) {
  28.   colorWipe(strip.Color(255, 0, 0), 20); // Red
  29.   } else  {
  30.       if (val>1023) {
  31.   colorWipe(strip.Color(0, 255, 0), 50); // Green
  32.       }
  33.       else {colorWipe(strip.Color(0, 0, 255), 10); // Blue}
  34.       }
  35.   }**/
  36.   colorVal(val,10);
  37.   
  38. /*  if (val<50) {
  39.       colorWipe(strip.Color(255, 0, 0), 10); // Red
  40.   }
  41.   else {
  42.       colorWipe(strip.Color(0, 0, 255), 10); // Blue
  43.   }*/
  44. }
  45. void colorVal(int v, uint8_t wait) {
  46.   uint8_t r=0, g=0, b=0;
  47.   if ((v>=0) && (v<256))
  48.     {r=255;g=v;b=0;}
  49.   if ((v>256) && (v<512))
  50.     {r=512-v;g=255;b=0;}
  51.   if ((v>512) && (v<768))
  52.     {r=0;g=255;b=v-512;}
  53.   if ((v>768) && (v<=1024))
  54.     {r=0;g=1024-v;b=255;}
  55.    
  56.   for(uint16_t i=0; i<strip.numPixels(); i++) {
  57.       strip.setPixelColor(i, r, g, b);
  58.       strip.show();
  59.       delay(wait);
  60.   }
  61. }
  62. // Fill the dots one after the other with a color
  63. void colorWipe(uint32_t c, uint8_t wait) {
  64.   for(uint16_t i=0; i<strip.numPixels(); i++) {
  65.       strip.setPixelColor(i, c);
  66.       strip.show();
  67.       delay(wait);
  68.   }
  69. }
  70. void rainbowRGB(uint8_t wait) {
  71.   uint16_t i;
  72.     for(i=0; i<strip.numPixels(); i++) {
  73.       nextRGB();
  74.       strip.setPixelColor(i, r, g, b);
  75.     }
  76.     strip.show();
  77.     delay(wait);
  78. }
  79. void nextRGB() {
  80.     if ( r == 255 && g < 255 && b == 0 )  { g++; }
  81.     if ( g == 255 && r > 0 && b == 0 )    { r--; }
  82.     if ( g == 255 && b < 255 && r == 0 )  { b++; }
  83.     if ( b == 255 && g > 0 && r == 0 )    { g--; }
  84.     if ( b == 255 && r < 255 && g == 0 )  { r++; }
  85.     if ( r == 255 && b > 0 && g == 0 )    { b--; }
  86. }
复制代码

第三步:组装。
依次将无线充电接受线圈、齿轮电位器、锂电池、Beetle控制板、WS2812LED装入智能灯底座内,并用热熔胶固定,最后扣上正方体灯罩。

做一盏小巧的调色智能灯!图12

做一盏小巧的调色智能灯!图13

做一盏小巧的调色智能灯!图14

做一盏小巧的调色智能灯!图15

第四步:制作无线充电发射底座。
将无线充电发射线圈直流输入导线焊接在充电保护的前端,不经过限流芯片。(注意!不要焊接在保护限流板后端,否则会影响发射线圈正常工作。)再将一个220欧电阻与LED串联再并联焊接在电源输入端用作电源输入指示灯。
做一盏小巧的调色智能灯!图16

将焊接好的充电电路安装在无线充电发射底座内,并用热熔胶固定,最后扣上底座盖。
做一盏小巧的调色智能灯!图17

做一盏小巧的调色智能灯!图18

      好了~做到这一步基本上就算完工了!!还有不清楚的地方可参考视频教程内的制作过程。这款智能灯相对来说制作还是比较简单的,充一次电经过我测试,能连续发光6小时!续航还是非常令人满意的,当然了,如果你使用容量更大的电池续航将大大提高。
做一盏小巧的调色智能灯!图21

做一盏小巧的调色智能灯!图20

做一盏小巧的调色智能灯!图19

智能灯3D模型.zip

439.71 KB, 阅读权限: 70, 下载次数: 21

售价: 30 创造力  [记录]

需要请下载

创作许可协议

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

评论(50)
银碗盛雪
银碗盛雪
是不是回复了才能下载?
JOVI
JOVI
学习学习
三春牛-创客
三春牛-创客
有创意,赞!!
三春牛-创客
三春牛-创客
厉害厉害!!
花生编程
花生编程
好赞啊!!!
花生编程
花生编程
厉害厉害
Amos Young
Amos Young

怎么提高阅读权限?
派大星ym
派大星ym
酷酷酷酷酷
派大星ym
派大星ym
有意思有意思
fr9zOqCH0QY0
fr9zOqCH0QY0
附件下载不了 :-(
诩
楼主问一下,这个主控用Romeo一样可以做吗?
诩
回复
上次你跟我说Sparrow太贵了
DFHJM_IpFmV
DFHJM_IpFmV
能把材料购买链接给我吗?或者是你做一个心愿单吧!
DFHJM_IpFmV
DFHJM_IpFmV
我下载不了附件!:)
红通通
红通通
太酷了,点赞!!!
laai
laai
这个价格是够高呀。不过还是很值得的。
laai
laai回复laai
问题是这个70权限大家都没有。
小马1
小马1

好漂亮啊应该做一个送给女朋友
Jhuv-26w
Jhuv-26w
跪求灯外壳cad原理图。
laai
laai
小巧实用!~
zzy
zzy
可以啊的
张滋榆
张滋榆
真赞