電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>用Arduino Nano構(gòu)建一個(gè)SN76489 USB MIDI合成器

用Arduino Nano構(gòu)建一個(gè)SN76489 USB MIDI合成器

2022-11-10 | zip | 0.15 MB | 次下載 | 免費(fèi)

資料介紹

描述

教程參加了“樂器大賽”,如果您喜歡,請(qǐng)為它投票。

曾經(jīng)想根據(jù) 80 年代的舊芯片曲調(diào)構(gòu)建自己的合成器嗎?播放簡單的復(fù)調(diào)曲調(diào),聽起來就像這些舊的 Sega Master System 和 Megadrive 視頻游戲聽起來像?

我有,所以,我從 ebay 訂購了一些 SN76489 芯片和一個(gè) MIDI 主機(jī)接口并試了一下。好吧,對(duì)我來說,這不是在公園里散步,但是,我很享受每一刻。

首先,我學(xué)會(huì)了如何直接連接 SN76489 并用它制造一些噪音。這有一些令人困惑的元素,但是在 The Oddbloke Geek Blog 和其他一些示例的幫助下,連同芯片規(guī)范文檔,我能夠開發(fā)一個(gè)簡單的 arduino 庫。

接下來,我必須學(xué)習(xí)如何將 MIDI 鍵盤與 USB 迷你主機(jī)屏蔽連接。這并不難,因?yàn)橛幸恍┛捎玫奈臋n,并且存在帶有清晰示例的好的庫。

一旦我了解了如何控制芯片以及如何連接我的 USB MIDI 鍵盤,剩下要做的就是編寫一些代碼,將所有這些封裝在一起,并允許我使用鍵盤來控制芯片。

在此過程中,我了解到頻率低于我嘗試為 0x2f MIDI 音符生成的聲音聽起來不正確,因此,我決定使用它來允許為 0x28 和 0x2f 之間的任何 MIDI 音符發(fā)送噪音到噪音發(fā)生器并且還允許播放帶有東方阿拉伯風(fēng)格的音符,用于低于 midi 0x28 的任何內(nèi)容。

回顧過去,構(gòu)建起來非常有趣且非常有趣。

我希望你和我一樣覺得它有趣有趣,如果你自己建造一個(gè),你會(huì)很樂意分享一些照片。

如果您喜歡這個(gè)項(xiàng)目,請(qǐng)?jiān)谙路綖樗镀?,以幫助贏得它參與的比賽。

補(bǔ)給品:

1 x 性能板 |?

1 x arduino nano |?

1 x USB 迷你屏蔽 |?

1 x SN76489 聲音芯片 |?

1 個(gè)移位寄存器 595 |?

1 x 4MHz 晶振 |?

1 x 5V 穩(wěn)壓器 7805 |?

1 x 穩(wěn)壓器散熱器 |?

3 x 10uF 電容器 |

電線|

1 x 紅色 LED 電源 |

1 x 220 ohm 電阻器,用于限制 LED 電流 |?

1 x 12v 電源連接器 |?

1 個(gè)開/關(guān)開關(guān) |?

一個(gè)合適的盒子(我用一個(gè)在我的儲(chǔ)藏室里放了多年的舊抽屜做了我的)

第 1 步:準(zhǔn)備 USB Mini Host Shield 以驅(qū)動(dòng) 5V Midi 設(shè)備

由于 USB mini host shield 工作在 3.3V,而我使用的 USB midi 鍵盤需要 5V,所以需要通過切斷連接到 USB out Vcc 的 3.3V 線來調(diào)整 shield 的輸出電壓,所以,我們以后可以連接它至 5V。

有很多關(guān)于如何做到這一點(diǎn)的教程,結(jié)果很簡單:

只需切斷 2k2 電阻和 Vcc 線之間的線(見附圖)。我用螺絲刀刮了這條線,并測試了它是否與連續(xù)性計(jì)一起使用。

第 2 步:將 USB Mini Shield 與您的 Arduino Nano 連接

幸運(yùn)的是,有很多關(guān)于如何做到這一點(diǎn)的信息,所以,通過谷歌搜索“Arduino Nano 和 mini USB 主機(jī)屏蔽”,我登陸了這個(gè)線程https://forum.arduino.cc/index.php?topic=603476.0

它描述了如何連接 USB mini v2.0 擴(kuò)展板,在遵循它之后,我直接測試了一些 USB MIDI 示例。

接線:

Arduino主機(jī)盾

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

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

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

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

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

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

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

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

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

在這個(gè)線程中,還提到他們切斷了 3.3V 引線,以便 USB 可以從 VBUS 獲得 5V。

