会变色的瓶子
初次拿到灯带,不知道该做些什么;无意之中想到在一些饰品店,有一些好玩的玩意,比如轻轻晃动你手中的瓶子,里面的灯竟然亮起来了,能否自己也做一个这样的瓶子呢?尝试一下呗。STEP ONE:硬件器材
所需器材:
[*]DFR0282 Beetle控制器
[*]DFR0285 Beetle主控制板、
[*]电池升压模块
[*]USB数据线
[*]DFR0027 震动传感器
[*]FIT0352 灯带
或许灯带到手之后,会发现好长哦,也许会还会感到很复杂,其实不然,因为这个灯带也有相应的库,有了这个库,这么长的灯带其实就多盏普通的LED并联到一块,你可以点亮其中的任意一盏或者N盏灯。而且这个灯带可以随便剪成很多段,然后用三根线将针脚引出来就ok了。灯带的三根针脚分别是VCC、GND和数字信号针脚,只要将其接到数字口就搞定了。
STEP TWO:硬件搭建
STEP THREE:编写程序<font size="4">#define SensorINPUT9 //传感器接在数字口9上面
#include <Adafruit_NeoPixel.h>
#define PIN 10 //灯带接在数字口10上面
Adafruit_NeoPixel strip = Adafruit_NeoPixel(15, PIN, NEO_GRB + NEO_KHZ800);//一共十五盏LED
uint8_t myColors[] = {{232, 100, 255}, // 设置不同的颜色
{200, 200, 20}, //
{30, 200, 200}, //
{255 ,0 , 255},
};
#define FAVCOLORS sizeof(myColors) / 3
void setup()
{
pinMode(SensorINPUT, INPUT);
strip.begin();
Serial.begin(9600);
strip.setBrightness(200);//设置灯带亮度
strip.show();
}
void loop()
{
Serial.println( sizeof(myColors));
if(!digitalRead(SensorINPUT))//如果震动
{
flashRandom(10, 2);
flashRandom(10,1);
rainbow(10);
}
else
{
for(int j=0;j<15;j++)
{
strip.setPixelColor(j,(0,0,0));
}
}
}
void rainbow(uint8_t wait) {
uint16_t i, j;
for(j=0; j<256; j++) {
for(i=0; i<strip.numPixels(); i++) {
strip.setPixelColor(i, Wheel((i+j) & 255));
}
strip.show();
delay(wait);
}
for(i=0; i<strip.numPixels(); i++) {
strip.setPixelColor(i,(0,0,0));
strip.show();
}
}
uint32_t Wheel(byte WheelPos) {
if(WheelPos < 6) {
return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0);
} else if(WheelPos < 12) {
WheelPos -= 6;
return strip.Color(255 - WheelPos * 3, 0, WheelPos * 3);
} else {
WheelPos -= 12;
return strip.Color(0, WheelPos * 3, 255 - WheelPos * 3);
}
}
void flashRandom(int wait, uint8_t howmany) {
for(uint16_t i=0; i<howmany; i++) {
for(int j=0;j<15;j++)
{
// pick a random favorite color!
int c = random(FAVCOLORS);
int red = myColors;
int green = myColors;
int blue = myColors;
// now we will 'fade' it in 5 steps
for (int x=0; x < 5; x++) {
int r = red * (x+1); r /= 5;
int g = green * (x+1); g /= 5;
int b = blue * (x+1); b /= 5;
strip.setPixelColor(j, strip.Color(r, g, b));
strip.show();
delay(wait);
}
// & fade out in 5 steps
}
}
for(uint16_t i=howmany; i>0; i--) {
for(int j=0;j<15;j++)
{
// pick a random favorite color!
int c = random(FAVCOLORS);
int red = myColors;
int green = myColors;
int blue = myColors;
// now we will 'fade' it in 5 steps
for (int x=5; x >= 0; x--) {
int r = red * x; r /= 5;
int g = green * x; g /= 5;
int b = blue * x; b /= 5;
strip.setPixelColor(j, strip.Color(r, g, b));
strip.show();
delay(wait);
}
}
// LEDs will be off when done (they are faded to 0)
}
}</font> STEP FIVE:下载程序,观察现象
轻轻晃动你的传感器,灯带显示了不同的颜色以及不同的效果。
STEP SIX:装饰你的瓶子
将USB线拔掉,外接上电池,装入到心仪的瓶子里,轻轻摇晃瓶子,怎么样?
STEP SEVEN:效果演示
https://v.youku.com/v_show/id_XNzUyMjc1MDg4.html
--------------------------------------------------- 社区活动向导 --------------------------------------------------------
喜欢这个项目,可以为它进行投票,投票请点击“支持”按钮。欢迎到比赛专区围观其他参赛项目,参与投票。
>>>>>>>>>>>>>>>>>>DF创客社区比赛专区<<<<<<<<<<<<<<<<<<<
mcholen 发表于 2014-12-4 17:34
瓶子很漂亮,选透光度更低一些的瓶身会更好一点。
所需器材:Beetle控制器、 Beetle主控制板、电池升压模块、USB数据线、震动传感器、灯带,另外再整合一下瓶子、装饰品就ok了。大家可以制作出各种不同效果的摇摇瓶。 好久没看到你出项目了,希望楼主出来和我们一起分享项目作品。另外需要请你帮个忙,就是你这个变色的瓶子视频的背景音乐很好听,能不能把这首音乐发给我一下,喜欢这种吹口哨的音乐~~:) mcholen 发表于 2014-12-4 17:34
瓶子很漂亮,选透光度更低一些的瓶身会更好一点。
如果有机会,在尝试改一下,谢谢支持。 有视频可以看看效果吗? 同上,分享个视频吧,楼主 貌似看不到啥效果嘛 很不错嘛,是想学JBL的那个音箱嘛,呵呵 :lol:lol:lol:lol:lol:lol赞 好神奇,32个赞赞 瓶子的颜色可以自己设定吗? 这个真心给力 做得不错,希望可以更漂亮些。 好漂亮,美 出个套件吧,我们这里的小孩子都很想要~ 很像淘宝上那个阳光瓶。 视频效果好赞!!! 瓶子很漂亮,选透光度更低一些的瓶身会更好一点。 fangrong 发表于 2014-11-18 17:45
瓶子的颜色可以自己设定吗?
主要是灯带的颜色再变化。 falcon.x 发表于 2014-12-2 16:56
视频效果好赞!!!
:P,谢谢。 蛋蛋 发表于 2015-1-7 20:04
主要是灯带的颜色再变化。
奥奥,酱紫啊~:lol 美美哒,好像最近很流行的那个火焰杯
页:
[1]
2