电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>电子资料>生日蛋糕自动木琴(钟琴)开源分享

生日蛋糕自动木琴(钟琴)开源分享

2022-11-07 | zip | 0.67 MB | 次下载 | 免费

资料介绍

描述

让我们从一些动态图片开始:

介绍

该项目的目的是制作个人生日礼物。在这样做的同时享受电子、软件和 3D 打印的乐趣!

草莓奶油蛋糕有 4 种操作模式,通过旋转草莓编码器进行设置。

默认模式只有led效果,没有声音。然后你有生日模式,蛋糕播放生日快乐,直到你再也不想庆祝生日。它还具有“随机播放”模式。它在这里播放随机歌曲。最后还有一个惊喜模式,在这种模式下,灯熄灭,没有音乐播放,如果灯亮了,它会突然播放一首歌。

Part1 :木琴

多少个键和什么频率?

经过几次迭代后,我接受了这个折衷方案:

  • 12键,铜制,外径10mm,内径8mm。
  • 支持音符 C6、D6、D#6、E6、F6、F#6、G6、A6、A#6、B6、C7、D7。

我从 http://users.df.uba.ar/sgil/physics_paper_doc/papers_phys/lapp.pdf获得的密钥长度公式

pYYBAGNkeeqAIczEAACjyMswXq8278.png
长度计算器电子表格,见附件部分
 

