microbit之mpython的API
一、显示
display.scroll("Hello, World!")
在micro:bit点阵上滚动显示Hello, World!,其中Hello, World!可以替换成任意字符。
display.show(Image.HAPPY)
在micro:bit点阵上显示笑脸的图形,MicroPython还有很多内置的图片可以显示在显示屏上,例如下面就是一个内置图像的列表:
• 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
Image.ALL_CLOCKS
Image.ALL_ARROWS
display.get_pixel(x, y)
得到像素的亮度(x,y),亮度可以是0(熄灭)到9(像素处于最大亮度)。
display.set_pixel(x, y, val)
将像素(x,y)的亮度设置为val(在0到9之间)
display.clear()
清除显示
display.show(image, delay=0, wait=True, loop=False, clear=False)
显示图像
display.show(iterable, delay=400, wait=True, loop=False, clear=False)
在可迭代的情况下显示每个图像或字母,每一个都有延迟,延迟为400毫秒。
display.scroll(string, delay=400)
在显示屏上滚动一个字符串,每一个都有延迟,延迟为400毫秒。
image = Image()
创建一个5*5像素的空图像
image = Image('90009:09090:00900:09090:90009:')
自定义显示图像,在micro:bit点阵上的每个LED亮度都可以设置为0-9中的一个值。如果一个LED的亮度被设置为0,那么它就熄灭了。如果如果它的亮度被设置为9,那么它就处于最亮的水平,冒号“:”表示一条线的末端。
image = Image(width, height)
创建一个空图像并给出尺寸
image = Image(width, height, buffer)
用指定的宽度和高度初始化一个图像,缓冲是长度和宽度的数组
image.width()
返回图像的宽度(通常是5)
image.height()
返回图像的高度(通常是5)
image.set_pixel(x, y, value)
将像素设置为指定位置,像素值在0到9之间
image.get_pixel(x, y)
获取指定位置的像素,像素值在0到9之间
image.shift_left(n)
通过将图片向左移动n次,返回一个新图像
image.shift_right(n)
通过将图片向右移动n次,返回一个新图像
image.shift_up(n)
通过将图片向上移动n次,返回一个新图像
image.shift_down(n)
通过将图片向下移动n次,返回一个新图像
repr(image)
获得图像的字符串表示
str(image)
image + image
得到一个可读的字符串表示的图像
image * n
通过将图片放大n倍,返回一个新图像
二、加速度计
accelerometer.get_x()
测量X轴的重力值,以重力g为单位
accelerometer.get_y()
测量Y轴的重力值,以重力g为单位
accelerometer.get_z()
测量Z轴的重力值,以重力g为单位
accelerometer.get_values()
获取X、Y和Z轴的重力数值(按此顺序列出)
accelerometer.current_gesture()
获取当前的手势值给gesture,MicroPython能够识别下列手势:上、下、左、右、面朝下、面朝下,自由落体,3 g,6 g,8 g,摇。手势值的在程序中的表示依次是up, down, left, right, face up, face down,freefall, 3g, 6g, 8g, shake。
accelerometer.is_gesture(name)
返回真或假,以指示当前活动是否为指定的手势。
accelerometer.was_gesture(name)
返回真或假,以指示最后一次活动是否为指定的手势。
accelerometer.get_gestures()
返回手势历史的元组,最近的一次活动是最后一次。
三、电子罗盘(指南针)
compass.calibrate()
校准指南针
compass.heading()
返回一个数字,表示“北方”的程度偏移量。
compass.get_field_strength()
返回一个关于磁场强度的数值指示
compass.is_calibrated()
compass.clear_calibration()
四、按键
button_a.is_pressed()
表示按钮正被按下,返回真或假
button_a.was_pressed()
表示按钮是否被按下,返回真或假,再开始或最后调用这个函数。
button_a.get_presses()
这个函数返回之前A按下的次数。调用这个函数后,计数会清零,重新开始计数。
五、循环w
while True:
无限循环
六、逻辑
if ...: 如果...事件是正确的或者发生了
# do one thing 执行这条命令
elif ...: 否则如果...事件是正确的或者发生了
# do another thing 执行这条命令
else: 否则
# do yet another thing执行这条命令
七、输入输出
pin.write_digital(value)
向引脚写入数字值,可以是0,1,False,True
pin.read_digital()
读取引脚的数字值,返回0或1
pin.write_analog(value)
向引脚写入模拟值,可以是1-1023范围内的值
pin.read_analog()
读取引脚的模拟值,返回1-1023范围内的值
pin.set_analog_period(int)
以毫秒为单位设置PWM输出的周期
pin.set_analog_period_microseconds(int)
将引脚的PWM输出的周期设置为微秒
pin.is_touched()
如果引脚被触摸,返回一个布尔值
八、音乐
music.play(music.NYAN)
播放一个旋律
MicroPython有很多内置的旋律。这里有一个完整的列表:
• music.DADADADUM
• music.ENTERTAINER
• music.PRELUDE
• music.ODE
• music.NYAN
• music.RINGTONE
• music.FUNK
• music.BLUES
• music.BIRTHDAY
• music.WEDDING
• music.FUNERAL
• music.PUNCHLINE
• music.PYTHON
• music.BADDY
• music.CHASE
• music.BA_DING
• music.WAWAWAWAA
• music.JUMP_UP
• music.JUMP_DOWN
• music.POWER_UP
• music.POWER_DOWN
九、其他
import random
display.show(str(random.randint(1, 6)))
在1-6中生成一个随机数并显示
names = ["Mary", "Yolanda", "Damien", "Alia", "Kushal", "Mei Xiu", "Zoltan" ]
display.scroll(random.choice(names))
在列表names中随机显示一个名字
sleep(ms)
睡眠(延时)时间为给定的毫秒数。
running_time()
返回micro:bit最后一次启动的时间,返回值是微秒
panic(error_code)
使micro:bit进入恐慌模式(这通常发生在DAL运行内存不足时,在点阵是显示出一张悲伤的脸),这个错误代码可以是任意的整数值。
reset()
复位micro:bit
i2c.init(freq=100000, sda=pin20, scl=pin19)
初始化I2C频率为100000,SDA引脚连接micro:bit 的p20,SCL引脚连接micro:bit的p19.
注意:将I2C的引脚从默认值中更改,将使加速计和罗盘停止工作。
i2c.read(addr, n)
从带有7位地址addr的设备读取n个字节。
i2c.write(addr, buf)
从buf到带有7位地址addr的设备上写入字节。
十、特别注意事项:
关于程序编写语法与大小写要求:
1 - 大小写必须正确!
2 - 拼写必须严格正确!
3 - 关键词如 # 与内容之间需要有个空格
4 - 程序以一行空白程序结尾
5 - 程序块体(如 while 所包含的程序体是以缩进为标志的),相对于C语言,Python完全省去了大括号(连同后缀的分号),并使用缩进结构来表示所属关系。
microbit之mpython的API的更多相关文章
- 认识MicroBit
MicroBit是BBC(英国广播公司),为孩子们推出一款开发板,或者叫控制板,可以简单地理解为通过这块电子板,可以控制接在其外围的电子模板,可以读入数据,也可以输出数据,模拟的或数字的数据.这样一来 ...
- mPython编程环境:Mu
所谓编程环境,IDE ,就是这个软件里,用mPython写程序,新建文件,编辑 ,运行 ,调试 ,Mu还有一个重要功能烧录(flash),就是把我们的程序编译之后写到芯片中去. Mu下载,安装都很简单 ...
- 干货来袭-整套完整安全的API接口解决方案
在各种手机APP泛滥的现在,背后都有同样泛滥的API接口在支撑,其中鱼龙混杂,直接裸奔的WEB API大量存在,安全性令人堪优 在以前WEB API概念没有很普及的时候,都采用自已定义的接口和结构,对 ...
- 12306官方火车票Api接口
2017,现在已进入春运期间,真的是一票难求,深有体会.各种购票抢票软件应运而生,也有购买加速包提高抢票几率,可以理解为变相的黄牛.对于技术人员,虽然写一个抢票软件还是比较难的,但是还是简单看看123 ...
- 几个有趣的WEB设备API(二)
浏览器和设备之间还有很多有趣的接口, 1.屏幕朝向接口 浏览器有两种方法来监听屏幕朝向,看是横屏还是竖屏. (1)使用css媒体查询的方法 /* 竖屏 */ @media screen and (or ...
- html5 canvas常用api总结(三)--图像变换API
canvas的图像变换api,可以帮助我们更加方便的绘画出一些酷炫的效果,也可以用来制作动画.接下来将总结一下canvas的变换方法,文末有一个例子来更加深刻的了解和利用这几个api. 1.画布旋转a ...
- JavaScript 对数据处理的5个API
JavaScript对数据处理包括向上取整.向下取整.四舍五入.固定精度和固定长度5种方式,分别对应ceil,floor,round,toFixed,toPrecision等5个API,本文将对这5个 ...
- ES5对Array增强的9个API
为了更方便的对Array进行操作,ES5规范在Array的原型上新增了9个方法,分别是forEach.filter.map.reduce.reduceRight.some.every.indexOf ...
- javascript的api设计原则
前言 本篇博文来自一次公司内部的前端分享,从多个方面讨论了在设计接口时遵循的原则,总共包含了七个大块.系卤煮自己总结的一些经验和教训.本篇博文同时也参考了其他一些文章,相关地址会在后面贴出来.很难做到 ...
随机推荐
- Windows 10应答文件
将其保存为autounattend.xml文件,然后放入到ISO镜像根目录即可 <?xml version="1.0" encoding="utf-8"? ...
- Docker 容器命令大全
容器命令: 命令 描述 attach 将本地标准输入,输出和错误流转到到正在运行的容器 build 从Dockerfile构建映像 commit 根据容器的更改创建新镜像 cp 在容器和本地文件系统之 ...
- CSS3动画实践——简易牛顿摆
最近在练习CSS3的关键帧动画(keyframes),于是做了一个简单的牛顿摆(听名字可能陌生,但你一定见过它): 先上代码(老版本IE可能存在兼容性问题): <!DOCTYPE html> ...
- SAP MM MIGO过账报错 - 用本币计算的余额 - 之对策
SAP MM MIGO过账报错 - 用本币计算的余额 - 之对策 使用MIGO事务代码对采购订单4500000191,执行收货,系统报错: 详细错误信息如下: 用本币计算的余额 消息号 F5703 诊 ...
- K3 主控台创建
/*================================================== FFFFFF OOOO GGGG EEEEEE RRRR SSSS ###### FF OO ...
- BeyondCompare4破解方法
因为工作需要,经常会用到BeyondCompare4这个软件,但是从官方下载的BeyondCompare4只有一个月的试用期,点击输入密钥又一直打开购买软件的页面,所以就一开始就用了最笨的方法,软件的 ...
- Win2003下配置iis+php+mysql+zend
所需软件: ActivePerl.PHP.MYSQL.Zend (一.安装IIS6.0;二.配置PHP环境;三.安装mysql;四.安装 Zend Optimizer;五.配置PHPMYADMIN) ...
- paxos算法—今生
Paxos 定义2.1 票:即弱化形式的锁.它具备下面几个性质: 可重新发布:服务器可以重新发布新票,即使前面发布的票没有释放. 票可以过期:客户端用一张票来给服务器发送命令请求时,只有当这张票是最 ...
- python+openpyxl的excel的相关读写
def test(): wb2 = openpyxl.Workbook() #创建一个excel对象 wb2.save("a.xlsx") #保存excel并命名为a.xlsx w ...
- 通过fiddler抓包,用jmeter实现multipart/form-data类型请求
Fiddler抓包结果如下: 1.multipart/form-data的基础方式是post,也就是说通过post组合方式来实现的.2.multipart/form-data于post方法的不同之处在 ...