找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1437|回复: 5
打印 上一主题 下一主题
收起左侧

请教WS2812单片机程序问题

[复制链接]
跳转到指定楼层
楼主
各位好,下面程序我想改成如动画图片里上面灯带那种方式,请教程序怎样修改,颜色可以不用考虑,谢谢

单片机源程序如下:
  1. #include <Adafruit_NeoPixel.h>
  2. #include <FastLED.h>
  3. #define LED_PIN     9
  4. #define NUM_LEDS    286

  5. CRGB leds[NUM_LEDS];
  6. void setup() {
  7. FastLED.addLeds<WS2812, LED_PIN, GRB>(leds, NUM_LEDS);
  8. }
  9. void loop() {
  10. unsigned int i;

  11.   FastLED.show();
  12.   leds[0] = CRGB(0, 0, 0);
  13.   FastLED.show();
  14.   delay(1000);

  15.   FastLED.show();
  16.   leds[1] = CRGB(65, 65, 65);
  17.   FastLED.show();
  18.   leds[2] = CRGB(65, 65, 65);
  19.   FastLED.show();
  20.   leds[3] = CRGB(65, 65, 65);
  21.   FastLED.show();
  22.   delay(1000);

  23.   FastLED.show();
  24.   leds[4] = CRGB(65, 65, 65);
  25.   FastLED.show();  
  26.   leds[5] = CRGB(65, 65, 65);
  27.   FastLED.show();
  28.   leds[6] = CRGB(65, 65, 65);
  29.   FastLED.show();
  30.   delay(1000);

  31.   FastLED.show();
  32.   leds[7] = CRGB(65, 65, 65);
  33.   FastLED.show();  
  34.   leds[8] = CRGB(65, 65, 65);
  35.   FastLED.show();
  36.   leds[9] = CRGB(65, 65, 65);
  37.   FastLED.show();
  38.   delay(1000);

  39.   FastLED.show();
  40.   leds[10] = CRGB(65, 65, 65);
  41.   FastLED.show();  
  42.   leds[11] = CRGB(65, 65, 65);
  43.   FastLED.show();
  44.   leds[12] = CRGB(65, 65, 65);
  45.   FastLED.show();
  46.   delay(1000);

  47.   FastLED.show();
  48.   leds[13] = CRGB(65, 65, 65);
  49.   FastLED.show();  
  50.   leds[14] = CRGB(65, 65, 65);
  51.   FastLED.show();
  52.   leds[15] = CRGB(65, 65, 65);
  53.   FastLED.show();
  54.   delay(1000);

  55.   FastLED.show();
  56.   leds[16] = CRGB(65, 65, 65);
  57.   FastLED.show();  
  58.   leds[17] = CRGB(65, 65, 65);
  59.   FastLED.show();
  60.   leds[18] = CRGB(65, 65, 65);
  61.   FastLED.show();
  62.   delay(1000);

  63.   FastLED.show();
  64.   leds[19] = CRGB(65, 65, 65);
  65.   FastLED.show();  
  66.   leds[20] = CRGB(65, 65, 65);
  67.   FastLED.show();
  68.   leds[21] = CRGB(65, 65, 65);
  69.   FastLED.show();
  70.   delay(1000);

  71.   for(i=0;i<24;i++)
  72.   {
  73.   leds[i] = CRGB(0, 0, 0);   
  74.   }

  75. }
复制代码




分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:143767 发表于 2022-2-9 13:41 | 只看该作者
没有人知道吗
回复

使用道具 举报

板凳
ID:143767 发表于 2022-2-9 16:44 | 只看该作者
本帖最后由 dj3365191 于 2022-2-10 12:28 编辑


图片已经发过,不知什么原因没有了,再发一张,我意思就是按图片里人头上面的灯带动画顺序修改程序,达到这个效果,谢谢,总共有17条灯带,每条的颜色任意就好,只需一个人的顺序就行。
回复

使用道具 举报

地板
ID:844772 发表于 2022-2-10 08:39 | 只看该作者
你这个是arduino的程序,到那边板块问比较好。这个程序就是定义了一串286个led,leds[NUM_LEDS]每个单元表示一个了点,通过leds[i] = CRGB(0, 0, 0);  改变相关led的颜色,FastLED.show();点亮。你想怎么改呢?
回复

使用道具 举报

5#
ID:858009 发表于 2022-11-9 15:16 | 只看该作者
dj3365191 发表于 2022-2-9 16:44
图片已经发过,不知什么原因没有了,再发一张,我意思就是按图片里人头上面的灯带动画顺序修改程序,达到 ...

你这程序实现了吗,
回复

使用道具 举报

6#
ID:88256 发表于 2022-11-9 17:42 | 只看该作者
流水灯的效果?如果只是流水灯就很简单啊
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表