基于ATtiny85制作MIDI数字音乐盒

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/woshi_ziyu/article/details/86573155

在本篇文章中,我们将主要介绍如何基于ATtiny85制作数字音乐盒,该设备可以播放以MIDI格式存储在内存卡中的音乐:

在这里插入图片描述

音符听起来像一个破破的音乐盒或大键琴,有四个通道,所以最多可以同时播放四个音符。我的示范音乐弹奏的是D小调的巴赫赋格曲;以下是播放的声音:midiplayer.mp3。

您可以轻松地对其进行编程,以便从Music Box Maniacs等网站播放您喜欢的任何MIDI音乐盒曲调,您可以将其用作电子贺卡、音乐求婚戒指盒、电子门铃的基础,或任何其他基于音乐的项目。

项目介绍

这个项目开始于我发现Music Box Maniacs,这是一个提供曲调的网站,你可以打印成纸条,用于各种机械音乐盒。这些曲调也可以作为MIDI文件下载,我认为编写一个程序将MIDI格式转换为我之前的Digital Music Box [Updated]项目所需的二进制数字格式会很有趣。使用MIDI文件格式的描述我写了一个转换器程序(在Lisp中),但后来意识到我可以不需要中间的转换步骤,而是制作一个可直接从微控制器的闪存中读取MIDI文件的音乐盒项目。这还有一个优点,即它将删除我原始程序的32音符范围限制,该限制将编码为32位数字中的位位置。

我的MIDI转换器处理MIDI格式的一个子集,适合在Music Box Maniacs网站上播放音乐盒曲调,我用它的几个曲调测试了它。但是,我不确定它将如何处理一般的MIDI文件。

电路

该电路与我之前的音乐盒相同,如果在解析MIDI代码时出现错误,则会添加一个错误指示灯以提供反馈。 LED闪烁的次数告诉您MIDI格式在何处发生错误。

PWM输出通过电解电容直接馈入8Ω扬声器,以去除DC。扬声器的电感滤除了波形的高频成分:

在这里插入图片描述

电源线上的10μF电容使ATtiny85能够应对音乐引起的电流尖峰。

更多内容请参考以下链接:https://www.yiboard.com/thread-1034-1-1.html

猜你喜欢

转载自blog.csdn.net/woshi_ziyu/article/details/86573155