电子发烧友App

硬声App

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

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

3天内不再提示
电子发烧友网>电子资料下载>电子资料>用Arduino Nano构建一个SN76489 USB MIDI合成器

用Arduino Nano构建一个SN76489 USB MIDI合成器

2022-11-10 | zip | 0.15 MB | 次下载 | 免费

资料介绍

描述

教程参加了“乐器大赛”,如果您喜欢,请为它投票。

曾经想根据 80 年代的旧芯片曲调构建自己的合成器吗?播放简单的复调曲调,听起来就像这些旧的 Sega Master System 和 Megadrive 视频游戏听起来像?

我有,所以,我从 ebay 订购了一些 SN76489 芯片和一个 MIDI 主机接口并试了一下。好吧,对我来说,这不是在公园里散步,但是,我很享受每一刻。

首先,我学会了如何直接连接 SN76489 并用它制造一些噪音。这有一些令人困惑的元素,但是在 The Oddbloke Geek Blog 和其他一些示例的帮助下,连同芯片规范文档,我能够开发一个简单的 arduino 库。

接下来,我必须学习如何将 MIDI 键盘与 USB 迷你主机屏蔽连接。这并不难,因为有一些可用的文档,并且存在带有清晰示例的好的库。

一旦我了解了如何控制芯片以及如何连接我的 USB MIDI 键盘,剩下要做的就是编写一些代码,将所有这些封装在一起,并允许我使用键盘来控制芯片。

在此过程中,我了解到频率低于我尝试为 0x2f MIDI 音符生成的声音听起来不正确,因此,我决定使用它来允许为 0x28 和 0x2f 之间的任何 MIDI 音符发送噪音到噪音发生器并且还允许播放带有东方阿拉伯风格的音符,用于低于 midi 0x28 的任何内容。

回顾过去,构建起来非常有趣且非常有趣。

我希望你和我一样觉得它有趣有趣,如果你自己建造一个,你会很乐意分享一些照片。

如果您喜欢这个项目,请在下方为它投票,以帮助赢得它参与的比赛。

补给品:

1 x 性能板 | 

1 x arduino nano | 

1 x USB 迷你屏蔽 | 

1 x SN76489 声音芯片 | 

1 个移位寄存器 595 | 

1 x 4MHz 晶振 | 

1 x 5V 稳压器 7805 | 

1 x 稳压器散热器 | 

3 x 10uF 电容器 |

电线|

1 x 红色 LED 电源 |

1 x 220 ohm 电阻器,用于限制 LED 电流

1 x 12v 电源连接器

1 个开/关开关 | 

一个合适的盒子(我用一个在我的储藏室里放了多年的旧抽屉做了我的)

第 1 步:准备 USB Mini Host Shield 以驱动 5V Midi 设备

由于 USB mini host shield 工作在 3.3V,而我使用的 USB midi 键盘需要 5V,所以需要通过切断连接到 USB out Vcc 的 3.3V 线来调整 shield 的输出电压,所以,我们以后可以连接它至 5V。

有很多关于如何做到这一点的教程,结果很简单:

只需切断 2k2 电阻和 Vcc 线之间的线(见附图)。我用螺丝刀刮了这条线,并测试了它是否与连续性计一起使用。

第 2 步:将 USB Mini Shield 与您的 Arduino Nano 连接

幸运的是,有很多关于如何做到这一点的信息,所以,通过谷歌搜索“Arduino Nano 和 mini USB 主机屏蔽”,我登陆了这个线程https://forum.arduino.cc/index.php?topic=603476.0

它描述了如何连接 USB mini v2.0 扩展板,在遵循它之后,我直接测试了一些 USB MIDI 示例。

接线:

Arduino主机盾

10--------------5

11--------------6

12--------------7

13--------------8

2----------------2

5V--------------1

3.3V------------9

接地-----------3

RST------------4

在这个线程中,还提到他们切断了 3.3V 引线,以便 USB 可以从 VBUS 获得 5V。

