1、工程简介
该工程下包含原理图一份,PCB两份,分别是方形灯PCB与圆形灯PCB。采用ESP-01模块(华秋电子商城新人1元购)作为主控,其IO2引脚输出控制5颗WS2812B灯珠(17元100颗),为降低成本,未加入串口下载电路,需自备USB-TTL下载器(5元左右)或ESP-01下载器(7元左右)为项目下载程序。其余所用元件皆为常见元件:AMS1117-3.3*1颗,10uF电容*2颗,100nF(0.1uF)电容*9颗,12K电阻*2颗,Type-C母座*6P一颗,排针若干,M2*4螺丝2到4颗。
该工程外壳源文件(SLDPRT文件),STL文件,源代码等皆在立创硬件开源平台完全开源。望广大电子爱好者继续创新。
2、PCB的3D图及实物展示
3、程序说明
程序很简单,使用Ardiono IDE,调用<FASTLED>库即可,本程序内已设定灯光模式为彩虹渐变,大家可自行更改其他模式。
#include <FastLED.h>
#define Lights_Pin 2
#define NUM_Lights 5
#define COLOR_ORDER GRB
uint8_t max_Bright = 255;
CRGB Lights_Leds[NUM_Lights];
void setup()
{
FastLED.addLeds<WS2812, Lights_Pin, GRB>(Lights_Leds, NUM_Lights);
FastLED.setBrightness(max_Bright);
}
void loop()
{
ledlight(50);
ledlight(100);
ledlight(200);
ledlight(500);
ledlight(200);
ledlight(100);
ledlight(50);
ledlight(20);
}
void ledlight(int delaytime)
{
for(int i=0;i<255;i++)
{
fill_palette(Lights_Leds, NUM_Lights, i, 1, RainbowColors_p, 255, LINEARBLEND);
FastLED.show();
delay(delaytime);
}
for(int i=255;i>0;i--)
{
fill_palette(Lights_Leds, NUM_Lights, i, 1, RainbowColors_p, 255, LINEARBLEND);
FastLED.show();
delay(delaytime);
}
for(int i=0;i<255;i++)
{
fill_palette(Lights_Leds, NUM_Lights, i, 1, PartyColors_p, 255, LINEARBLEND);
FastLED.show();
delay(delaytime);
}
for(int i=255;i>0;i--)
{
fill_palette(Lights_Leds, NUM_Lights, i, 1, PartyColors_p, 255, LINEARBLEND);
FastLED.show();
delay(delaytime);
}
}
4、程序下载说明
程序下载时,将红色框内四根线连接到USB转TTL模块,并将绿色框内两引脚短接,再插入电脑下载程序;程序运行时,取消绿色两引脚短接,并重新上电即可。
5、外壳文件说明
外壳采用SolidWorks 2018 绘制,分为灯罩和灯座两部分,自带卡槽,散热孔Type-C接口槽,其中灯座部分有四个螺孔,可用于PCB的固定,使用M2*4螺丝即可。