文档章节

用MicroPython玩Newbit(六)-- neopixle

shaoziyang
 shaoziyang
发布于 2017/05/12 21:37
字数 407
阅读 1.8K
收藏 0

码上生花,ECharts 作品展示赛正式启动!>>>

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

import neopixel

np = 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 neopixel
from random import randint

# Setup the Neopixel strip on pin0 with a length of 8 pixels
np = 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 neopixel
import random
from 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最好就用外部电源。

© 著作权归作者所有

shaoziyang
粉丝 16
博文 78
码字总数 28248
作品 0
武汉
程序员
私信 提问
加载中
请先登录后再评论。
TPYBoard开发板带你轻松玩转MicroPython

说到MicroPython,也许有人会感到陌生。而说到和它密切相关的Python,是否会恍然大悟呢?Python属于解释型语言,1989年才开发完成的Python显然非常年轻。然而经过数十年的磨砺,如今Python已...

bodasisiter
2019/03/28
502
0
MicroPython是未来?当Python遇上单片机!

  Python已经逐渐成为热门编程语言的“座上宾”,同时它也是一款比较容易上手的脚本语言,而且有强大的社区支持,一些非计算机专业领域的人都选它作为入门语言。因此也就出现了将Python应用...

bodasisiter
2017/05/13
89
0
玩转MicroPython开发板!你和Ta会有什么火花?

  说到MicroPython,也许有人会感到陌生。而说到和它密切相关的Python,是否会恍然大悟呢?Python属于解释型语言,1989年才开发完成的Python显然非常年轻。然而经过数十年的磨砺,如今Pyt...

bodasisiter
2017/06/03
1
0
MicroPython入门|开发板种类那么多,哪块才适合你玩?

  相信对于很多刚刚接触MicroPython的DIY创客来说,首先是被一些大神的作品吸引,然后有冲动自己动手,却发现入门很难,特别是面对各式各样的开发板不知如何选择。目前市面上关于MicroPyth...

bodasisiter
2017/06/20
5
0
零基础如何优雅入门“网红”Python?小白必看的MicroPython视频合集:从入门到精通!

零基础如何优雅入门“网红”Python?小白必看的MicroPython视频合集:从入门到精通! 若问时下最火的一门编程语言是什么?答案一定是Python。 就连高考都开始考Python啦! 这把火已经烧到了程...

bodasisiter
2018/09/10
1.2K
0

没有更多内容

加载失败,请刷新页面

加载更多

idea 启动命令行的时候提示不能创建PTY

问题描述: 昨天上午,凯哥还在好好的使用idea,中午的时候,360扫描,好像要升级还是要干嘛的,没细看,然后凯哥就点击确定。结果到下午使用idea的Terminal 命令行的时候提示,如下图错误: ...

中凯_凯哥java
10分钟前
9
0
常用计数技巧和方法(理论篇)

常用计数技巧和方法(理论篇) 文章较长且大量使用 \(\LaTeX\) 导致渲染较慢,因此分为两个部分 由于组合方面的知识非常的繁细,容易忘记,使用时不够熟练,这里总结一下 以下内容有所借鉴百...

osc_tq5hz9vv
11分钟前
9
0
WinForm 工作流设计 1

从事软件行业那么多年,一直很少写博。很多技术,长时间不用都慢慢淡忘。 把自己学到的用笔记下来,可以巩固和发现不足,也可以把自己对技术的一些 理解,分享出来供大家批评指正。 废话不多...

osc_4p2c0ecc
13分钟前
15
0
vnc中文版客户端,vnc中文版客户端下载,使用教程。

vnc客户端简介 iis7远程桌面管理软件,是一款绿色小巧,功能实用的vnc客户端软件,其界面简洁,操作方便,可以同时远程查看多台主机,并且支持多台服务器间的来回切换,支持分屏,群控操作。...

知殴粥
13分钟前
7
0
K-Means聚类算法原理

    K-Means算法是无监督的聚类算法,它实现起来比较简单,聚类效果也不错,因此应用很广泛。K-Means算法有大量的变体,本文就从最传统的K-Means算法讲起,在其基础上讲述K-Means的优化变...

osc_u20gxst6
14分钟前
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部