不管你对 “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示波器就便利多了,不知道你有没有觉得到示波器的便利呢。