文档章节

用micropython玩newbit(二)

shaoziyang
 shaoziyang
发布于 2017/04/01 23:44
字数 654
阅读 164
收藏 0

精选30+云产品,助力企业轻松上云!>>>

前面介绍了使用micropython的准备工作,后面的操作都需要在 REPL 下进行。

newbit上有一个 5x5 的LED阵列,可以显示小图形、文字,显示效果还不错。

在micropython中,已经为LED设计了专用的库,可以很方便的进行显示,大部分时候只要一个命令就完成了显示功能。例如,下面代码显示了滚动的文字 Hello ,World!:

from microbit import *
display.scroll("Hello, World!")


这是以默认速度显示,如果想加快或变慢速度,可以加上参数delay,如:

display.scroll("Hello, World!", delay=50)


默认的delay是150,设置成50后滚动速度会变快。

如果希望循环显示,可以加上loop参数,这时只能通过ctrl-C才能返回REPL。
 

display.scroll("Hello, World!", loop=True)


默认显示的字符是非等宽的,在有些时候会不方便。这时可以使用等宽字体:
 

display.scroll("Hello, World!", monospace=True)


默认情况下,display.scroll函数在完成显示后才会返回,相当于工作在阻塞模式。也可以改为非阻塞模式,这样输入命令后,显示可以在后台进行,而REPL可以继续输入其它命令。阻塞和非阻塞通过参数wait指定。
 

display.scroll("Hello, World!", wait=False)
  • display.scroll函数是不支持中文和特殊字符
  • 注意在microbit的micropython中,没有pyb、machine等常用模块,而是使用microbit库。

display.scroll只能显示文字,如果需要显示图形,就要改用另外一个函数display.show,它可以显示文字、图形,但是不能以滚动方式显示,只能一次显示一个图标或者字符。如:
 

display.show("Hello, World!")
display.show(Image.HEART)


microbit库中内置了数十个图标,可以显示常用的表情、时钟、箭头等,大家可以通过dir或者tab键查看内置的图标。

display.show函数也支持delay、loop、wait等参数,和display.scroll函数差不多。但是display.show还有一个特殊功能,支持一次显示一组图标,如:
 

display.show((Image.YES, Image.NO, Image.MEH))


除了内置的图形,我们还可以定义自己的图形,如:
 

ico=Image('11111:12345:13579:50000:90000')
display.show(ico)


每个图形需要定义5个参数,每个参数用冒号隔开,代表1行LED,数字代表LED的亮度。

我们还可以直接操作每个LED,如:
 

display.set_pixel(1, 1, 2)


前两个参数是X/Y坐标,第3个参数是亮度(0-9,数字越大越亮)。同样可以用display.get_pixel函数读取LED的亮度。

其它常用函数:

  • 清屏,display.clear()
  • 关显示(不清屏),display.off()
  • 开显示,display.on()

 

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

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

bodasisiter
2019/03/28
512
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
TPYBoard开发板带你轻松玩转MicroPython

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

小小su
2019/03/28
0
0
Python玩转单片机:从基础到进阶,几款主流的开发板大盘点!

Python俨然已成为当下最热门的编程语言(可以说没有之一)。Python火到什么程度?它将被加入小学生教材,纳入高考,估计在不远的将来可能会成为一项常用的技能。 学习python能做什么? 可以快...

bodasisiter
2018/09/05
8.8K
0

没有更多内容

加载失败,请刷新页面

加载更多

使当前提交成为Git存储库中唯一的(初始)提交? - Make the current commit the only (initial) commit in a Git repository?

问题: I currently have a local Git repository, which I push to a Github repository. 我目前有一个本地Git存储库,我将其推送到Github存储库。 The local repository has ~10 commits, ......

javail
33分钟前
14
0
IntelliJ IDEA 默认快捷键大全

Remember these Shortcuts 常用 功能 快捷键 备注 ● Smart code completion Ctrl + Shift + Space - ● Search everywhere Double Shift - ● Show intention actions and quick-fixes Alt......

巨輪
今天
18
0
Hacker News 简讯 2020-07-14

更新时间: 2020-07-14 02:01 Chipmaker Analog Devices to Acquire Maxim Integrated for $21B - (reuters.com) 芯片制造商模拟设备公司将以210亿美元收购Maxim Integrated 得分:92 | 评论:......

FalconChen
今天
129
0
绕过移动端系统限制的 dlopen 库 byOpen

byOpen是一个绕过移动端系统限制的增强版dlfunctions库。 支持特性 Android 支持App中加载和使用Android系统库接口(即使maps中还没有被加载也支持)。 Android 7以上dlopen, System.load都是...

shzwork
昨天
31
0
Golang学习系列第二天:变量、常量、数据类型和流程语句

继golang第一天后,今天学习下golang的变量、常量、数据类型和控制流语句。 做过其他编程语言(比如JavaScript,java,python)项目的话,其实很好理解变量、常量、数据类型和控制流。 变量也...

董广明
昨天
48
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部