此描述和隨附的圖像來自此線程。

順便說一句,這個(gè)板上的印刷品有一個(gè)錯(cuò)誤,所以這有點(diǎn)令人困惑,但是,你可以看到我對(duì)此的反饋 (tyrkelko) 以及我從哪里學(xué)到的。

第 3 步:籌碼有人嗎?添加具有 4MHz 振蕩器的 SN76489。和 595 移位寄存器

現(xiàn)在是時(shí)候添加產(chǎn)生這種驚人聲音的芯片了。

我已經(jīng)開發(fā)了一個(gè)庫來將 arduino 與這個(gè)芯片連接起來,并且只需要按照我的說明進(jìn)行操作。

該庫在 GPLv3(我的第一個(gè)開源版本)下在 github 上發(fā)布。

https://github.com/tyrkelko/sn76489

76489 和 595 的連接如從庫 readme.txt 文件中捕獲的隨附圖像中所示

76489 的低電平寫入啟用 (NotWE) 與 nano 的引腳 3 連接,可以在代碼中更改。

#define PIN_NotWE 3

595 與 nano 的連接方式如下,也可以通過編輯引腳號(hào)進(jìn)行調(diào)整:

#define PIN_SER 7

#define PIN_LATCH 6

#define PIN_CLK 5

我使用的振蕩器是一個(gè)有 4 條腿的 4MHz 晶體振蕩器。

它在代碼中配置如下,您可以將其值調(diào)整為 500kHz 和 4MHz 之間的任何振蕩器頻率:

#define 頻率 4000000.0

連接我使用的振蕩器如下:

引腳 1 - 未連接

引腳 7 - 接地

引腳 8 - 連接到 76489 引腳 14 - 時(shí)鐘 osc

第 4 步:只需添加代碼 - 添加庫、編譯和上傳代碼

本項(xiàng)目中用到的庫需要添加到 Arduino IDE 中,如下:

打開 Arduino IDE

將以下庫下載到 IDE 的庫文件夾中(希望很快能在 IDE“工具”菜單的“管理庫...”菜單下看到這些):

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

https://github.com/tyrkelko/sn76489

使用以下 github 項(xiàng)目中的代碼:

https://github.com/tyrkelko/usb_midi_tone

下載 usb_midi_tone.ino,編譯并上傳到您的 Arduino nano。

第 5 步:連接放大器和揚(yáng)聲器,連接 USB Midi 鍵盤并進(jìn)行測試

現(xiàn)在是時(shí)候測試一切是否正常了。

為此,我們需要:

1.放大器和揚(yáng)聲器

2. USB MIDI 鍵盤

將 SN76489 引腳 7(音頻輸出)連接到放大器音頻輸入。

給放大器加電,然后給 arduino nano 加電。您現(xiàn)在應(yīng)該能聽到一秒鐘的開機(jī)測試聲音。

連接 USB MIDI 鍵盤并測試。

如果一切正常,您應(yīng)該可以同時(shí)播放 3 種音調(diào),還可以播放 8 種噪音,甚至是 24 EDO-Scale 的四分之一音。

如果它不起作用,請(qǐng)檢查步驟以查看可能出了什么問題。

如果您覺得這是由于說明不明確造成的,請(qǐng)給我留言,以便我更新說明以修復(fù)它。

第 6 步:使用 5V 穩(wěn)壓器、12V 連接器、電源開/關(guān)開關(guān)和電源 LED 完成電路

在這一步中,您應(yīng)該能夠在測試電路工作正常后將其包裝起來。

1.添加一個(gè)LM7805和兩個(gè)10uF電容和0.1uF的電源調(diào)節(jié)器。有很多關(guān)于這方面的教程,

2. 添加一個(gè) 12V 電源連接器,Vcc 通過開/關(guān)開關(guān)連接

3. 增加一個(gè)帶限流電阻的LED,用于指示何時(shí)上電。

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

一旦電路經(jīng)過測試并按照您的喜好工作,除了建造一個(gè)漂亮的外殼,用令人敬畏的顏色涂上它并播放一些音樂之外,沒有什么可做的了。

我希望您喜歡閱讀本教程,并且它啟發(fā)了您構(gòu)建自己的合成器或開始您正在從事的另一個(gè)項(xiàng)目。

如有任何問題,請(qǐng)?jiān)谙旅姘l(fā)表評(píng)論,如果您根據(jù)本教程構(gòu)建了類似的東西,如果您能在“我做了這個(gè)!”中分享您所做的,那就太好了。區(qū)域或反饋部分。

本教程參加了“樂器大賽”,如果您喜歡,請(qǐng)為它投票。


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)