-
Notifications
You must be signed in to change notification settings - Fork 31
how_to_scroll_text
这玩意相当于最初的 Hello World 有了质的变化!
准备所需工具,可到此处下载。
- bpibit 板子 最新固件 firmware.bin
- Windows-Mpfshell.exe
用 MicroPython 是超级简单的。
from microbit import *
display.scroll("Hello, World!")
-
是不是超级简单,就那么几行代码,就可以轻轻松松搞定
-
每一行其实也有着特殊的语义。
这句话是告诉MicroPython 获取所需要的组件或者模块,如果你之前接触过c语言,可以按照库来理解,所有模块是已经存在的代码库,这些库是从microbit中导入的。 第二行的
- 这个也不难理解,就是告诉 MicroPython 使用 display 命令去滚动 string 的 “helloworld” 字符号,这个 display 是在 microbit 中的一个模块,代表设备物理上的显示,显示的内容在引号之中。
- 现在直接 copy 这些代码到你的编辑器并且烧录到你的设备中,你可以改变字符信息么?试一试吧!
- 相比于microbit,bpibit的led面板采用的是可编程的RGB灯(ws2812b) 点击查看WS2812B更详细的信息
这种RGB灯通过编程理论上可以显示255 *255 *255种颜色,也就是1600万种颜色,是不是有点难以置信呢,那就让我们来开始我们的色彩show吧。
- 想要改变字体的颜色是很简单的,在我们的固件中预置了8种颜色
black = [0, 0, 0]
Red = [2, 0, 0]
Orange = [2, 1, 0]
Yellow = [2, 2, 0]
Green = [0, 2, 0]
Blue = [0, 0, 2]
Indigo = [0, 2, 2]
Purple = [2, 0, 2]
分别是黑(灯熄灭)、红、橙、黄、绿、蓝、靛、紫。有了这几种基本的颜色就可以来修改我们的字体颜色了。
from display import*
display=Display()
display.scroll("Hello, World!",Yellow)
- 板子默认显示的颜色是红色,只要在字符串(也就是上面的"Hello, World!")后面添加其他颜色,就可以修改显示的字符的颜色。从上面那个图可以看到我们字符的颜色已经变为黄色了。
- 到这里可能有的同学会发出疑问了 ? 那怎么让显示的每个字符的颜色都不一样呢,让我们来看一下下面的操作
from display import*
display=Display()
color=[Red,Orange,Yellow,Green,Blue,Indigo,Purple]
display.scroll("ROYGBIP",color)
- 我们新建了一个列表color,里面按顺序存放着每个字符所需要的颜色,然后在scroll函数的后面把color添加进去就ok了,这样每个字符的颜色就不一样。
-
到这里聪明的同学又要发问了,不是说好有1600多万种颜色吗,怎么就这几种呢,嗯不急,容我慢慢道来。
-
说了那么久的RGB,那什么是RGB呢?RGB色彩就是常说的三原色,R代表Red(红色),G代表Green(绿色),B代表Blue(蓝色)。自然界中肉眼所能看到的任何色彩都可以由这三种色彩混合叠加而成。在电脑中,RGB的所谓“多少”就是指亮度,并使用整数来表示。通常情况下,RGB各有256级亮度,用数字表示为从0、1、2...直到255。注意虽然数字最高是255,但0也是数值之一,因此共256级。按照计算,256级的RGB色彩总共能组合出约1678万种色彩,即256×256×256=16777216。通常也被简称为1600万色或千万色。也称为24位色(2的24次方)。在led领域利用三合一点阵全彩技术, 即在一个发光单元里由RGB三色晶片组成全彩像素。随着这一技术的不断成熟,led显示技术会给人们带来更加丰富真实的色彩感受。
-
回到正题,我们要怎么控制我们的板子显示我们想要的颜色呢,前面我们用列表的方式来保存颜色的信息
Red = [2, 0, 0]
这里我们同样也可以按照这样的方式来定义我们的颜色。
-
那么Red为什么是[2 , 0 , 0]呢,实际上列表中的三个数分别对应的就是我们R(红色)G(绿色)B(蓝色)的亮度,在前面有提到了每种颜色有256个级别的亮度,显而易见[2 , 0 , 0]表示的就是红色的亮度是2,绿色的亮度是0,蓝色的亮度是0。由此就可以推出其他颜色列表的含义。
-
下面我们来定义一个mycolor=[1 , 2 , 3]看看显示的效果
from display import*
display=Display()
mycolor=[3,3,3]
display.scroll("hello",mycolor)
- 是不是很有趣,相信此时你会有很多有趣的想法,那就赶紧来尝试一下吧
-
每个颜色的亮度都有0-255总共256个数值可以选择,所以最小就是[0 , 0 , 0],最大就是[255 ,255 , 255]
-
亮度一般不要调得太大,亮度太亮容易晃眼睛
- 首先请尝试获取 MicroPython 的帮助信息,遭遇到错误,它会显示有用的信息的,它会告诉你哪一行那些代码有误。
- 注意: python 是区分大小写的,所以
Microbit
,microbit
和microBit
是不同的。如果micropython 报名字错误,那么可能输入了不合法的名字。另外,如果Micropython 包含一个SyntaxError
。那么即是你的代码不能被 micropython 理解,所以你可能少了一些符号,比如 ”““ 或者 ”;“ ,你需要自己找出并修改它,所以解决错误最好的方式是理解这些代码! - 接下来重点,如果你的 microbit 停止响应,或者不能烧录新代码,或者不能在 repl 中输入命令,不要问为什么,你尝试重新插拔下 usb 线,有时候会有y意想不到的效果!