6821浏览
查看: 6821|回复: 7

闪闪的恐龙

[复制链接]
   上次用BlunoBeetle做控制器,3D打印出恐龙背,恐龙背里面塞了一条3米的WS2812灯带,为了听到“恐龙”的“吼叫”,还加了一个模拟声音传感器。本来就只有这些了,但是后来发现电池直接带灯电流太大,只要几分钟就会导致灯带过热,如果用Beetle带的话,Beetle又太烫受不了,所以我加了个25W DC-DC 降压模块,效果不错。话不多说,上图:照这种亮的东西,拍出来就瞎了我的钛合金狗眼了,见谅!



闪闪的恐龙图2
闪闪的恐龙图5
闪闪的恐龙图6
         这个恐龙灯的闪烁是用蓝牙和模拟声音传感器控制。当声音传感器接收到大于一定音量的声(恐龙吼叫)时,灯带开始闪烁,其余的时候有两种选择模式,一种是流水灯的模式,一种是呼吸灯模式。
       我用的手机控制软件是借的我们另外一款产品的壳(原谅渣渣的我不会ANDROID编程吧)。两种模式就是用的一个按键(蜂鸣器BUZZER))控制是进入流水灯模式还是呼吸灯模式。
      下面就是灯带的颜色控制了,我们的APP上给的是色环,灯带的颜色取的就是我选的位置左右两边一定范围的颜色(颜色范围目前不可调,需在程序里面设置好)。因为我们APP上发出来的给的色环数据颜色是RGB颜色,即给的格式是(R,G,B)。这样不符合我们想取的色环,所以我们要把RGB模式转换为HSV模式(色调(H),饱和度(S),亮度(V))。
闪闪的恐龙图3
闪闪的恐龙图4
闪闪的恐龙图1
       现在模拟声音传感器是放在衣领下方,下一步准备在袖子处加个模拟声音传感器,然后用个音频分析模块,这样就能够伸手将声音传感器放在一个音源上面,灯光就能够随着音乐跳动了,哈哈,想想还挺激动的呢!
       好,下面我们来聊聊灯带控制吧,这是最重要的。灯带控制我用了一个很牛的库FastLED(库很大,很杂,我目前只看懂了一点点,所以请大牛来精简,要不每次编译这个灯带的库的时候可以去倒杯茶喝了),做一些颜色控制非常简单,能够随时控制什么颜色到什么位置。首先讲下FillLEDsFromPaletteColors这个函数,这是我们想让什么颜色出现在什么位置的函数。NUM_LEDS表示你灯带有多少灯。colorIndex += 5表示你想要几个灯亮一个颜色,此时是(15/5 = )3个灯亮一个颜色。为什么是要除以5呢,因为ColorFromPalette函数中的currentPalette参数是一个16为长度的数组。所以他只能在这个函数中最多同时控制16种颜色。currentBlending是表示你的两种颜色的灯之间是颜色混合渐变的还是突变的,例如我第一个灯是红色,第二个灯是蓝色,第三个灯是绿色,如果是混合模式,这样第一个是红色,第二个灯就是蓝色和红色混合的了,第三个灯就是蓝色和绿色混合的,是渐变的,不会是从红色突然变成了蓝色这样。我的呼吸灯模式是用不混合模式,流水灯用的就是混合模式。
       void FillLEDsFromPaletteColors( uint8_t colorIndex, int brightness1)
{
  for ( int i = 0; i < NUM_LEDS; i++) {
    leds = ColorFromPalette(currentPalette, colorIndex, brightness1, currentBlending);
    colorIndex += 5; //有几个灯(15/5)亮同一种颜色
  }
}
    下面一个函数是流水灯模式的函数其中startIndex_Stream = startIndex_Stream + 5代表每次我们想让灯带颜色整体往前移 5个灯。ledColor()函数是将读取到的RGB转成HSV,并且将以此各种颜色填进currentPalette[]( = CHSV( H,S,V)这个数组。由于CHSV这个函数的参数最大值是255,而我们RGB转换来的HSV是0-360,所以我们需要将H转换到0-255范围内,用一个简单的MAP函数就能够解决这问题了。最后别忘了FastLED.show()这个让灯带刷新的函数。
void stream()
{
  //  Serial.println("stream");
  static uint8_t startIndex_Stream = 0;
  startIndex_Stream = startIndex_Stream + 5; //每次往前走几个灯
  ledColor();
  currentBlending = BLEND;  //灯颜色渐变
  FillLEDsFromPaletteColors(startIndex_Stream, 255);
  FastLED.show();
}
恐龙角的3D模型
下载附件DRAGON.zip


程序及库
下载附件dragon_leds.zip

丄帝De咗臂  高级技匠

发表于 2015-6-26 16:23:47

来一个穿上衣服的的炫酷造型看看,好牛的哦
回复

使用道具 举报

nxcosa  中级技师
 楼主|

发表于 2015-6-26 16:55:02

丄帝De咗臂 发表于 2015-6-26 16:23
来一个穿上衣服的的炫酷造型看看,好牛的哦

人长的太丑,怕吓着大家,等下找个妹子穿上试试:lol
回复

使用道具 举报

Jane  高级技匠

发表于 2015-6-26 18:22:46

应该拍段视频的嘛!
回复

使用道具 举报

yoyojacky  初级技匠

发表于 2015-6-29 00:00:41

不错哦,要视频有的话就happy啦
回复

使用道具 举报

touchfree  高级技师

发表于 2015-6-29 10:16:38

是应该上视频~  
回复

使用道具 举报

swanglei  中级技神

发表于 2015-6-30 13:03:23

你们祸害我的衣服。。。。。放开她~~~~
回复

使用道具 举报

MoonShine  高级技匠

发表于 2015-8-3 08:41:26

nxcosa 发表于 2015-6-26 16:55
人长的太丑,怕吓着大家,等下找个妹子穿上试试

人丑穿恐龙才配呢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail