千家信息网

MicroPython neopixle怎么用

发表于:2024-10-01 作者:千家信息网编辑
千家信息网最后更新 2024年10月01日,本文小编为大家详细介绍"MicroPython neopixle怎么用",内容详细,步骤清晰,细节处理妥当,希望这篇"MicroPython neopixle怎么用"文章能帮助大家解决疑惑,下面跟着小
千家信息网最后更新 2024年10月01日MicroPython neopixle怎么用

本文小编为大家详细介绍"MicroPython neopixle怎么用",内容详细,步骤清晰,细节处理妥当,希望这篇"MicroPython neopixle怎么用"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

microbit/newbit的MicroPython固件中,内置了neopixel彩灯的控制,我们可以使用任意一个GPIO去控制neopixel,支持任意数量的彩灯。

import neopixelnp = neopixel.NeoPixel(pin1, 8)np[0] = (0, 0, 200)np[1] = (0, 50, 100)np[2] = (200, 0, 0)np.show()

函数 neopixel.NeoPixel(PIN, NUM) 用来创建 neopixel 对象,它有两个参数,第一个是GPIO,第二个是彩灯的数量。

neopixel 对象是一个元组列表,每个列表项都是由 RGB 三种颜色组成的元组。RGB参数的范围是 0-255,三种颜色组合起来就有 256 x 256 x 256 = 1.67M种颜色。

颜色参数写入列表后并不能改变彩灯,还需要调用函数 show(),才会更新。如果要清除彩灯,可以调用函数 clear().

官方的例子,随机显示彩灯。

"""    neopixel_random.py    Repeatedly displays random colours onto the LED strip.    This example requires a strip of 8 Neopixels (WS2812) connected to pin0."""from microbit import *import neopixelfrom random import randint# Setup the Neopixel strip on pin0 with a length of 8 pixelsnp = neopixel.NeoPixel(pin0, 8)while True:    #Iterate over each LED in the strip    for pixel_id in range(0, len(np)):        red = randint(0, 60)        green = randint(0, 60)        blue = randint(0, 60)        # Assign the current LED a random red, green and blue value between 0 and 60        np[pixel_id] = (red, green, blue)        # Display the current pixel data on the Neopixel strip        np.show()        sleep(100)

图形化编程

对应的mpy代码:

import neopixelimport randomfrom microbit import *np = neopixel.NeoPixel(pin0, 8)while True:  np[(random.randint(0, 7))] = ((random.randint(1, 50)), (random.randint(1, 50)), (random.randint(1, 50)))  np.show()  sleep(100)

如果直接用 microbit/newbit的3.3V供电,注意不要控制太多LED,因为LDO的输出功率有限,很容易造成过热保护。超过8个LED最好就用外部电源。

读到这里,这篇"MicroPython neopixle怎么用"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。

0