文章目录
前言
Mixly可以看作是介于普通用户与Arduino IDE之间桥梁,通过这个桥梁,即使用户不懂C语言的语法,也可以利用图形化程序编写Arduino程序。
自2015年问世以来,Mixly就深受国内创客、中小学教师喜爱,最大的优点就是其开放性。Mixly建立了一个生态圈,这个生态圈欢迎所有人的加入,不限制厂家,不限制硬件。因此,任何一个掌握规则的人都可以为Mixly开发第三方库,来丰富Mixly的功能。
本项目参考以下文章,基于Mixly自定义第三方库实现语音合成。
创客教师必备技能:Mixly第三方库开发
一、所需软硬件
1、软件准备
软件 |
---|
Mixly |
文本编辑器(最好是代码编辑器) |
2、硬件准备
硬件 | 数量 |
---|---|
Arduino UNO | 1 |
XFS5152语音合成模块 | 1 |
USB转串口数据线 | 1 |
杜邦线 | 若干 |
3、接线方式
Arduino UNO | XFS5152 |
---|---|
3.3V | 3V3 |
GND | GND |
1(TX) | RXD |
0(RX) | TXD |
二、项目过程
1.开发准备
在我们动手编写第三方库之前,先来了解Mixly是如何将图形化程序转化成C语言的。
在开发之前首先将给自己的库起一个恰当的名字,我的是叫Mixly_voice。根目录下的xxx.xml文件定义了图形块的基本信息,比如类别、名称,ID等。
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是繁体中文语言文件。该类文件定义了图形块程序中每一个字段显示的文字内容。
└─xxx // 项目根目录
├─ xxx.xml // 本用户库的配置文件
│
├─ block
│ xxx.js // 图形化样式文件
│
├─ generator
│ xxx.js // 图形块转C语言文件
│
└─ language
└─xxx
zh-hans.js // 简体中文语言文件
注:除根目录名外,以上文件结构中的xxx命名均须一致
2.文件编写
2.1、编写xxx.xml文件
<!--
type="company"
block="block/voice.js"
generator="generator/voice.js"
language="language/voice/"
-->
<!--
Author :Sky
Date:2021-5-19
E-mail:xxx@qq.com
-->
<script type="text/javascript" src="../../blocks/company/voice.js"></script>
<script type="text/javascript" src="../../generators/arduino/company/voice.js"></script>
<category id="cat_voice" name="voice" colour