Mixly是一款功能强大且易于使用的图形化编程工具,由北京师范大学米思齐团队独立研发。该软件基于Google的Blockly图形化编程框架,专为Arduino编程设计,免费且开源,旨在帮助用户通过图像化的方式开发Arduino UNO开发板的程序。
图形化编程的最大特点是采用模块化代码,用户无需编写复杂的代码,只需用鼠标拖动预设的模块到编辑界面,轻松完成程序开发。
这使得Mixly特别适合青少年和没有编程基础的Arduino学习者或爱好者。
它支持丰富的功能模块,包括输入输出、程序结构、数学运算、文本输出、逻辑处理、传感器模块、变量和常量等。
1、变量常量
高低、真假、浮点变量、整型变量、布尔变量、字符串变量。
2、函数处理
定义函数、执行函数。
3、第三方扩展
DFROBOT、SEEEDSTUDIO、MAKEBLOCK、MBOT机器人、SENSE盒子、SENSE机器人、LuBot(新增)、Nova(新增)。
4、主控板选择
当前已经支持官方所有的Arduino主板(含Arduino DUE和Arduino ZERO),ESP8266。
5、程序编写
用户既可以通过图形化代码编写,也可以直接通过文本编写(编写后图形化代码不会变)。
6、程序编译
用户可以直接通过Mixly完成程序的编译工作。
7、程序上载
用户可以直接通过Mixly完成程序的上载工作,支持无需编译直接上传。
8、代码保存
用户可以保存、另存和导入图形化代码。
9、界面缩放
用户可以随意控制界面缩放,方便平板用户使用。
10、模块导入导出
用户可以把函数导出成模块,从而方便其它用户导入使用,同时也支持导入厂商的带CPP的库。
11、模块管理
删除,改名用户导入的模块。
12、串口监视
串口通讯工具(新增波特率设置)。
一、编程界面简洁模块。
左侧区域为Blocks分类区;中部为编程区域;最右侧图标分别对应程序居中、程序块放大、缩小显示及删除;底部灰色工具栏为功能菜单;最下方为信息显示区域。
二、强大的预置模块
除了常见的if/else条件语句、for/while、数学运算、端口读写、布尔运算等基本程序操作外,Mixly相教于Ardublock,还支持:
1、完整类型的变量声明:
2、完善的子程序(可返回数据):
3、数组/列表支持:
4、触发中断及定时中断:
5、串口通讯(支持软串!):
6、脉冲检测:
7、扇出:
三、丰富的扩展库
在实际使用中发现Ardublock的产品库虽数量多但会存在各家入门套件元件不全或不匹配的情况。对于图形化编程,若没有对应的元件block,则元件无法使用,直接限制用户的创意实现。而Mixly企业库虽数量少但各家入门套件中元件完整,非常适合初学者使用。
四、流畅的操作
Mixly支持程序块向左拖出编程窗、拖拽至垃圾桶、delete键及右键delete四种删除方式,Ardublock仅支持第一种;
Mixly(左)与Ardublock(右)右键对比
Mixly支持不用的电池又见disable冻结,冻结的电池不会产生代码;当你需要对比测试不同思路方法或者一次编写多个对比程序时,感觉棒极了!
左为正常程序,右为冻结程序,不会生成Arduino代码
五、支持程序折叠
编写长程序或包含不同子程序模块的程序时,编写完成的程序折叠起来,程序清晰易读
输入输出: IO相关功能块
控制: 程序流程控制相关功能块
数学: 数学运算相关功能块
文本: 字符串操作相关功能块
数组: 数组相关功能块
逻辑: 逻辑关系的相关功能块
串口: 串口通信相关功能块
通信: 以太网,红外遥控等通讯功能块
储存: 数据储存相关功能块 (高级视图)
传感器: 通用传感器相关功能块
执行器: 通用执行器相关功能块
显示器: 显示相关功能块
以太网:以太网通讯功能块(高级视图)
变量: 变量操作相关功能块
函数: 函数相关功能块
自定义模块: 自定义代码功能块(高级视图)
1、输入输出
数字输入、数字输出、模拟输入、模拟输出、中断控制、脉冲长度、移位输出。
2、程序结构
时间延迟、条件执行、循环执行、获取时间、初始化。
3、数学变换
数字映射、数字约束、数学运算、取整、随机、三角函数。
4、文本输出
文本连接、文本转数字、数字转文本。
5、数组列表
定义数组、取数组值、改数组值。
6、逻辑处理
条件判断、逻辑运算、运算。
7、传感模块
超声波、DHT11。
8、执行模块
声音播放、舵机控制、I2C液晶模块。
9、通讯模块
串口通讯(新增串口选择和波特率设置)、红外通讯、I2C通讯、SPI通讯(新增)。
10、存储模块
EEPROM读写,SD卡写入。