电子专业的学生,或多或少估计都制作过电子乐器,相对简单的作品使使用按键模拟电子琴。本文章就给大家介绍一款可以拉的电子乐器。外观参考了我们的民族乐器二胡,保留了通过弓弦拉的动作,不同时的将按弦的动作换成了按键。
电子二胡成品
视频演示连接如下:https://www.bilibili.com/video/BV1sh411i7at
设计思路
与上一篇文章介绍的卡林巴琴类似,这个二胡也采用了ESP32 作为主控单元,通过蓝牙连接手机在手机上发声。不同的是这个乐器的核心元器件是如下图所示的EC11编码器,演奏的时候将一根绳子拴在编码器上,拉动编码器的旋转,程序检测编码器的转速,转的越快声音就越大。
EC11编码器和机械键盘按键
按键部分采用的是机械键盘的按键,按不同的按键,发送不同的MIDI指令控制手机播放不同的音符。值得一题的是,我在安卓系统上没有找到能够通过蓝牙MIDI播放二胡音源的APP,后面的演示都是基于iSO的库乐队APP,如果想要做这个乐器的话,需要先检查一下手头上的设备是否支持。
库乐队下载及操作
安装好库乐队后,在库乐队中依次点击 设置 > 高级 > 蓝牙MIDI设备,即可扫描到周围符合条件的设备。
硬件设计
完整的原理图如下图所示:
电路板上板上集成了USB转串口调试器,电池充电芯片,16颗机械键盘按键,1个EC11编码器,4颗WS2812B彩色LED灯。由于整个乐器过长,PCB设计时将其拆分了上下两部分(可在捷配领券免费打样),组装的时候需要使用排针,将上下两部分连接起来。
所有的硬件设计资料都在立创广场开源:https://oshwhub.com/Dr.Zhang/edrum_copy_copy
另外需要注意的是,普通的编码器在旋转的时候时候有转动的,为了使拉动比较顺滑,需要拆开编码器,将里面的弹片按下去,这样旋转的时候就不会有震动了。机械按键建议选择力不教轻且无段落感的红轴按键,按起来比较顺畅。
EC11编码器去阻尼 红轴机械按键
软件设计
相比于卡林巴琴,该乐器的实时性要求比较高,使用MicroPython会有一定的延时,所以使用效率更高的C语言编程,程序开源地址如下:
https://github.com/ospanic/eerhu
当然,如果你不熟悉ESP32的开发,也可以直接使用我编译好的固件,焊接好硬件,将固件烧录到芯片即可运行。(点击这里下载)。
固件烧录方法
烧录完固件,重启设备,找一根绳子做一个弓,连接手机库乐队APP后,就可以演奏了。
元器件列表:
名称 |
型号 |
封装 |
数量 |
备注 |
USB接口 |
MicroUSB |
贴片 |
1 |
|
串口芯片 |
CH340N |
SOP-8 |
1 |
修改电路可用CH340C替换 |
电容 |
0.1uF(104) |
0805 |
5 |
|
电阻 |
1K |
0603 |
1 |
用作LED限流 |
电阻 |
2K |
0603 |
1 |
用作锂电池充电限流 |
电阻 |
10K |
0603 |
1 |
用作EN引脚上拉 |
按键 |
K4-6×6_TH |
直插 |
2 |
用作复位及Boot选择 |
开关 |
MSS22D18G2 |
直插 |
1 |
|
ESP32模块 |
ESP32-S |
SMD |
1 |
|
编码器 |
EC11 |
直插 |
1 |
梅花柄20mm |
机械按键 |
红轴 |
直插 |
16 |
注意选择三脚带弯柄 |
红色LED |
* |
0603 |
1 |
用作充电指示 |
5V-3.3V芯片 |
AMS1117 3.3 |
SOT-223 |
1 |
|
锂电池充电 |
TP4055 |
SOT-23-5 |
1 |
|
彩色灯珠 |
WS2812 |
贴片 |
4 |
可选 |
锂电池 |
3.7V 1000mAh |
* |
1 |
500mAh – 2000mAh均可 |