源代码 发表于 2017-5-28 20:57:04

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

当科技在贴近人性,简单会颠覆复杂,感性超理性!16年我做过一盏智能蘑菇灯外观简洁时尚小巧赢得了大部分人的喜爱,但也因需要连接APP后才能蓝牙控制蘑菇灯,后面导致送朋友的蘑菇灯因手机兼容性问题造成无法控制~这就尴尬了。。。那么就不得不考虑重新设计一盏小巧、方便携带、容易操作的智能灯了。话不多说~先看视频!

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


电路主接线图
智能灯电路部分,可参照我画好的电路图。

制作过程
第一步:进行3D建模,并打印出智能灯的外壳和无线充电发射底座。








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




将无线充电接受线圈、电池、开关、Beetle控制器、齿轮电位器、WS2812按照电路连接图依次焊接起来。




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

#include <Adafruit_NeoPixel.h>

#define ledPIN 10//led接D10
#define potPIN 1 //电位器接A1

int val = 0;       // 读取存储传感器的值
uint8_t r, g, b;


// Parameter 1 = number of pixels in strip
// Parameter 2 = pin number (most are valid)
// Parameter 3 = pixel type flags, add together as needed:
//   NEO_KHZ800800 KHz bitstream (most NeoPixel products w/WS2812 LEDs)
//   NEO_KHZ400400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers)
//   NEO_GRB   Pixels are wired for GRB bitstream (most NeoPixel products)
//   NEO_RGB   Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2)
Adafruit_NeoPixel strip = Adafruit_NeoPixel(13, ledPIN, NEO_GRB + NEO_KHZ800);

void setup() {
//r=255;
//g=0;
//b=0;
pinMode(ledPIN, OUTPUT);// declare the ledPin as an OUTPUT

strip.begin();
strip.setBrightness(255); //adjust brightness here
strip.show(); // Initialize all pixels to 'off'
}

void loop() {
//rainbowRGB(10);
val = analogRead(potPIN);    // read the value from the sensor

/** if (val<1) {
colorWipe(strip.Color(255, 0, 0), 20); // Red
} else{
      if (val>1023) {
colorWipe(strip.Color(0, 255, 0), 50); // Green
      }
      else {colorWipe(strip.Color(0, 0, 255), 10); // Blue}
      }
}**/
colorVal(val,10);

/*if (val<50) {
      colorWipe(strip.Color(255, 0, 0), 10); // Red
}
else {
      colorWipe(strip.Color(0, 0, 255), 10); // Blue
}*/
}

void colorVal(int v, uint8_t wait) {
uint8_t r=0, g=0, b=0;

if ((v>=0) && (v<256))
    {r=255;g=v;b=0;}
if ((v>256) && (v<512))
    {r=512-v;g=255;b=0;}
if ((v>512) && (v<768))
    {r=0;g=255;b=v-512;}
if ((v>768) && (v<=1024))
    {r=0;g=1024-v;b=255;}
   
for(uint16_t i=0; i<strip.numPixels(); i++) {
      strip.setPixelColor(i, r, g, b);
      strip.show();
      delay(wait);
}
}


// Fill the dots one after the other with a color
void colorWipe(uint32_t c, uint8_t wait) {
for(uint16_t i=0; i<strip.numPixels(); i++) {
      strip.setPixelColor(i, c);
      strip.show();
      delay(wait);
}
}

void rainbowRGB(uint8_t wait) {
uint16_t i;
    for(i=0; i<strip.numPixels(); i++) {
      nextRGB();
      strip.setPixelColor(i, r, g, b);
    }
    strip.show();
    delay(wait);
}

void nextRGB() {
    if ( r == 255 && g < 255 && b == 0 ){ g++; }
    if ( g == 255 && r > 0 && b == 0 )    { r--; }
    if ( g == 255 && b < 255 && r == 0 ){ b++; }
    if ( b == 255 && g > 0 && r == 0 )    { g--; }
    if ( b == 255 && r < 255 && g == 0 ){ r++; }
    if ( r == 255 && b > 0 && g == 0 )    { b--; }
}
第三步:组装。
依次将无线充电接受线圈、齿轮电位器、锂电池、Beetle控制板、WS2812LED装入智能灯底座内,并用热熔胶固定,最后扣上正方体灯罩。








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


将焊接好的充电电路安装在无线充电发射底座内,并用热熔胶固定,最后扣上底座盖。




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





韩图图 发表于 2017-6-9 22:10:44

怎么下载附件呀?

木槿H 发表于 2017-7-3 15:53:54

附件无法下载哦:(

源代码 发表于 2017-5-29 09:27:29

本帖最后由 源代码 于 2017-5-29 09:28 编辑

好奇吖斌 发表于 2017-5-29 00:05
擦,沙发,板凳你都坐了,我坐地板好了!
果然被你说到了~视频不能播放是因为我的复制的是会员去广告的链接,第三方平台不让播,现在是带广告的链接,能播了。。。

紫霜安雪 发表于 2017-5-28 22:14:53

多彩又小巧玲珑的智能灯,好漂亮~( •̀ ω •́ )y~

紫霜安雪 发表于 2017-5-28 22:17:15

{:5_189:}:victory:

好奇吖斌 发表于 2017-5-29 00:05:45

紫霜安雪 发表于 2017-5-28 22:17


擦,沙发,板凳你都坐了,我坐地板好了!

hnyzcj 发表于 2017-5-29 09:20:01

厉害了

源代码 发表于 2017-5-29 09:29:22

hnyzcj 发表于 2017-5-29 09:20
厉害了

我好久没有更新了{:5_196:}

源代码 发表于 2017-5-29 09:30:28

紫霜安雪 发表于 2017-5-28 22:14
多彩又小巧玲珑的智能灯,好漂亮~( •̀ ω •́ )y~

比蘑菇灯更方便操作,蘑菇灯还需要链接APP{:5_161:}

nicho 发表于 2017-5-29 14:50:24

{:5_190:}效果很赞~~~ 喜欢~

源代码 发表于 2017-5-29 15:49:29

nicho 发表于 2017-5-29 14:50
效果很赞~~~ 喜欢~

我打算做你那的体感耳朵玩玩~特别喜欢哈哈{:5_192:}

luna 发表于 2017-5-31 13:35:57

效果好棒!!又一佳作

Ace 发表于 2017-6-1 11:01:19

棒棒的                              

源代码 发表于 2017-6-1 12:42:19

Ace 发表于 2017-6-1 11:01
棒棒的

谢谢Ace夸奖:lol

源代码 发表于 2017-6-1 14:30:29

luna 发表于 2017-5-31 13:35
效果好棒!!又一佳作

我发现我做了好多灯~~{:5_161:}

源代码 发表于 2017-6-1 14:31:09

紫霜安雪 发表于 2017-5-28 22:17


{:5_183:}{:5_186:}

senghu 发表于 2017-6-2 07:33:34

小巧可爱

Eric 发表于 2017-6-8 21:35:21

来来来,点赞围观喽~正品即将推出~哈哈哈哈~先透露一下下

韩图图 发表于 2017-6-9 22:10:46

怎么下载附件呀?

韩图图 发表于 2017-6-9 22:12:43

怎么提高阅读权限?

scnuoww 发表于 2017-6-15 12:32:23

想带学生模仿做一下这个项目,楼主能指导一下吗?下载不了贵贴的附件哦:)
页: [1] 2 3 4
查看完整版本: 做一盏小巧的调色智能灯!