Mixly 二次开发 自定义库

本文介绍了Mixly的基本原理,它是图形化编程到C语言转换的桥梁,适用于Arduino编程。详细讲解了Mixly二次开发的过程,包括文件结构、新建文件、开发步骤,以OLED中文显示模块为例,展示了如何创建自定义库,并导入成功后的测试结果。通过这样的开发,可以简化学生的学习过程,促进创新实践。

Mixly基本原理

Mixly可以看作是介于普通用户与Arduino IDE之间桥梁,通过这个桥梁,即使用户不懂C语言的语法,也可以利用图形化程序编写Arduino程序。Mixly的基本原理是将图形化程序转化成C语言,再利用Arduino IDE上传到硬件中。在我们动手编写第三方库之前,先来了解Mixly是如何将图形化程序转化成C语言的。
根目录下的xxx.xml文件定义了图形块的基本信息,比如类别、名称,ID等。block/xxx.js文件定义了每个图形块的样式,比如颜色、文字、图标等。generator/xxx.js文件是将图形块程序转化成C语言的关键部分。language/xxx/en.js(zh-hans.js)等文件是语言文件,en.js是英文语言文件,zh-hans.js是简体中文语言文件,zh-hant.js是繁体中文语言文件。该类文件定义了图形块程序中每一个字段显示的文字内容。
各文件作用的流程如下图所示:
在这里插入图片描述Mixly第三方库基本结构如下图 所示:
在这里插入图片描述

简介&软件准备:

Mixly 1.1.5

官方指南: Instructions -使用Mixly写自定义库

第三方库范例: dfrobot、Otto

文本编辑工具: 记事本

此教程中所有文件可新建文本文档,修改其后缀实现编译。

这里用的编译器是Adobe Dreamweaver CS4,脚本语言是JavaScript

Mixly二次开发 文件结构

在这里插入图片描述block/xxx.js文件:定义了你定制的图形化模块的样子。

generator/xxx.js文件:定义了每一个图形化模块对应的 Arduino C语言代码。
block/xxx.js文件:定义了你定制的图形化模块的样子。

generator/xxx.js文件:定义了每一个图形化模块对应的 Arduino C语言代码。

block和generator :文件夹下各有一个与项目同名但内容不同的xxx.js文件,一个控制“外观”,另一个控制“内涵”。

xxx.xml: 必须的,所有模块的路径,相当于字典

开始开发:

开发内容: OLED中文显示模块

开发准备: u8g2库

新建文件,如下图:

在这里插入图片描述

  • 在 block 和 generator 文件夹中新建文本文档,并重命名为 kivinOLED.js , 如下图所示:

在这里插入图片描述

  • 再新建一个 kivinOLED 文件夹,放入u8g2库文件,如下图所示:

在这里插入图片描述开始编程:
共分为3个部分, 也就是说,需要编写3个必要的脚本:

  1. block文件夹下 kivinOLED.js 脚本
//下列三行代码,为刚需,此提供了下列所有代码的入口
'use strict';
 
goog.provide('Blockly.Blocks.kivinOLED');//注意脚本类别及路径名称
 
goog.require('Blockly.Blocks');
 
// ---OLED模块图形配置---
 
//include模块
Blockly.Blocks.U8g2lib_include = {
   
   
  init: function() {
   
   
    this.setColour(120);//模块图形颜色
    this.appendDummyInput("")//此行代码刚需,为模块创建提供入口
        .appendField("#include <") //代码块上的文字内容
        .appendField(new Blockly.FieldTextInput('U8g2lib'), 'INCLUDE')//创建文本输入对象
        .appendField(".h>");
    this.setPreviousStatement(true);//是否可以与上一模块连接
    this.setNextStatement
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zycwlkq

希望能帮助到您,谢谢您的打赏!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值