工程作者:WilliTourt
小伙用STM32,做了个电子鼓系统!
能区分4096种击打力度的变化……
01
有10个鼓垫!都支持独立采集
能区分4096级力度变化
支持12位ADC采样与峰值检测,不容易误判力度,且采集数据很稳定
击打力度可自定义!啥击打习惯都能适配
内置自定义力度曲线(线性/对数/指数)、支持阈值灵敏度调节等
能直连音乐软件/电子乐器编曲
输出标准 MIDI 信号,自带自动 Note Off 机制,支持直接与 DAW(如FL)、音源、电子乐器等无缝连接
屏幕实时看鼓垫状态:系统自带OLED屏,能实时显示鼓垫状态、力度参数、MIDI 连接情况
DIY成本60左右
非常适合扩展功能:可拓展外接踏板的功能…
它的使用方式也很简单——比如你要用DAW连接本项目:
在DAW软件中配置好MIDI设备输入即可使用。
主要配置2个内容:MIDI note序号与代码中设置的鼓点值对应;依次设置好每个音源对应的触发值
02
硬件说明
承担鼓垫数据采集、MIDI 信号处理、硬件调度等核心工作

通过插座(CN1)与主板连接,实现 “屏幕显示状态 + 按键操作菜单” 的人机交互功能

硬件参数
主控芯片:STM32F405RGT6
压电陶瓷片:推荐 27mm,每路信号线建议使用双绞或加屏蔽
ADC采样:12位精度,多路复用
采用压电传感器和多路 ADC+DMA 实现力度检测
OLED显示:128x32分辨率,I2C接口
MIDI芯片:CH345T,可直接被电脑识别为MIDI设备
源码已开源!结构如下:
cpp_main.cpp/h : 主程序入口,主循环、Pad/MIDI/UI 初始化与调度
pad.cpp/h : 鼓垫采集与检测、力度映射和参数管理
midi.cpp/h : MIDI 通信协议、信号发送、自动 Note Off、连接检测
oled.cpp/h : OLED 屏驱动、文本/变量/图形显示
OneButtonTiny.cpp/h : 单按钮多模式输入检测(单击/双击/长按/多击)
ui.cpp/h : 用户界面与菜单系统管理
结语
懂行的小伙伴都知道!一个成品电子鼓的价格可不便宜!
而这位大佬花60元,就捣鼓出了一个……精度还如此之高!
这就是工程师的乐趣吧~
别人是创作音乐,而工程师则是创造这种创造“乐趣”的工具的人。
如果你想给作者点个赞
或想了解开源项目[源码][硬件]等资料
就下滑吧!
▼▼
开源网址:
https://oshwhub.com/willitourt/stm32-desktop-midi-electronic-dr