绚丽的色彩从何而来_LOTO示波器实测WS2812B系LED光源

不管你对 “RGB性能狂升300%” 的梗认同不认同,不可否认,绚丽的彩色很是酷炫,在现在市面上带“灯”的肯定比不带“灯”的贵也成了商家的一致行为。

在市面上呢,其中有一种RGB LED灯珠,因为价格便宜一个只要几毛钱买的多了都可能到1毛钱一个,无需额外的“庞大”控制电路来驱动,用各廉价的单片机和简单的元件,就可以单IO接口串联让成百上千个灯珠各自独立的发出颜色,低功耗,而且还有不错的刷新率,让DIY玩家在很是推崇。

这就是WS2812系类,它是一种“集控制电路与发光电路于一体的智能外控LED光源”。

那么它是怎么实现的?相关的文档、源码很多,但具体到实际控制方式还是不明不白。本文以WS2812B-4为例,它是WS2812的mini版本,性能上没有标准6脚的快,但是体积小,性能也用,可以让点距更小些。

让我们了解下它,然后为我们就会知道为什么要用LOTO示波器明明白折的分析下它是怎么被单片机控制并发出绚丽颜色的吧。

先来看看官方文档的说明~

科普下时间单位,方便后边说明。

ms是毫秒=0.001秒  us是微秒=0.000,001秒 ns是纳秒=0.000,000,001秒

现在开始正文,简单总结下来就是想最快的让一个WS2812B-4 LED亮出颜色就需要1960ns(1bit) * 24(红绿蓝3种颜色各8bit) + 280us = 47040ns(47.04us) + 280us = 327.04us。

也就是可以让单个WS2812B-4 LED 在不考虑余辉的情况下1毫秒3次,1秒钟约3000次的变换不同颜色。

再之后呢,每扩展1个WS2812B-4 LED,就要多一个47.04us的颜色数据,那么要1秒60次刷新需要16.66ms = 16,666us – 280us = 16,386us /47.04us = 348个LED。

这个串联数量,让我们设计小的DIY RGB光源的时候可以游刃有余的完成所要的设计。这也就是WS2812受到推崇的原因了。

但是这么快的速度让我们很难看到它是怎么工作了,用万用表什么的是绝对没可能看到实际情况,因为太快,电压看来都是0。那么怎么才能看到LED怎么被电路驱动的呢,只能用示波器了。

专业人士的示波器都是很贵的,几万几十万上百万的不在少数,而这价格让我们DIY玩家很难承受,毕竟银子难赚嘛,二三四手的也不省钱还有可能翻车。

这里就要让本文的主角LOTO示波器出场了。有了它可以让我们只要花几百块就可以在电脑上了解到专业示波器的分析结果,当然了一分钱一分货,带宽和采样和价格是同比的,不过一般的DIY也用不到那么专业的嘛,所以,LOTO让你可以不用花很多钱就可以在日常场景中方便的了解学习电路原理,真的是物超所值的哦。

如图~,这个洞洞板用一下1块的STC8G单片机,用一个IO端口驱动了2个WS2812B-4,让第一个发出了绿色,第二个发出了红色,并且是呼吸闪烁的效果,不过图片嘛,就看不出来了。

因为是5V的高电平电路,需要用10X挡的探头,先来用1ms时域看,只有小小的一个尖刺,1ms里看9600bps的通讯那叫清楚,现在看us级的只能看成这样的尖刺,只能说,真快啊。

再来换成0.1ms挡位,已经能看到连续的波纹了,不过还是太密集了,可以见到蓝色的A通道是黄色B通道长一倍,这就是LED1收到2组24bit后转发给LED2的1组24bit的波纹啦。

0.1ms还太“慢”了,让我们来到10us,也就是0.000,010秒。也因为太快了,这里用了触发,可以拦截到有高电平,要不闪动太快想找到波形可不容易。可以看到明显的波形情况了,但是还是不清楚,那我们继续。

1us档,现在就可以清楚的看到波形了。怎么样,0.000,001秒的电压变化清楚的展现给你的感觉?

也许你会奇怪为什么不是平的波形的呢?是不是示波器有问题?我们先来试试示波器,看看是不是示波器的问题,示波器多都有一个标准方波生成功能,来方便我们调校示波器。

看下图,这是个1000hz的标准方波,嗯~很平,证明示波器没问题。那就是STC8G的输出就是上图中所显示的波形了~

我们继续,加上标签,可以看到第一个高电平是0.323us,这就是我们单片机里发的高电平的8位二进制颜色的第一位颜色的波形表现,00011101就是我们第一个灯的绿色数值。

我们把波形缩小一点看下全部的波形。前8个第一组波形就是绿色G,第二组就是红色R,第三组就是蓝色B。

然后我们来看看第一个WS2812转发给第2个的波形,可以看到只过了150ns,第二个WS2812就收到了转发的波形信号了!真的很快了。

以上就是我们使用LOTO虚拟示波器对WS2812B-4的波形分析啦。如果没有示波器,只能在单片机里盲目的调节频率来适配WS2812的数据。而有了LOTO示波器就方便多了,不知道你有没有感觉到示波器的方便呢。