此描述和随附的图像来自此线程。

顺便说一句,这个板上的印刷品有一个错误,所以这有点令人困惑,但是,你可以看到我对此的反馈 (tyrkelko) 以及我从哪里学到的。

第 3 步:筹码有人吗?添加具有 4MHz 振荡器的 SN76489。和 595 移位寄存器

现在是时候添加产生这种惊人声音的芯片了。

我已经开发了一个库来将 arduino 与这个芯片连接起来,并且只需要按照我的说明进行操作。

该库在 GPLv3(我的第一个开源版本)下在 github 上发布。

https://github.com/tyrkelko/sn76489

76489 和 595 的连接如从库 readme.txt 文件中捕获的随附图像中所示

76489 的低电平写入启用 (NotWE) 与 nano 的引脚 3 连接,可以在代码中更改。

#define PIN_NotWE 3

595 与 nano 的连接方式如下,也可以通过编辑引脚号进行调整:

#define PIN_SER 7

#define PIN_LATCH 6

#define PIN_CLK 5

我使用的振荡器是一个有 4 条腿的 4MHz 晶体振荡器。

它在代码中配置如下,您可以将其值调整为 500kHz 和 4MHz 之间的任何振荡器频率:

#define 频率 4000000.0

连接我使用的振荡器如下:

引脚 1 - 未连接

引脚 7 - 接地

引脚 8 - 连接到 76489 引脚 14 - 时钟 osc

第 4 步:只需添加代码 - 添加库、编译和上传代码

本项目中用到的库需要添加到 Arduino IDE 中,如下:

打开 Arduino IDE

将以下库下载到 IDE 的库文件夹中(希望很快能在 IDE“工具”菜单的“管理库...”菜单下看到这些):

https://github.com/felis/USB_Host_Shield_2.0

https://github.com/tyrkelko/sn76489

使用以下 github 项目中的代码:

https://github.com/tyrkelko/usb_midi_tone

下载 usb_midi_tone.ino,编译并上传到您的 Arduino nano。

第 5 步:连接放大器和扬声器,连接 USB Midi 键盘并进行测试

现在是时候测试一切是否正常了。

为此,我们需要:

1.放大器和扬声器

2. USB MIDI 键盘

将 SN76489 引脚 7(音频输出)连接到放大器音频输入。

给放大器加电,然后给 arduino nano 加电。您现在应该能听到一秒钟的开机测试声音。

连接 USB MIDI 键盘并测试。

如果一切正常,您应该可以同时播放 3 种音调,还可以播放 8 种噪音,甚至是 24 EDO-Scale 的四分之一音。

如果它不起作用,请检查步骤以查看可能出了什么问题。

如果您觉得这是由于说明不明确造成的,请给我留言,以便我更新说明以修复它。

第 6 步:使用 5V 稳压器、12V 连接器、电源开/关开关和电源 LED 完成电路

在这一步中,您应该能够在测试电路工作正常后将其包装起来。

1.添加一个LM7805和两个10uF电容和0.1uF的电源调节器。有很多关于这方面的教程,

2. 添加一个 12V 电源连接器,Vcc 通过开/关开关连接

3. 增加一个带限流电阻的LED,用于指示何时上电。

第 7 步:装在盒子里,上色并享受您的新合成器

一旦电路经过测试并按照您的喜好工作,除了建造一个漂亮的外壳,用令人敬畏的颜色涂上它并播放一些音乐之外,没有什么可做的了。

我希望您喜欢阅读本教程,并且它启发了您构建自己的合成器或开始您正在从事的另一个项目。

如有任何问题,请在下面发表评论,如果您根据本教程构建了类似的东西,如果您能在“我做了这个!”中分享您所做的,那就太好了。区域或反馈部分。

本教程参加了“乐器大赛”,如果您喜欢,请为它投票。


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

评论

查看更多

下载排行

本周

  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次下载  |  免费