绚丽的色彩从何而来_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. symfony2中mysql和mongodb的增删改查总结

    https://www.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/data-retrieval-and-manip ...

  2. PHPMailer实现发送邮件的方法介绍

    来自: https://www.php.cn/php-weizijiaocheng-408762.html PHPmailer请在github下载,或者直接百度,也不难,虽然PHPmailer里面一大 ...

  3. P4770-[NOI2018]你的名字【SAM,线段树合并】

    正题 题目链接:https://www.luogu.com.cn/problem/P4770 题目大意 给出一个长度为\(n\)的字符串\(S\).\(q\)次询问给出一个串\(T\)和一个区间\([ ...

  4. 11.5.2 LVS-NAT 实验

    NAT拓扑 lvs-server VIP:10.211.55.99DIP:10.37.129.99 负载均衡器 开启路由功能(VIP桥接,DIP仅主机) rs01 RIP:10.37.129.3 后端 ...

  5. 10.2 PHP

    WEB资源类型 静态资源:原始形式与响应内容一致,在客户端浏览器执行 动态资源:原始形式通常为程序文件,需要在服务器端执行之后,将执行结果返回给客户端 WEB相关语言 客户端技术:html JavaS ...

  6. 极简SpringBoot指南-Chapter05-SpringBoot中的AOP面向切面编程简介

    仓库地址 w4ngzhen/springboot-simple-guide: This is a project that guides SpringBoot users to get started ...

  7. oracle基础安全配置

    1.oracle中用户密码复杂度配置 1)查看参数 select limit from dba_profiles where resource_name='PASSWORD_VERIFY_FUNCTI ...

  8. 从零入门 Serverless | 企业级 CI/CD 工具部署 Serverless 应用的落地实践

    背景知识 通过以往几节课程的学习,相信大家对于 SAE 平台已经有了一定的了解.SAE 为客户免除了很多复杂的运维工作,开箱即用.按用量付费:与此同时 SAE 提供了丰富的 Open API,可以很容 ...

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

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

  10. 攻防世界XCTF-WEB入门全通关

    为了更好的体验,请见我的---->个人博客 XCTF的web块入门区非常简单,适合一些刚接触安全或者对网络安全常识比较了解的同学在安全搞累之余娱乐娱乐. 其主要考察下面几点: 基本的PHP.Py ...