绚丽的色彩从何而来_LOTO示波器实测WS2812B系LED光源的更多相关文章

  1. Android图片色彩变幻

    最近在做图片相关的应用,所以就各方积累到一些常用的操作,一般来说会有多种方式来实现这一功能,比如 采用色度变换 采用ColorMatrix颜色矩阵 采用对像素点的直接操作 等等,今天就复习一下第一种方 ...

  2. 2000条你应知的WPF小姿势 基础篇<1-7>

    在正文开始之前需要介绍一个人:Sean Sexton. 来自明尼苏达双城的软件工程师,对C#和WPF有着极深的热情.最为出色的是他维护了两个博客:2,000Things You Should Know ...

  3. [转]显卡帝揭秘3D游戏画质特效

    显卡帝揭秘3D游戏画质特效 近几年来,大量采用最新技术制作的大型3D游戏让大部分玩家都享受到了前所未有的游戏画质体验,同时在显卡硬件方面的技术革新也日新月异.对于经常玩游戏的玩家来说,可能对游戏画质提 ...

  4. #知识#室内设计原理ing

    室内设计原理 第一章 室内设计的含义和基本观点 人的一生,绝大部分时间是在室内度过的,因此,人们设计创造的室内环境,必然会直接关系到室内生活.生产活动的质量,关系到人们的安全.健康.效率.舒适等等.室 ...

  5. Chinese culture

      文房四宝 笔墨纸砚是中国古代文人书房中必备的宝贝,被称为“文房四宝”.用笔墨书写绘画在 中国可追溯到五千年前.秦(前221---前206)时已用不同硬度的毛和竹管制笔:汉代(前206—公元220) ...

  6. Penetration Testing、Security Testing、Automation Testing

    相关学习资料 http://www.cnblogs.com/LittleHann/p/3823513.html http://www.cnblogs.com/LittleHann/p/3828927. ...

  7. CG基础教程-陈惟老师十二讲笔记

    转自 麽洋TinyOcean:http://www.douban.com/people/Tinyocean/notes?start=50&type=note 因为看了陈惟十二讲视频没有课件,边 ...

  8. OpenGL基础图形编程

    一.OpenGL与3D图形世界1.1.OpenGL使人们进入三维图形世界 我们生活在一个充满三维物体的三维世界中,为了使计算机能精确地再现这些物体,我们必须能在三维空间描绘这些物体.我们又生活在一个充 ...

  9. TesCase-GUI(图形用户界面)测试

    GUI测试是功能测试的一种表现形式.不仅要考虑GUI本身的测试,也要考虑GUI所表现的系统功能的测试.   GUI应具有的要素 1.符合标准和规范 2.直观性 (1)用户界面是否洁净.不唐突.不拥挤? ...

随机推荐

  1. PHP中环境变量的操作

    在 PHP 中,我们可以通过 phpinfo() 查看到当前系统中的环境变量信息(Environment).在代码中,我们也可以通过两个函数,查看和修改相应的环境变量信息. getenv() 获取环境 ...

  2. Jmeter目录分析

    通讯协议 最重要的基础知识. 性能测试的原理?通过协议模拟压力 jmeter目录结果解析 bin docs,文档 lib,存放库文件,所依赖的jar包 ext jmeter自己的jar包 jmeter ...

  3. base64原理,使用场景

    Base64编码,是我们程序开发中经常使用到的编码方法.它是一种基于用64个可打印字符来表示二进制数据的表示方法.它通常用作存储.传输一些二进制数据编码方法!也是MIME(多用途互联网邮件扩展,主要用 ...

  4. 三分钟图解 MVCC,看一遍就懂

    前文我们介绍了 InnoDB 存储引擎在事务隔离级别 READ COMMITTED 和 REPEATABLE READ(默认)下会开启一致性非锁定读,简单回顾下:所谓一致性非锁定读就是每行记录可能存在 ...

  5. 鸿蒙内核源码分析(进程回收篇) | 老父亲如何向老祖宗临终托孤 ? | 百篇博客分析OpenHarmony源码 | v47.01

    百篇博客系列篇.本篇为: v47.xx 鸿蒙内核源码分析(进程回收篇) | 临终前如何向老祖宗托孤 | 51.c.h .o 进程管理相关篇为: v02.xx 鸿蒙内核源码分析(进程管理篇) | 谁在管 ...

  6. mysql创建用户及赋予某用户权限(附带基础查看表内容)

    首先登陆mysql 一:show databases;  展示所有数据库(root用户下) 二:use xxx (数据库名)使用use选择数据库 三:show xxx   查看数据库中的表 四:des ...

  7. 题解 P6454 麻将 加强版

    题目传送门 题目大意 不想写了,直接看题面吧. 思路 被这个题搞自闭了,因为读错题目想一个非常恶心的东西想了一场考试,然后就删代码,然后就被骂了.哎. 需要注意的是:我们只能选一次雀头 于是,不难看出 ...

  8. Hadoop面试题总结(三)——MapReduce

    1.谈谈Hadoop序列化和反序列化及自定义bean对象实现序列化? 1)序列化和反序列化 (1)序列化就是把内存中的对象,转换成字节序列(或其他数据传输协议)以便于存储(持久化)和网络传输. (2) ...

  9. Oracle12C安装教程

    准备工作 网盘链接: https://pan.baidu.com/s/1gffHbOjImk1SfezdWO2Bpw 提取码: imft Oracle12C的安装 1.分别解压"winx64 ...

  10. HashMap、ConcurrentHashMap红黑树实现分析

    本文学习知识点 1.二叉查找树,以及二叉树查找带来的问题. 2.平衡二叉树及好处. 3.红黑树的定义及构造. 4.ConcurrentHashMap中红黑树的构造. 在正式分析红黑树之前,有必要了解红 ...