用micropython玩newbit(二)
用micropython玩newbit(二)
shaoziyang 发表于1年前
用micropython玩newbit(二)
  • 发表于 1年前
  • 阅读 16
  • 收藏 0
  • 点赞 0
  • 评论 0

移动开发云端新模式探索实践 >>>   

前面介绍了使用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()

 

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 11
博文 75
码字总数 25881
×
shaoziyang
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: