楼主: eagler8

[教程] 【Arduino】108种传感器模块系列实验(61)---WS2812直条8位模块

[复制链接]

签到天数: 506 天

[LV.9]以坛为家II

 楼主| 发表于 2019-7-19 14:17 | 显示全部楼层
5050高亮LED,内置控制芯片,仅需1个IO口即可控制多个LED
芯片内置整形电路,信号畸变不会累计,稳定显示
三基色256级亮度调剂,16万色真彩显示效果,扫描频率不低于400Hz/S
串行连级接口,能通过一根信号线完成数据的接收与解码
刷新速率30帧/秒时,低速连级模式连级数不小于512点
数据收发速度最高可达800Kbps
高亮LED,光色亮度一致性高
两端有连级接口,可以直接插接

05.jpg

签到天数: 506 天

[LV.9]以坛为家II

 楼主| 发表于 2019-7-19 16:10 | 显示全部楼层
模块电原理图

07.jpg

签到天数: 506 天

[LV.9]以坛为家II

 楼主| 发表于 2019-7-19 16:13 | 显示全部楼层
本帖最后由 eagler8 于 2020-10-9 10:33 编辑
  1. /*
  2. 【Arduino】66种传感器模块系列实验(61)
  3. 实验六十一: 直条8位 WS2812B 5050 RGB LED内置全彩驱动彩灯模块
  4. 实验一,点亮ws2812直条LED
  5. */

  6. #include <Adafruit_NeoPixel.h>

  7. #define PIN 6
  8. #define MAX_LED 8

  9. #define ADD true
  10. #define SUB false

  11. int val = 0;
  12. boolean stat = ADD;

  13. Adafruit_NeoPixel strip = Adafruit_NeoPixel( MAX_LED, PIN, NEO_RGB + NEO_KHZ800 );

  14. void setup()
  15. {
  16.   strip.begin();           
  17.   strip.show();           
  18. }

  19. void loop()
  20. {
  21.   uint8_t i,a=0;                                       
  22.   uint32_t color = strip.Color(0, 100, 255);         
  23.   while(a<10)
  24.   {
  25.       for(i=0;i<9;i++)
  26.       {
  27.         if(i==a) strip.setPixelColor(i, color);     
  28.         else strip.setPixelColor(i, 0);            
  29.       }
  30.        strip.show();                                
  31.        delay(20);                                   
  32.        a++;                                         
  33.   }
  34. }
复制代码

签到天数: 506 天

[LV.9]以坛为家II

 楼主| 发表于 2019-7-19 16:19 | 显示全部楼层
09.jpg

签到天数: 506 天

[LV.9]以坛为家II

 楼主| 发表于 2019-7-19 16:47 | 显示全部楼层
本帖最后由 eagler8 于 2020-10-9 10:34 编辑
  1. /*
  2. 【Arduino】66种传感器模块系列实验(61)
  3. 实验六十一: 直条8位 WS2812B 5050 RGB LED内置全彩驱动彩灯模块
  4. 实验程序之二,依次点亮不同色彩灯
  5. */

  6. #include <FastLED.h>
  7. #define LED_PIN     6
  8. #define NUM_LEDS    8

  9. CRGB leds[NUM_LEDS];

  10. void setup() {
  11.   FastLED.addLeds<WS2812, LED_PIN, GRB>(leds, NUM_LEDS);
  12.   
  13. }
  14. void loop() {
  15.   
  16.   leds[0] = CRGB(255, 0, 0);
  17.   FastLED.show();
  18.   delay(500);  
  19.   
  20.   leds[1] = CRGB(0, 255, 0);
  21.   FastLED.show();
  22.   delay(500);
  23.   
  24.   leds[2] = CRGB(0, 0, 255);
  25.   FastLED.show();
  26.   delay(500);
  27.   
  28.   leds[3] = CRGB(150, 0, 255);
  29.   FastLED.show();
  30.   delay(500);
  31.   
  32.   leds[4] = CRGB(255, 200, 20);
  33.   FastLED.show();
  34.   delay(500);
  35.   
  36.   leds[5] = CRGB(85, 60, 180);
  37.   FastLED.show();
  38.   delay(500);
  39.   
  40.   leds[6] = CRGB(50, 255, 20);
  41.   FastLED.show();
  42.   delay(500);

  43.   leds[7] = CRGB(150, 50, 60);
  44.   FastLED.show();
  45.   delay(500);
  46. }
复制代码

签到天数: 506 天

[LV.9]以坛为家II

 楼主| 发表于 2019-7-19 17:35 | 显示全部楼层
