若大家想直接做出来玩一玩,不想去理解理解代码或者原理图,那就直接用我附件上的PCB制版文件去打样,然后焊接,再去下载代码就ok啦!
废话不多说!直接上图
原理图:
PCB:
3D展示:
代码:
/*本程序使用ESP-01模块,引脚定义为:
* GPIO0-----0
* GPIO2-----2
* RXD-------3
* TXD-------1
* 下载模式时,将GPIO0引脚接地,程序下载完成后,将GPIO0悬空,并重新上电,此时进入运行模式。
* 下载过程中,可能会出现Serial port COM8,Connecting....,一直连接但连接不上,此时,可将RST先拉低再拉高。
*/
#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(500);
ledlight(200);
ledlight(100);
ledlight(50);
ledlight(20);
ledlight(50);
ledlight(100);
ledlight(200);
}
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);
}
}
//官方库色板
//LavaColors_p
//HeatColors_p
//ForestColors_p
//OceanColors_p
//PartyColors_p
//RainbowColors_p