行空板Mind+图形化编程

1 - 连接行空板

2 - 行空板编程流程

在Mind+使用图形化编程,只需要将指令区的积木拖动到脚本区组合到程序中即可,Mind+会自动生成对应的Python代码。

开始操作:

行空板正面为一个240x320像素的显示屏,因此我们先从操作屏幕开始,此处我们先实现在行空板上显示文字行空板

接下来我们修改一下程序,实现按下A键和B键切换不同的文字。

Python程序中会用到一些图片或文件资源,因此需要将图片拖入到文件系统中,接下来我们演示一下显示一张图片到行空板上。

至此我们基本了解了在Mind+上如何对行空板进行基本的图形化编程,你还可以试试编写程序实现按下A键和B键的时候更新文字的坐标,让文字动起来。

===========

3- 行空板主板积木说明

行空板主板中的积木根据功能分为7大部分,分别为:屏幕显示鼠标键盘事件多线程板载传感器板载蜂鸣器引脚操作音频录放,下面逐一展开介绍。

|-3-1 屏幕显示积木说明

屏幕显示相关积木主要使用到了unihiker库,可以先查看unihiker库基础说明【点击跳转】,其中前半部分为各种控件的显示功能,后半部分为更新控件的各种参数功能。

积木说明

积木
说明 生成一个文字显示的对象,对象名xxx,初始状态为:文字“行空板”,位置(0,0),字号20,颜色蓝色
积木
说明 生成一个仿数码管显示的对象,对象名xxx,初始状态为:字体“1234”,位置(0,0),字号20,颜色蓝色
积木
说明 生成一个图片显示的对象,对象名xxx,图片路径为图片img.png,需要将图片拖入文件系统对应目录,位置(0,0)
积木
说明 生成一个内置动态表情显示的对象,对象名xxx,初始状态为:表情睡觉,位置(0,0),动态表情切换间隔0.2秒。表情包括:愤怒、紧张、平静、惊讶、睡觉、微笑、冒汗、思考、眨眼
积木
说明 生成一个按钮的对象,对象名xxx,初始状态为:文字“按钮”,位置(0,0),宽40,高30,回调函数名:button_click1,注意按钮始终显示在最顶层。
积木
说明 生成一个时钟显示的对象,对象名xxx,初始状态为:位置(120,100),半径50,填充颜色蓝色
积木
说明 生成一个填充时钟显示的对象,对象名xxx,初始状态为:位置(120,100),半径50,边框颜色蓝色,填充颜色蓝色
积木
说明 生成一个二维码显示的对象,对象名xxx,初始状态为:内容(https://unihiker.com),位置(70,100),边长70
积木
说明 生成一个线段显示的对象,对象名xxx,初始状态为:起点位置(0,0),终点位置(240,320),线宽1,颜色蓝色
积木
说明 生成一个矩形显示的对象,对象名xxx,初始状态为:位置(0,0),宽100,高200,线宽1,边框颜色蓝色
积木
说明 生成一个填充矩形显示的对象,对象名xxx,初始状态为:位置(0,0),宽100,高200,填充颜色蓝色
积木
说明 生成一个圆角矩形显示的对象,对象名xxx,初始状态为:位置(0,0),宽100,高200,圆角半径5,线宽1,边框颜色蓝色
积木
说明 生成一个圆角填充矩形显示的对象,对象名xxx,初始状态为:位置(0,0),宽100,高200,圆角半径5,填充颜色蓝色
积木
说明 生成一个圆形显示的对象,对象名xxx,初始状态为:位置(120,100),半径50,线宽1,边框颜色蓝色
积木
说明 生成一个填充圆形显示的对象,对象名xxx,初始状态为:位置(120,100),半径50,填充颜色蓝色
积木
说明 更新对象名为:xx的数字参数为1.数字参数包括:x、y、宽、高、半径、线宽、起始点x、起始点y、终止点x、终止点y、字体大小
积木
说明 更新对象名为:xx的文本内容参数为你好
积木
说明 更新对象名为:xx的颜色,以取色板形式
积木
说明 更新对象名为:xx的颜色,以数值方式输入红绿蓝范围为0~255
积木
说明 更新对象名为:xx的颜色为blue,颜色包括:red、orange、 yellow、 green、 indigo、 blue、 purple
积木
说明 更新对象名为:xx基准点为中心.基准点包括:中心、上、下、左、右、左上角、右上角、左下角、右下角,查看unihiker库基础说明【点击跳转】
积木
说明 更新时钟对象为:xx的时间为10时0分0秒,时范围:0~11, 分范围:0~59, 秒范围:0~59
积木
说明 更新对象名为:xx的回调函数为button_click1
积木
说明 当点击回调函数button_click1,执行下面程序,注意不要执行需要长耗时的程序,如果需要则可以开启单独线程运行。
积木
说明 更新图片对象为:xx图片源路径为img2.png
积木
说明 更新表情对象为:xx标情源为睡觉。表情源包括:愤怒、紧张、平静、惊讶、睡觉、微笑、冒汗、思考、眨眼
积木
说明 更新按钮对象为:xx为启用。包括:启用、禁止,禁止后按钮为灰色不可点击状态。
积木
说明 更新任意对象的某个参数的值
积木
说明 删除某个对象
积木
说明 删除所有对象。注意如果删除后则无法更新控件了,如果需要清屏,可以采用覆盖填充矩形或移动位置的形式实现。

|-3-1 项目展示(几何图形绘制、进度条绘制、表情绘制秒表绘制)

---------

|-3-2 鼠标键盘事件

行空板上的A键和B键相当于键盘的A键和B键,触摸屏则相当于鼠标移动。

积木说明

积木
说明 当接收到鼠标移动事件,返回x,y坐标
积木
说明 当行空板A键按下,执行程序,下拉参数包括A和B
积木
说明 当任意键盘按键被按下,执行程序。注意可以将后面两个积木组合使用。
积木
说明 获取键盘上数字和字母键
积木
说明 获取其他键盘
积木
说明 等待直到按键A被按下,程序才继续运行

|-3-2 项目展示(滑动解锁、词汇量测试)

---------

|-3-3 多线程

行空板是一台运行linux操作系统的电脑,因此你可以使用多线程来操作多个事件实现更直观的程序逻辑。

积木说明

积木
说明 生成一个线程的对象,对象名thread1,启动此线程
积木
说明 停止对象名thread1的线程
积木
说明 当线程对象名thread1启动后,执行下面程序

|-3-3 项目展示(鱼管家、推箱子)

---------

|-3-4 板载传感器

行空板板载传感器由协处理器连接控制,因此主要调用pinpong库来实现硬件控制。

积木说明

积木
说明 判断按钮A是否被按下,按下状态值返回1,否则返回0
积木
说明 读取环境光强度
积木
说明 读取麦克风声音强度
积木
说明 读取加速度x的值,包括:xyz强度
积木
说明 读取陀螺仪x的值,包括:xyz

|-3-4 项目展示(光控灯、肺活量测试仪)

---------

|-3-5 板载蜂鸣器

积木说明

积木
说明 播放DADADADUM音乐,初始状态为:重复播放一次
积木
说明 播放音符4,60拍
积木
说明 播放音符1低C/C3为1拍
积木
说明 后台播放音符1低C/C3
积木
说明 停止后台播放
积木
说明 蜂鸣器重定向到引脚P0

|-3-5 项目展示(推箱子)

---------

|-3-6 引脚操作

积木说明

积木
说明 选择行空板上的引脚对象,主要配合扩展中的pinpong库来使用
积木
说明 读取数字引脚P21的值
积木
说明 读取模拟引脚(ADC)P21的值
积木
说明 设置数字引脚P25为低电平
积木
说明 设置模拟引脚P21输出(PWM)512,范围:0~1023

|-3-6 项目展示(多功能灯)

---------

|-3-7 音频录放

行空板具有USB口,因此可以使用USB喇叭或USB转3.5mm声卡或蓝牙音箱等实现音频播放,此处调用的是unihiker库中的Audio类。

积木说明

积木
说明 录音10秒直到录制完成才执行下一条程序,保存文件名:record.wav,
积木
说明 开始后台录音,不阻塞程序运行,保存文件名:record.wav
积木
说明 结束后台录音
积木
说明 播放record.wav的音频文件直到播放完成才执行下一条程序
积木
说明 开始后台播放record.wav的音频文件,不阻塞程序运行
积木
说明 获取后台播放音频的剩余时长(秒)
积木
说明 暂停后台播放
积木
说明 重新开始后台播放
积木
说明 结束后台播放

|-3-7 项目展示(迷你唱吧)

------------------

4 - 基础积木说明

除专用图形化扩展库,作为Python基础知识点的通用基础积木也进行了说明。

基础积木说明:[点击跳转]

------------------

5 - 扩展库积木说明

Mind+已经将Python初学者最常用的库制作了图形库,还将逐步将更多Python库制作为图形化库。

扩展库积木说明:[点击跳转]

------------------

6 - 扩展用户库

除内置图形化库以外,Mind+允许用户自行制作扩展库。

图形化扩展库收集列表:[点击跳转]

------------------