我们首先来看下视频效果:

知乎视频​www.zhihu.com

开始之前我们先简单科普下WS2812这种带芯片单总线LED灯

WS2812灯带

数据手册:

WS2812_5050RGB.PDF
282.5K

·

百度网盘

按照30fps的刷新率最高可以级联1024个点,实际800个以内没问题

外观尺寸和引脚定义:

LED灯使用环境、电气性能参数以及电流消耗情况:

电压范围:3.5~5.3V

电流:每个灯最大亮度下电流都是20mA

工作温度范围:-25~+80℃

实际使用中的电路连接方式 DI与DO首尾相接:


arduino接线示意图:

代码:

#include <Adafruit_NeoPixel.h>#ifdef __AVR__#include <avr/power.h>
#endif#define PIN 6// Parameter 1 = number of pixels in strip
// Parameter 2 = Arduino pin number (most are valid)
// Parameter 3 = pixel type flags, add together as needed:
//   NEO_KHZ800  800 KHz bitstream (most NeoPixel products w/WS2812 LEDs)
//   NEO_KHZ400  400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers)
//   NEO_GRB     Pixels are wired for GRB bitstream (most NeoPixel products)
//   NEO_RGB     Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2)
//   NEO_RGBW    Pixels are wired for RGBW bitstream (NeoPixel RGBW products)
Adafruit_NeoPixel strip = Adafruit_NeoPixel(60, PIN, NEO_GRB + NEO_KHZ800);// IMPORTANT: To reduce NeoPixel burnout risk, add 1000 uF capacitor across
// pixel power leads, add 300 - 500 Ohm resistor on first pixel's data input
// and minimize distance between Arduino and first pixel.  Avoid connecting
// on a live circuit...if you must, connect GND first.void theaterChase(uint32_t c, uint8_t wait);
void colorWipe(uint32_t c, uint8_t wait);
void rainbow(uint8_t wait);
void rainbowCycle(uint8_t wait);
void theaterChase(uint32_t c, uint8_t wait);
void theaterChaseRainbow(uint8_t wait);
uint32_t Wheel(byte WheelPos);void setup() {// This is for Trinket 5V 16MHz, you can remove these three lines if you are not using a Trinket#if defined (__AVR_ATtiny85__)if (F_CPU == 16000000) clock_prescale_set(clock_div_1);#endif// End of trinket special codestrip.begin();strip.show(); // Initialize all pixels to 'off'
}void loop() {/*  strip.setPixelColor(0,255,255,255);strip.show();delay(200);strip.setPixelColor(0,0,0, 0);strip.show();delay(2000);*///rainbow(20);//rainbowCycle(20);theaterChaseRainbow(50);
}// Fill the dots one after the other with a color
void colorWipe(uint32_t c, uint8_t wait) {for(uint16_t i=0; i<strip.numPixels(); i++) {strip.setPixelColor(i, c);strip.show();delay(wait);}
}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);}
}// Slightly different, this makes the rainbow equally distributed throughout
void rainbowCycle(uint8_t wait) {uint16_t i, j;for(j=0; j<256*5; j++) { // 5 cycles of all colors on wheelfor(i=0; i< strip.numPixels(); i++) {strip.setPixelColor(i, Wheel(((i * 256 / strip.numPixels()) + j) & 255));}strip.show();delay(wait);}
}//Theatre-style crawling lights.
void theaterChase(uint32_t c, uint8_t wait) {for (int j=0; j<10; j++) {  //do 10 cycles of chasingfor (int q=0; q < 3; q++) {for (uint16_t i=0; i < strip.numPixels(); i=i+3) {strip.setPixelColor(i+q, c);    //turn every third pixel on}strip.show();delay(wait);for (uint16_t i=0; i < strip.numPixels(); i=i+3) {strip.setPixelColor(i+q, 0);        //turn every third pixel off}}}
}//Theatre-style crawling lights with rainbow effect
void theaterChaseRainbow(uint8_t wait) {for (int j=0; j < 256; j++) {     // cycle all 256 colors in the wheelfor (int q=0; q < 3; q++) {for (uint16_t i=0; i < strip.numPixels(); i=i+3) {strip.setPixelColor(i+q, Wheel( (i+j) % 255));    //turn every third pixel on}strip.show();delay(wait);for (uint16_t i=0; i < strip.numPixels(); i=i+3) {strip.setPixelColor(i+q, 0);        //turn every third pixel off}}}
}// Input a value 0 to 255 to get a color value.
// The colours are a transition r - g - b - back to r.
uint32_t Wheel(byte WheelPos) {WheelPos = 255 - WheelPos;if(WheelPos < 85) {return strip.Color(255 - WheelPos * 3, 0, WheelPos * 3);}if(WheelPos < 170) {WheelPos -= 85;return strip.Color(0, WheelPos * 3, 255 - WheelPos * 3);}WheelPos -= 170;return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0);
}

我这里用的是RT-Thread studio,需要先添加“Adafruit_NeoPixel”库

库下载地址:adafruit/Adafruit_NeoPixel

下载下来后直接将里面的文件复制到你的PlatformIO库目录下就好了

我这里是这个目录:C:UsersAdministrator.platformiolib


这里面有三种显示效果,我们一一来操作下:

第一个效果:


第二个效果:


第三个效果:

arduino neo 定位不可用_arduino霹雳七彩灯相关推荐

  1. 使用ESP8266接入“天猫精灵”控制七彩灯(WS2812)的颜色/亮度-开源

    目录 `演示视频` 1.准备工作 1.1 `原理` 1.2 `使用的硬件以及硬件连接图` 1.3 `开发环境准备` `Arduino开发环境` `安装ESP8266的扩展` `安装blinker Ar ...

  2. 20-认识RGB七彩灯 | Mixly技巧系列

    Mixly 是由北师大米思齐团队开发的图形化编程软件,自发布以来深受国内创客圈的喜爱.Mixly 编程软件采用图形化编程,不用记代码,只需要拖拽.简单设置,就能让你快速完成创意电子编程. 本专栏系列课 ...

  3. 乐鑫esp8266学习rtos3.0笔记第7篇:我又来了,基于rtos3.0版本 SDK编程 SPI 驱动 ws2812b 七彩灯,代码全部开源奉献给你们!

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,不做开发板.仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 序号 SDK版本 内容 链接 1 nonos2.0 搭建 ...

  4. Mixly制作的MP3播放和七彩灯、台灯控制例子

    Mixly制作的MP3播放和七彩灯.台灯控制例子 这是七彩灯的控制部分: MP3播放的竟然没保存,不过更简单.

  5. RGB灯控圣诞灯七彩灯方案开发IC方案控制板供应详细介绍

    主要应用: RGB灯控圣诞灯泛海微IC七彩灯方案开发IC方案控制板供应详细介绍 1.LED彩虹管:每条灯管由多个彩色像素点(RGB)组成,每个单色像素点可产生256个灰度级的变化.应用环境:立交桥.河 ...

  6. 22-玩转RGB七彩灯条、灯带、灯环 | Mixly技巧系列

    Mixly 是由北师大米思齐团队开发的图形化编程软件,自发布以来深受国内创客圈的喜爱.Mixly 编程软件采用图形化编程,不用记代码,只需要拖拽.简单设置,就能让你快速完成创意电子编程. 本专栏系列课 ...

  7. 【微信小程序控制硬件⑦ 进阶篇】巧借阿里云物联网平台的免费连接,从微信小程序颜色采集控制 esp8266 输出七彩灯效果,中秋节来个直播如何?!

    [微信小程序控制硬件第1篇 ] 全网首发,借助 emq 消息服务器带你如何搭建微信小程序的mqtt服务器,轻松控制智能硬件! [微信小程序控制硬件第2篇 ] 开始微信小程序之旅,导入小程序Mqtt客户 ...

  8. 21-玩转RGB七彩灯 | Mixly技巧系列

    Mixly 是由北师大米思齐团队开发的图形化编程软件,自发布以来深受国内创客圈的喜爱.Mixly 编程软件采用图形化编程,不用记代码,只需要拖拽.简单设置,就能让你快速完成创意电子编程. 本专栏系列课 ...

  9. 七彩灯(两个脚)怎么控制变色

    七彩灯(两个脚)怎么控制变色 能受控制吗 接上3V只会有频率的闪

最新文章

  1. php mysql函数未定义,PHP MySQLi未定义的方法错误
  2. 近20个绚丽实用的jQuery/CSS3侧边栏菜单(转载)
  3. android简单分享----文字加图片
  4. J2EE项目工具集(转)
  5. 如何快速定位程序Core?
  6. 如何循序渐进有效学习 JavaScript?
  7. 区块链 facebook_最新数据上区块链资讯,以及研究报告
  8. WeChat小程序授权机制踩坑请求头中设置cookie保持session
  9. 工业交换机有哪些功能?
  10. java实现记事本查找_Java实现记事本
  11. 接口里面的方法都是抽象方法吗_大家都在讲高中学习的方法有哪些,那方法和技巧有什么异同的吗?...
  12. [CareerCup] 8.10 Implement a Hash Table 实现一个哈希表
  13. 关注 | 新冠病毒这次的突变毒株太可怕,与人受体亲和力提高了1000倍,传播提高70%!已经成为伦敦地区主要毒株...
  14. [Tips]git cannot lock ref
  15. 线性代数之 实对称矩阵,正交对角化,二次型与正定矩阵
  16. 京东后台:订单履约系统设计(下)
  17. 海外社交媒体常用图片尺寸大全
  18. RabbitMQ服务启动就自动停止解决方案
  19. 手把手教你玩转 Excel 数据透视表
  20. 炼铁厂高炉可视化系统

热门文章

  1. ERROR: Minions returned with non-zero exit code
  2. 结对编程:黄金分割游戏
  3. Exchange 服务器可支持性矩阵
  4. 安卓学习笔记:使用PopupWindow创建简单菜单
  5. HTML5 Video DOM 入门体验
  6. 国外博客透露JavaFX 2.0路线图
  7. oracle 数据库启动停止小结
  8. trufflesuite/truffle-hdwallet-provider
  9. node服务器中打开html文件的两种方法
  10. 自制简单表单验证relative与absolute定位