我切了一块比计算值大几毫米的铜片,然后轻轻地锉掉边缘。我定期使用应用程序(检查频率注意:在管子上钻孔或打磨管子会稍微改变频率。

poYBAGNkeeyATxkBAAAwLOIIvho000.png
用于检查按键频率的 Stonekick 调谐器应用程序
 

几个学习者:

  • 你真的需要更多的键来播放大多数音乐。我猜至少有 18 个或 24 个。使用 12 个键,该设备只能播放部分歌曲或带有简单旋律的歌曲。
  • 虽然木琴是和弦的(可以同时敲击所有 12 个键),但实际上大多数可播放的歌曲并不使用它。
  • 管子用砂纸抛光,然后涂上清漆。如果您将钥匙放入无绳电钻中,通过旋转钥匙并用 600 号砂纸固定它很容易使其变得非常光滑。

第 2部分电磁铁和撞针

pYYBAGNkefCAfGFjAAEvhx7XzAQ880.png
12 个带毡织物的前锋,以减少噪音
 
pYYBAGNkefOAHFw8AAEABsj2MPs500.png
前锋由三部分组成
 

这比我预想的要困难得多。

我从一个电磁铁开始,如果有电流流过它,它就会把铁芯拉到它的中心事实证明这不是一个好主意,因为它需要电磁铁中的大量电流,并且您只能将某些东西拉入核心,而无法排斥它,这使得击键更加困难。

然后我读到了关于使用钕磁铁作为磁芯的信息这显着降低了所需的电流,现在可以通过将磁铁与电磁铁相斥来敲击琴键。

但是 - 没有什么是免费的 - 另一个问题出现了:前锋中的磁铁相互影响。必须进行大量调整(曾在线圈底部添加铁环以引导磁场),但最终找到了一个解决方案,即每个撞针只使用一个磁铁,并保持足够多的撞针分开。

最终撞针由三部分组成:铁制家具螺丝的空心部分、塑料支架和钕磁铁。无需胶水,磁铁将其固定在一起。

我制作了电子设备,以便可以通过软件控制电磁铁电流。虽然改变打击力对于播放歌曲并不是绝对必要的,但它使调试和调音变得容易。

最终的电磁铁有 570 匝 0.2mm 直径的漆包线。电阻约为5.5Ohm。

为了减少撞针回落到核心中产生的声音,在关键部位使用了毡织物,并且电磁铁的内部和撞针的外部都经过了平滑处理。

不过,我对音质并不是 100% 满意,敲击琴键的声音对我来说有点突出......

Part3 :电子产品

pYYBAGNkefaAcCT8AAFA6QA_qlI017.png
请参阅附件部分中的原理图和 pcb
 

原理图

原理图没什么特别的。Atmega328PB 微控制器与 12 通道 DAC 进行串行通信每个 DAC 输出后接一个功率双极晶体管,布置为射极跟随器。

二极管 D3..D14 保护晶体管免受感应反冲能量的影响。

我添加了一些基本的过电压、ESD 和错误极化保护。通过添加这些,测试期间破坏组件的变化大大减少。

印刷电路板

PCB就是我所说的1.5层PCB。底部是完整的接地层,因此无需蚀刻。所有轨道都在顶层运行,要访问 GND,您只需添加一个过孔。

在我的下一个项目中,我将在线订购 pcb,但现在我自己蚀刻它,如果原型制作要快得多。

如果您使用镊子和双目显微镜,安装相对较小的组件是最容易的。

物料清单

所有组件均在mouser.com购买

LED环和79

pYYBAGNkefmAF_RoAAGN7_18s3E577.png
看看里面的七。0.6 毫米薄的前部咔哒一声。
 
poYBAGNkefyAI1eXAACjsWEYXFI771.png
戒指的 LED 灯带隐藏在蛋糕内
 

使用好旧的WS2812智能LED。18 为“79”,35 为环,全部串联。

电源

任何 5V/2A 稳压电源都可以工作。我拿了一根 USB A 到 USB B 电缆并切断了 USB B 连接器我将红/黑线焊接到 PCB 上的 5V/GND。USB A 连接器可插入 USB 充电器或移动电源。

Part3 :机械零件

poYBAGNkef-AIkLyAABXITWVs-U183.png
Fusion360项目
 

大约 8 个月前,我们购买了我们的 Prusa mk3s 打印机,它确实达到了预期。它提供了漂亮的结果并且可以毫无问题地工作。带纹理的钢板提供了非常好的表面。

我儿子是 3D 设计师,他像专业人士一样使用 fusion-360(供个人使用)。

第三部分软件

Excelmacro将midi转换为“arduino”数组

pYYBAGNkegKAN53sAAGHdpHrAPQ674.png
见附件部分的excel文件
 

使用 SD 卡可以直接在 arduino 软件中读取 MIDI 文件。没有一个,下一个最好的事情是将 midi 文件转换为更紧凑的数组格式。后者是我所做的。

step1:选择一个midi文件并对其进行预处理。例如,剪掉一块或只保留 1 个“轨道”。我使用 MuseScore3(免费)来做到这一点。

step2 : 使用 midicsv 工具 将 midi 文件转换为 csv 文件。

step3:我做了一个excel宏:

  • 打开 csv 文件。
  • 移调音符,使最低音符对应于蛋糕上可用的最低音符 (C6)。
  • 允许您检查是否可以在蛋糕上播放歌曲中的所有音符。如果没有回到绘图板(Musescore 或只是找到另一个 midi 文件)。
  • 生成一个可以粘贴到 arduino 源代码中的数组。

为 Atmega328PB 控制器设置 arduino。

在使用 arduino IDE 之前,必须在处理器中加载引导加载程序。由于我忘记在 MISO/MOSI/SCK 引脚上添加排针,我必须先将小电线焊接到这些引脚上。

Atmega328PB 的额外功能默认情况下不可用,因此我必须在 IDE 中安装 Watterott 软件包 ( https://github.com/watterott/Arduino-Boards)才能正常工作。

经过很多问题我发现boards.txt中的波特率需要从57600更改为115200。

c++软件

poYBAGNkegSAPRPbAACfhsP4nok493.png
见附件部分的代码
 

事件驱动的应用程序可能更简洁,但我决定采用同步解决方案。主循环以固定的 300Hz 运行,每个对象或状态机在每个周期都更新。

高级概览应用程序

DacBH2221FV.h 允许您将值写入任何 dac 通道。

Key 类包含驱动单个键所需的所有内容。键由它们的 midi 编号标识。

MusicPlayer 类拥有 12 个键并且知道如何播放歌曲。歌曲存储为结构紧凑的数组(请参阅 SongData.h )

ControlLights 类提供简单的函数来控制 79 和环形 LED。

RotarySwitch 和 SwitchAndLDR 类允许访问旋转开关和光传感器

最后,Controller 类使所有这些都可以协同工作。


下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1山景DSP芯片AP8248A2数据手册
  2. 1.06 MB  |  532次下载  |  免费
  3. 2RK3399完整板原理图(支持平板,盒子VR)
  4. 3.28 MB  |  339次下载  |  免费
  5. 3TC358743XBG评估板参考手册
  6. 1.36 MB  |  330次下载  |  免费
  7. 4DFM软件使用教程
  8. 0.84 MB  |  295次下载  |  免费
  9. 5元宇宙深度解析—未来的未来-风口还是泡沫
  10. 6.40 MB  |  227次下载  |  免费
  11. 6迪文DGUS开发指南
  12. 31.67 MB  |  194次下载  |  免费
  13. 7元宇宙底层硬件系列报告
  14. 13.42 MB  |  182次下载  |  免费
  15. 8FP5207XR-G1中文应用手册
  16. 1.09 MB  |  178次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33566次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21549次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6656次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537798次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420027次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191187次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183279次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费