蛋蛋 发表于 2014-8-1 14:37:44

会变色的瓶子

         初次拿到灯带,不知道该做些什么;无意之中想到在一些饰品店,有一些好玩的玩意,比如轻轻晃动你手中的瓶子,里面的灯竟然亮起来了,能否自己也做一个这样的瓶子呢?尝试一下呗。         
   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创客社区比赛专区<<<<<<<<<<<<<<<<<<<



蛋蛋 发表于 2015-1-7 20:05:23

mcholen 发表于 2014-12-4 17:34
瓶子很漂亮,选透光度更低一些的瓶身会更好一点。

所需器材:Beetle控制器、 Beetle主控制板、电池升压模块、USB数据线、震动传感器、灯带,另外再整合一下瓶子、装饰品就ok了。大家可以制作出各种不同效果的摇摇瓶。

源代码 发表于 2016-5-30 00:25:59

好久没看到你出项目了,希望楼主出来和我们一起分享项目作品。另外需要请你帮个忙,就是你这个变色的瓶子视频的背景音乐很好听,能不能把这首音乐发给我一下,喜欢这种吹口哨的音乐~~:)

蛋蛋 发表于 2015-1-7 20:05:50

mcholen 发表于 2014-12-4 17:34
瓶子很漂亮,选透光度更低一些的瓶身会更好一点。

如果有机会,在尝试改一下,谢谢支持。

Phoebe 发表于 2014-8-1 17:48:29

有视频可以看看效果吗?

Grey 发表于 2014-8-5 10:05:12

同上,分享个视频吧,楼主

lauren 发表于 2014-8-5 22:01:35

貌似看不到啥效果嘛

swanglei 发表于 2014-8-10 01:05:39

很不错嘛,是想学JBL的那个音箱嘛,呵呵

Enosin 发表于 2014-9-27 09:22:11

:lol:lol:lol:lol:lol:lol赞

冰渕 发表于 2014-11-18 10:48:05

好神奇,32个赞赞

fangrong 发表于 2014-11-18 17:45:28

瓶子的颜色可以自己设定吗?

林子大了 发表于 2014-11-25 09:38:58

这个真心给力

drink 发表于 2014-11-25 16:55:58

做得不错,希望可以更漂亮些。

KinFu 发表于 2014-11-25 17:20:18

好漂亮,美

mcholen 发表于 2014-11-25 17:45:30

出个套件吧,我们这里的小孩子都很想要~

喵王 发表于 2014-11-28 16:46:02

很像淘宝上那个阳光瓶。

falcon.x 发表于 2014-12-2 16:56:42

视频效果好赞!!!

mcholen 发表于 2014-12-4 17:34:41

瓶子很漂亮,选透光度更低一些的瓶身会更好一点。

蛋蛋 发表于 2015-1-7 20:04:14

fangrong 发表于 2014-11-18 17:45
瓶子的颜色可以自己设定吗?

主要是灯带的颜色再变化。

蛋蛋 发表于 2015-1-7 20:06:33

falcon.x 发表于 2014-12-2 16:56
视频效果好赞!!!

:P,谢谢。

fangrong 发表于 2015-1-8 11:52:45

蛋蛋 发表于 2015-1-7 20:04
主要是灯带的颜色再变化。

奥奥,酱紫啊~:lol

Connie 发表于 2015-1-30 14:28:34

美美哒,好像最近很流行的那个火焰杯
页: [1] 2
查看完整版本: 会变色的瓶子