基于microbit的MicroPython编程--HELLO WORLD
hello world
在microbit上,有5*5的LED矩阵,可以用来显示数字、字母和图形
我们可以通过以下程序来滚动显示“Hello World!”
LC1-1
from microbit import *
while True:
display.scroll("Hello, World!")
python知识
无限循环:
while True
显示图像
在5*5点阵上,我们可以显示图像,内部预置了不同的图像可以显示。我们可以通过下面的程序,显示不同的图像
Image.HEART
Image.HEART_SMALL
Image.HAPPY
Image.SMILE
Image.SAD
Image.CONFUSED
Image.ANGRY
Image.ASLEEP
Image.SURPRISED
Image.SILLY
Image.FABULOUS
Image.MEH
Image.YES
Image.NO
Image.CLOCK12
,Image.CLOCK11
,Image.CLOCK10
,Image.CLOCK9
,Image.CLOCK8
,Image.CLOCK7
,Image.CLOCK6
,Image.CLOCK5
,Image.CLOCK4
,Image.CLOCK3
,Image.CLOCK2
,Image.CLOCK1
Image.ARROW_N
,Image.ARROW_NE
,Image.ARROW_E
,Image.ARROW_SE
,Image.ARROW_S
,Image.ARROW_SW
,Image.ARROW_W
,Image.ARROW_NW
Image.TRIANGLE
Image.TRIANGLE_LEFT
Image.CHESSBOARD
Image.DIAMOND
Image.DIAMOND_SMALL
Image.SQUARE
Image.SQUARE_SMALL
Image.RABBIT
Image.COW
Image.MUSIC_CROTCHET
Image.MUSIC_QUAVER
Image.MUSIC_QUAVERS
Image.PITCHFORK
Image.XMAS
Image.PACMAN
Image.TARGET
Image.TSHIRT
Image.ROLLERSKATE
Image.DUCK
Image.HOUSE
Image.TORTOISE
Image.BUTTERFLY
Image.STICKFIGURE
Image.GHOST
Image.SWORD
Image.GIRAFFE
Image.SKULL
Image.UMBRELLA
Image.SNAKE
程序一:显示内置图形
显示内置图形
LC1-2
from microbit import *
import random
images = [Image.HAPPY,Image.SILLY,Image.GHOST,Image.SKULL,Image.DUCK,Image.UMBRELLA,Image.GIRAFFE,Image.RABBIT,Image.HEART,Image.STICKFIGURE]
while True:
for image in images:
display.show(image)
sleep(1000)
程序二:显示自定义图形
LC1-3
from microbit import display,Image
my_pictrue=Image(
'33333:'
'36663:'
'36963:'
'36663:'
'33333:')
display.show(my_pictrue)
使用Image构建图像时:
1、0代表灭,9代表亮。1~8代表不同的亮度等级
2、 每一行使用冒号作为结束符
3、 使用display.show函数进行显示
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ICJwNgqT-1609402106641)(image/image-20201231104455637.png)]
python知识
- 数组
- for循环
Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
语法:
for循环的语法格式如下:
for iterating_var in sequence:
statements(s)
- 延时函数sleep
引脚输出
在嵌入式系统里面,我们经常通过闪烁一个LED灯,作为使用某个嵌入式系统的第一步。
在MicroPython中,我们可以使用下面函数,来实现输出在某个引脚上输出高低电平
例:闪烁引脚0上的LED灯
接线
将LED灯模块,使用双线连接线,连接至P0口
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aOtxcqzz-1609402106644)(image/image-20201231094301382.png)]
程序
LC1-4
from microbit import *
while True:
pin0.write_digital(1)
sleep(1000)
pin0.write_digital(0)
sleep(1000)
运行
下载程序后,我们可以看到接在PIN0上的LED灯,按照每秒一次进行闪烁。
引脚说明
参考网站:
https://tech.microbit.org/hardware/edgeconnector/#edge-connector-pins
本文采用的是V1.5版本的板件。
其中:
- P19/P20用于IIC,不能用于IO
- P3/P4/P6/P7/P9/P10用于LED矩阵显示,不能用于IO
- P5/P11用于按键,不能用于IO
- PIN0、PIN1、PIN2、PIN8、PIN12、PIN13、PIN14、PIN15、PIN16可用pinx的方式进行输出
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tdk8Pw16-1609402106645)(image/image-20201231092723451.png)]
下面表格说明了MicroBit板件上的引脚功能,黑色的为主要功能
错误信息
在使用GPIO的时候,会出现以下告警信息,这种情况是因为我们使用的IO口已经被系统占用了,导致无法分配为GPIO
ValueError: Pin 9 in display mode
ValueError: Pin 11 in button mode
ValueError: Pin 19 in i2c mode
当我们使用microbit的IO口的时候,需要避免用已经被系统使用的引脚。
- P19/P20用于IIC,不能用于IO
- P3/P4/P6/P7/P9/P10用于LED矩阵显示,不能用于IO
- P5/P11用于按键,不能用于IO
- PIN0、PIN1、PIN2、PIN8、PIN12、PIN13、PIN14、PIN15、PIN16可用pinx的方式进行输出