备注:如果觉得文中的图片不够清晰,请先单击图片,进入图片详细信息界面,然后双单击图片即可查看高清原图。

Mu是一个用Python编写的跨平台编辑器,它最初是为了micro:bit开发的,但是根据其使用者及老师的反馈和请求促使将Mu重写为通用的Python编辑器。Mu的为简约型编辑器,它只有最基本的核心功能,没有复杂的界面和设置,也没有各种各样的插件。

Mu是一个给初学者的Python编辑器,它旨在使学习体验更加愉快。它能使学生​​能够在早期就体验成功,这也许在你学习任何新知识的时候都很重要。大多数编程工具都是由开发人员为开发人员编写的,不管他们的年龄如何,它们并不适合初学者。而在这一点上Mu更显优势,Mu是由老师为学生写的。

就像其他软件一样,你需要先到Mu官方网站下载你所需要的软件安装包,然后安装。点此进入下载界面
Windows系统安装步骤:点击查看
MacOs安装步骤:点击查看

下载链接

关于Mu的使用教程,可参考官方网站的一些入门教程(点此进入官网教程)。

备注:如果觉得文中的图片不够清晰,请先单击图片,进入图片详细信息界面,然后双击图片即可查看高清原图。

打开Mu编辑器后,若要对micro:bit进行开发,需点击软件左上角的“模式”选项,然后选择“BBC micro:bit”模式,操作如下:

模式选择

模式选择完成后的界面如下:

BBC micro:bit模式

界面简洁,只有一栏工具栏,工具栏介绍:

工具名称 工具描述
模式/Mode模式切换
新建/New新建程序文件,这不会损坏之前的文件,而是重新打开一个编辑界面
加载/Load加载一个之前保存的 .py 文件
保存/Save保存当前编写的代码
刷入/Flash将代码上传到micro:bit中,这样你的代码就会在micro:bit上开始运行
文件/Files显示micro:bit中的程序
REPL是一种命令控制方式,在Windows系统上使用时,需要使用mbedWinSerial_16466.exe文件来安装正确的驱动程序
绘图器/Plotter可以轻松地显示代码创建的数字数据,输出采用折线图的形式,时间沿x(水平)轴运行,数据值沿y(垂直)轴绘制。REPL中的某些内容或来自连接设备的串行数据。
放大/Zoom-in放大程序字体
缩小/Zoom-out缩小程序字体
主题/Theme改变编辑器的主题颜色
检查/Cheak检查代码是否有语法错误,并在有错的地方进行标注,所以在“刷入/Flash”之前,建议运行检查
帮助/Help打开编辑器的在线帮助界面
退出/Quit退出编辑器

至此,我们可以使用python代码对micro:bit进行开发了,现在进行编程界的一项庄严的仪式,那就是“Hello, world!”(严肃脸~~)
可参考:https://codewith.mu/en/tutorials/1.0/microbit

操作截图:

hello.py

源码如下:

from microbit import display
import time

while True:
    display.scroll("Hello from Mu!")
    time.sleep_ms(100)
    

执行效果:

执行效果

备注:如果觉得文中的图片不够清晰,请先单击图片,进入图片详细信息界面,然后双击图片即可查看高清原图。

做完前面的工作,其实还不能完全使用ELF shield来驱动WEEEMAKE的电子模块,需要做以下操作步骤:

Step 1:下载文件最新版本的固件,然后解压,得到一个HEX文件,目前最新版本V1.6。

Step 2:对micro:bit进行固件配置,将的到的HEX文件完整路径和文件名输入microbit设置下,就可以使用ELF shield扩展板来对WEEEMAKE电子模块用
python代码进行驱动了。具体操作流程如下图:

Mu编辑器界面截图:

ultrasonic_test

新建ultrasonic_test.py脚本文件,编写python代码,编写代码请注意代码格式及函数正确性,因为这是WEEEMAKE自主研发的库,Mu无法对elfshield模块内的关键词进行检测,也就是说“检查”工具无效,这对编程细心都要求比较高。

源码如下:

from elfshield import *
import time

while True:
    distance = int(ultrasonic_getDistance(PORT_A))
    digitalModule_showNumber(PORT_B,distance)
    time.sleep_ms(100)
    
 

执行效果:

详细的Elfshield扩展板micropython API请参考:Elfshield的Micropython API文挡

Juneral 2018/11/26 16:33