本帖最后由 eagler8 于 2020-10-9 10:34 编辑
  1. /*
  2. 【Arduino】66种传感器模块系列实验(61)
  3. 实验六十一: 直条8位 WS2812B 5050 RGB LED内置全彩驱动彩灯模块
  4. 实验程序之三,简单渐变彩虹色
  5. */

  6. #include <Adafruit_NeoPixel.h>
  7. #ifdef __AVR__
  8.   #include <avr/power.h>
  9. #endif

  10. #define PIN            6

  11. #define NUMPIXELS      8

  12. float  RDE1=0;
  13. float  GRE1=0;
  14. float  BLE1=0;

  15. Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

  16. int delayval = 500;

  17. void setup() {

  18. #if defined (__AVR_ATtiny85__)
  19.   if (F_CPU == 16000000) clock_prescale_set(clock_div_1);
  20. #endif

  21.   pixels.begin();
  22. }

  23. void loop() {
  24.     GRE1=0;
  25. for(int o=0;o<255;o++){
  26.     RDE1=255;
  27.     GRE1=GRE1+1;
  28.     BLE1=0;
  29.     for(int l=0;l<NUMPIXELS;l++){
  30.     pixels.setPixelColor(l, pixels.Color(RDE1,GRE1,BLE1));
  31.     pixels.show();
  32.     }
  33.     delay(20);
  34. }
  35.     RDE1=255;
  36. for(int p=0;p<255;p++){
  37.     RDE1=RDE1-1;
  38.     GRE1=255;
  39.     BLE1=0;
  40.     for(int l=0;l<NUMPIXELS;l++){
  41.     pixels.setPixelColor(l, pixels.Color(RDE1,GRE1,BLE1));
  42.     pixels.show();
  43.     }
  44.     delay(20);
  45. }
  46. BLE1=0;
  47. for(int k=0;k<255;k++){
  48.     RDE1=0;
  49.     GRE1=255;
  50.     BLE1=BLE1+1;
  51.     for(int l=0;l<NUMPIXELS;l++){
  52.     pixels.setPixelColor(l, pixels.Color(RDE1,GRE1,BLE1));
  53.     pixels.show();
  54.     }
  55.     delay(20);
  56. }
  57. GRE1=255;
  58. for(int k=0;k<255;k++){
  59.     RDE1=0;
  60.     GRE1=GRE1-1;
  61.     BLE1=255;
  62.     for(int l=0;l<NUMPIXELS;l++){
  63.     pixels.setPixelColor(l, pixels.Color(RDE1,GRE1,BLE1));
  64.     pixels.show();
  65.     }
  66.     delay(20);
  67. }
  68. RDE1=0;
  69. for(int h=0;h<150;h++){
  70.     RDE1=RDE1+1;
  71.     GRE1=0;
  72.     BLE1=255;
  73.     for(int l=0;l<NUMPIXELS;l++){
  74.     pixels.setPixelColor(l, pixels.Color(RDE1,GRE1,BLE1));
  75.     pixels.show();
  76.     }
  77.     delay(20);
  78. }

  79. }
复制代码

签到天数: 506 天

[LV.9]以坛为家II

 楼主| 发表于 2019-7-19 17:45 | 显示全部楼层
10.jpg

签到天数: 506 天

[LV.9]以坛为家II

 楼主| 发表于 2019-7-19 18:51 | 显示全部楼层
11.jpg

签到天数: 506 天

[LV.9]以坛为家II

 楼主| 发表于 2019-7-19 19:24 | 显示全部楼层
12.jpg

签到天数: 506 天

[LV.9]以坛为家II

 楼主| 发表于 2019-7-19 19:26 | 显示全部楼层
13.jpg
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

热门推荐

原价299元【语音开发板套件】限时免费领!
原价299元【语音开发板套
教你让OLED动起来!多重字符串版!
教你让OLED动起来!多重字
大家都知道:arduino单片机是单线程的 而上次教程中的多段字符串的运行速度必须一致
TTGO T8 1.7.1使用TFT_eSPI库驱动2.4寸ILI9341屏幕显示板载SD内图片
TTGO T8 1.7.1使用TFT_eSP
TTGO T8 1.7.1采用Espressif官方ESP32-WROVER模块制作,4MB闪存和8MB PSRAM,支持TF
TTGO TFT屏幕Arduino使用的小结
TTGO TFT屏幕Arduino使用
TTGO TFT屏幕是一款ESP32和1.44寸LCD屏幕组合的产品,屏幕由ST7789驱动。ESP32自带520
分享我的第一个点灯程序——家庭控制中心
分享我的第一个点灯程序—
2020年,在B站上初识ESP8266,被ESP8266的低门槛、高性价比深深吸引,2020年6月20日,
Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
快速回复 返回顶部 返回列表