Microduino 圆环
本帖最后由 wasdylb 于 2014-5-25 19:26 编辑圆环采用WS2812-集控制电路与发光电路于一体的智能外控RGB-LED光源。外环总共有24个灯,中间5个灯,采用Microduino核心来控制。
WS2812特性:
5050高亮LED,内置控制芯片,仅需1个IO口即可控制多个LED
芯片内置整形电路,信号畸变不会累计,稳定显示
三基色256级亮度调剂,16万色真彩显示效果,扫描频率不低于400Hz/S
串行连级接口,能通过一根信号线完成数据的接收与解码
刷新速率30帧/秒时,低速连级模式连级数不小于512点
数据收发速度最高可达800Kbps
Microduino圆环初探:
所用到的库:
Adafruit_NeoPixel
https://github.com/adafruit/Adafruit_NeoPixel
用到模块:
Microduino Core 核心
Microduino ft232R下载程序
打开示例程序strandtest,下载可以看到各式各样效果:
Microduino圆环时钟:
用到模块:
Microduino Core 核心
Microduino ft232R下载程序
Microduino RTC时间
用到Rtc_Pcf8563库:http://playground.arduino.cc/Main/RTC-PCF8563
程序:
#include <Wire.h>
#include <Rtc_Pcf8563.h>
#include <Adafruit_NeoPixel.h>
Rtc_Pcf8563 rtc;//初始化实时时钟
#define PIN 4
Adafruit_NeoPixel strip = Adafruit_NeoPixel(28, PIN, NEO_GRB + NEO_KHZ800);
int timehour,timemin,timesec,timeweek;
int val_min,val_sec,val_m,val_d,val_hour,val_h;
void setup() {
Serial.begin(9600);
strip.begin();
strip.show(); // Initialize all pixels to 'off'
//vosettime();
}
void loop() {
rtc.formatDate();
rtc.formatTime();
timeweek=rtc.getWeekday();
timehour=rtc.getHour();
timemin=rtc.getMinute();
timesec=rtc.getSecond();
val_min = map(timemin, 0, 60, 0, 24);
val_sec = map(timesec, 0, 60, 0, 24);
val_d=timemin%5;
if(timehour<12)
val_hour=timehour;
else
val_hour=timehour-12;
if(val_h != val_hour)
{
colorWipe(strip.Color(0, 0, 0),(val_hour-1)*2 );
val_h = val_hour;
}
else
colorWipe(strip.Color(255, 0, 0), val_hour*2); // Red
if(val_m != val_min)
{
colorWipe(strip.Color(0, 0, 0), val_min-1);
val_m = val_min;
}
else
{
if(val_d==0)
colorWipe(strip.Color(0, 255, 0), val_min);
else
colorWipe(strip.Color(250, 5, 226), val_min);
}
if(val_d==0)
{
colorWipe(strip.Color(0, 0, 0), 24);
colorWipe(strip.Color(0, 0, 0), 25);
colorWipe(strip.Color(0, 0, 0), 26);
colorWipe(strip.Color(0, 0, 0), 27);
}
else if(val_d==1)
colorWipe(strip.Color(3, 206, 226), 24);
else if(val_d==2)
{
colorWipe(strip.Color(3, 206, 226), 24);
colorWipe(strip.Color(0, 255, 0), 25);
}
else if(val_d==3)
{
colorWipe(strip.Color(3, 206, 226), 24);
colorWipe(strip.Color(0, 255, 0), 25);
colorWipe(strip.Color(250, 250, 3), 26);
}
else if(val_d==4)
{
colorWipe(strip.Color(3, 206, 226), 24);
colorWipe(strip.Color(0, 255, 0), 25);
colorWipe(strip.Color(250, 250, 3), 26);
colorWipe(strip.Color(255, 0, 0), 27);
}
if(timesec%2==0)
{
colorWipe(strip.Color(0, 0, 255), val_sec);
delay(1000);
colorWipe(strip.Color(0, 0, 0), val_sec);
}
else
colorWipe(strip.Color(0, 0, 0), val_sec);
}
// Fill the dots one after the other with a color
void colorWipe(uint32_t c,uint8_t x) {
strip.setPixelColor(x, c);
strip.show();
}
//=======================初始化设置时间函数===========================//
void vosettime()
{
// rtc.initClock();
//day, weekday, month, century(1=1900, 0=2000), year(0-99)
rtc.setDate(25, 7, 5, 0, 14);
//hr, min, sec
rtc.setTime(18,27, 30);
}
结果:
视频:
http://v.youku.com/v_show/id_XNzE2OTUzMjA0.html
哦吼,支持一下子! 超级赞啊&&&&&&&&&&&&&&&& 什么时候搞个赠送活动啊{:soso_e144:}{:soso_e144:}{:soso_e144:} lkdoall 发表于 2014-5-25 20:02 static/image/common/back.gif
哦吼,支持一下子!
谢谢!:victory: 智能创客 发表于 2014-5-25 20:12 static/image/common/back.gif
超级赞啊&&&&&&&&&&&&&&&&
:) ____消失灬 发表于 2014-5-25 20:18 static/image/common/back.gif
什么时候搞个赠送活动啊
待定。。。。。。。。。。 有没有条形的? 多少钱一条?
我打算做点东西,需要这个 zoologist 发表于 2014-5-25 20:40 static/image/common/back.gif
有没有条形的? 多少钱一条?
我打算做点东西,需要这个
淘宝一堆:
http://s8.taobao.com/search?pid=mm_15803105_2604240_9573878&unid=&search_type=item&mode=aitaobao&q=ws2812%B5%C6%CC%F5&clk1=0e61a40e964e7c2c74063731278bf121#app_pvid=200_10.246.41.105_1884_1401024860168 在哪儿能买到 不错,做工一直很精美 现在还在测试阶段,快量产了,出来了再告诉你。 Cupid 发表于 2014-5-26 07:50 static/image/common/back.gif
在哪儿能买到
现在还在测试阶段,快量产了,出来了再告诉你。 wasdylb 发表于 2014-5-25 21:34 static/image/common/back.gif
淘宝一堆:
http://s8.taobao.com/search?pid=mm_15803105_2604240_9573878&unid=&search_type=item&mod ...
谢谢啦就是这个东西 很精致的样子
页:
[1]
2