亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

低成本 Arduino 呼吸控制器:USB-MIDI 即插即用,支持吸吹双向控制

核心物料清单(总成本约 ¥120)

组件型号/规格关键参数备注
主控板Arduino Micro (ATmega32U4)原生 USB HID/MIDI仅 32U4 芯片支持 USB-MIDI,Uno/Nano 需额外转换器
压力传感器MPS20N0040D-D4kPa 量程,差分输出极低成本,易购买
运放LM358N (双路)单电源 5V,轨到轨输出放大传感器微弱信号
精密电阻1MΩ ×2, 10kΩ, 22.1kΩ, 1kΩ1% 精度构成放大电路与分压网络
气路组件婴儿鼻腔吸引器 + 5mm 水族管 + 三通接头医用级材质口含件+导气管+分流排液
辅助半块面包板、排针、22AWG 单芯线免焊接原型

核心创新点

硬件电路设计

信号链

MPS20N0040D (差分输出) 
  → LM358 同相放大 (增益约 2.5×, 由 R1/R2 决定) 
  → Arduino Micro A0 (ADC 输入)

关键点:

气路布局原则

  1. 口含件 → 导气管 → 三通接头「进气口」
  2. 三通「传感器口」→ 传感器(短管,<5cm)
  3. 三通「排液口」→ 吸引器婴儿端(含滤芯)→ 向下垂直布管,利用重力排液
  4. 全程保持 单调下坡,避免低洼积液

固件核心逻辑

用户可配参数(代码开头)

// 量程校准:吹气/吸气最大 ADC 增量,调大=更易满量程
int sensorRange1 = 800; // 吹气
int sensorRange2 = 800; // 吸气

// 输出映射:0-127=CC, 128=Aftertouch, 129=Pitch Bend Up, 130=Pitch Bend Down
int controllerNumber1 = 2; // 吹气 → CC#2
int controllerNumber2 = 2; // 吸气 → CC#2

// 通道设置
int controllerChannel1 = 1;
int controllerChannel2 = 1;

// 死区阈值:消除静止抖动
const int lowThreshold1 = 5;
const int lowThreshold2 = 5;

// 自定义曲线示例(软启动)
// int in1[] = {0, 6, 24, 78, 127};
// int out1[] = {0, 32, 64, 96, 127};

主循环流程

  1. 过采样读取 ADC → sensorValue1
  2. 计算吸气分量:sensorValue2 = sensorMin1 - sensorValue1
  3. 双向独立:限幅 → 曲线映射 → 输出范围映射(CC 0-127 / PitchBend ±8191)
  4. 仅当值变化时发送 MIDI 消息,避免总线拥堵
  5. delay(refreshCycle) 控制刷新率(默认 0ms 即全速)

校准与使用指南

首次上电校准

量程调节

DAW 端映射

进阶改造方向

故障排查速查表

症状原因对策
DAW 无法识别 MIDI 设备未安装 USB-MIDI 库 / 板卡选错库管理器搜索 "USB-MIDI" 安装,工具→板卡选 "Arduino Micro"
输出值抖动大低阈值过小 / 供电噪声增大 lowThreshold、加 100uF 电解电容滤波
吸气无输出三通接头堵塞 / 管路漏气检查气路密封、清洗排液管
数值漂移唾液积聚 / 温度漂移优化管路坡度、定期清理、软件加基线跟踪

完整固件代码(含 Oversampling、USB-MIDI 库依赖)请参考项目附件。建议搭配 USB-MIDI Library 使用。

制造工艺

  1. Arduino Nano飞行模拟2020控制面板——LCD与CDI显示
  2. 基于 Web 控制的 DMX 灯光系统 – Arduino 主控制器
  3. DIY Arduino USB 游戏手柄 — 自制高性能游戏手柄
  4. Unopad:基于 Arduino 的无缝 Ableton Live MIDI 控制器
  5. 蓝牙文本传送器:Arduino + Android 跨设备粘贴神器
  6. Arduino 驱动的真空荧光显示器(VFD)控制器套件
  7. Alexa 语音控制 Arduino 智能家居中枢:基于 Yun + PubNub + AWS Lambda 全栈实现
  8. 校园智能体温监测系统 - 精准、实时、安全的学生健康守护方案
  9. Arduino 8 位并行 IO 端口库:一行代码实现 8 位数字读写
  10. Arduino 64 键原型键盘矩阵:用移位寄存器打造全自定义键盘
  11. 为Arduino构建隔离模拟输入电路
  12. 适用于 Arduino 项目的智能室内导航机器人套件