使用教程:
准备工作
你需要一块掌控板和一根对应的usb线,以及一台安装好mind+1.6.3及以上版本软件的电脑。
备注:每个项目中,掌控板和数据线都是必不可少的,之后的项目中将不再重复罗列以上两个元件。
进入microPython模式
-
打开Mind+,通过软件右上角按钮,切换到“上传模式”。
-
在“上传模式”菜单“新建项目”,然后点击左下角“扩展”,打开扩展库。
-
选择“主控板”分类下的“掌控板”,返回主界面,在右边下拉界面选择“microPython”。
备注:Arduino c与micropython是两种编程语言,采用Arduino C模式支持更多的扩展传感器,microPython模式更适合学习python。
连接掌控板烧录固件
在micropython模式下,需要先给掌控板烧录一个microPython固件(包含microPython解释器、字库、掌控库等基本文件),然后才可以进行编程。
- 使用microusb线连接电脑与掌控板,点击“连接设备”时会出现一个名称为COMxx-CP210x的选项,点击进入第二步。
**注意:**如果是第一次在这个电脑上使用掌控板,没有出现此COM端口,则可以点击“一键安装驱动”根据提示安装好驱动。[点击查看常见问题] - 之后Mind+会自动将固件烧录到掌控板中直到读取文件成功。
**注意:**如果出现卡在0%的情况,请尝试按下掌控板上的A键直到进度条走了进度后松开(仅对最老的一批板子有效)。
若出现问题无法解决,可以在Mind+官方QQ群寻求进一步协助。
注意:
- 在micropython模式下只需要烧录一次固件,后续上传程序则不再需要烧录固件(相当于给掌控板安装好了操作系统,后续只需要安装程序即可,Mind+智能判断是否有固件,没有则自动烧录固件)。
- 在mind+中烧录固件由软件自动检测和烧录,若出现提示则等待烧录完成即可,若没有提示则说明不需要烧录固件。
microPython界面介绍
掌控板的microPython界面如下图所示:
与其他界面的不同点:
- 模块区具有python特有的变量类型:数字、文本。
- 界面右侧有文件系统、固件选择、终端窗。
图形与代码编程演示
- 代码区上方有“自动生成”和“手动编辑”两个页面,两个页面独立。
自动生成
- 当标签为“自动生成”时,代码为左边图形积木区的图形程序自动转化而来,上方按钮为“运行”,即表示代码上传到main.py后会自动直接运行并且开机自动执行。
- 如下为图形化编程让屏幕先显示Mind+,然后显示hello的操作演示:
手动编辑
- 当标签为“手动编辑”时,可以手动编辑代码,可以将“自动生成”标签下的代码复制过来修改,可以将图形积木直接拖动到手动编辑区域生成一个代码悬浮窗方便对照代码编辑或快速编程。
- “手动编辑”下编写(新建文件)或修改代码之后点击“保存”后将代码保存到文件系统中,不会直接运行,如果需要运行此代码则需要在对应文件上右键选择“立即运行”或“设置为开机运行”。
- 注意: “手动编辑”下需要运行代码,需要先在“文件系统”中右键当前编辑的文件“立即运行”,如需要让代码开机运行则需要将代码复制到main.py中。
- 如下为使用代码让屏幕先显示Mind+,然后显示hello的操作演示:
示例程序
Mind+内置了一些示例程序,可以打开查看图形化的积木以及生成的代码,也可以直接运行查看效果。
- 如下为打开运行第一个样例程序的操作演示:
- 如下为第一个样例程序运行的结果:
microPython介绍:
什么是microPython
MicroPython包括在小型嵌入式开发板上运行的标准Python解释器。使用microPython,您可以编写Python脚本来控制硬件。例如,您可以使LED闪烁,与温度传感器通讯,控制电机并在互联网上发布传感器读数。值得注意的是,这种嵌入式设备的固件通常以汇编,C或C ++编码,但是通过使用microPython,您可以获得与高级Python几乎相同的结果。
microPython不同之处
与桌面版本的Python不同,microPython是微控制器的精简版本。因此它不支持所有Python库和功能。在微控制器的领域里,固件都是直接刻录到ROM(也称为程序存储器),并且没有文件系统。microPython直接在微控制器的闪存上实现最精简的文件系统类型。如果设备具有1MB或更多的存储空间,那么它将被设置(首次启动时)以包含文件系统。该文件系统使用FAT格式,并通过microPython固件存储在闪存中。这为您提供了在主Python程序中访问,读取和写入文件的功能,以实现灵活存储操作。
microPython积木说明
固件更新
Mind+会内置掌控的microPython固件,同时支持刷入第三方固件。
注意:第三方固件的代码与Mind+积木生成的代码可能会存在不一致导致出错。