看了邵老师介绍的用ws2812制作的炫彩灯球,我买了一个8*8的ws2812b板子。准备试着点亮它。
电源和信号源都试着用pyboard板子直接供给ws2812b板子,看能不能点亮它。板子的电源是3.3v;用A0做输出,供给信号;用PWM调节脉冲宽度,1码的高电平时68%,0码的高电平是32%;1个字的宽度是1.25us正负600ns,计算得到频率是800KHz。
担心的是电源的电压和功率不够,先试试再说吧。
试着点亮ws2812b
- shaoziyang
- 帖子: 3956
- 注册时间: 2019年 10月 21日 13:48
Re: 试着点亮ws2812b
3.3V可以工作,但是pyboard上LDO功率较小,如果亮度大就会带不动(通常一颗WS2812每路最大15mA)。
建议用5V直接供电,WS2812的电源是宽范围的,最高不超过5.3V就行。
建议用5V直接供电,WS2812的电源是宽范围的,最高不超过5.3V就行。
- shaoziyang
- 帖子: 3956
- 注册时间: 2019年 10月 21日 13:48
Re: 试着点亮ws2812b
有更简单的用法,参考一下官方这个说明,虽然是ESP32的,对于其它mcu也是一样用法:
https://docs.micropython.org/en/latest/ ... 106-driver
https://docs.micropython.org/en/latest/ ... 106-driver
代码: 全选
from machine import Pin
from neopixel import NeoPixel
pin = Pin(0, Pin.OUT) # set GPIO0 to output to drive NeoPixels
np = NeoPixel(pin, 8) # create NeoPixel driver on GPIO0 for 8 pixels
np[0] = (255, 255, 255) # set the first pixel to white
np.write() # write data to all pixels
r, g, b = np[0] # get first pixel colour
Re: 试着点亮ws2812b
请教一个问题:我给ws2812b的8*8板子供电、供信号后,板子上的灯不亮。当我拔掉信号线的瞬间,灯全亮了。
为什么是在断掉信号时灯会亮?
为什么是在断掉信号时灯会亮?
- shaoziyang
- 帖子: 3956
- 注册时间: 2019年 10月 21日 13:48
Re: 试着点亮ws2812b
上电或插播信号线时,如果输入端没有做合适处理,可能因为干扰信号等原因,使得2812点亮。
在新版本的micropython中,已经内置了neopixel模块。如果import neopixel出错,多半是固件版本太低造成的。
在新版本的micropython中,已经内置了neopixel模块。如果import neopixel出错,多半是固件版本太低造成的。
-
- 随机主题
- 回复总数
- 阅读次数
- 最新文章
-
- 1回复总数
- 3451 阅读次数
- 最新文章 由 shaoziyang
2020年 2月 19日 08:53
-
- 1回复总数
- 3481 阅读次数
- 最新文章 由 shaoziyang
2020年 2月 19日 08:57
-
- 1回复总数
- 3303 阅读次数
- 最新文章 由 shaoziyang
2020年 2月 19日 08:59