İçindekiler:

Arduino Nano ile bir SN76489 USB MIDI Synth İnşa Edelim: 7 Adım
Arduino Nano ile bir SN76489 USB MIDI Synth İnşa Edelim: 7 Adım

Video: Arduino Nano ile bir SN76489 USB MIDI Synth İnşa Edelim: 7 Adım

Video: Arduino Nano ile bir SN76489 USB MIDI Synth İnşa Edelim: 7 Adım
Video: Arduino Projeleri - Arduino Nano İle Kendi Wattmetremizi Yapıyoruz - Wattmetre Nasıl Yapılır? 2024, Temmuz
Anonim
Image
Image
Arduino Nano ile bir SN76489 USB MIDI Synth İnşa Edelim
Arduino Nano ile bir SN76489 USB MIDI Synth İnşa Edelim
Arduino Nano ile bir SN76489 USB MIDI Synth İnşa Edelim
Arduino Nano ile bir SN76489 USB MIDI Synth İnşa Edelim

Hiç 80'lerden eski chip-tunes temelli kendi sentezleyicinizi kurmak istediniz mi? Kulağa tıpkı bu eski Sega Master System ve Megadrive video oyunları gibi gelen basit polifonik melodiler çalın.

Ebay'den birkaç SN76489 yongası ve bir midi ana bilgisayar arabirimi sipariş ettim ve bir şans verdim. Benim için parkta yürüyüş değildi ama her anından keyif aldım.

İlk önce SN76489 ile doğrudan arayüz oluşturmayı ve onunla biraz gürültü yapmayı öğrendim. Bununla ilgili bazı kafa karıştırıcı unsurlar vardı, ancak The Oddbloke Geek Blog'un ve birkaç diğer örneğin yardımıyla, çip spesifikasyon belgesiyle birlikte basit bir arduino kitaplığı geliştirebildim.

Daha sonra, bir midi klavyeyi bir USB mini ana bilgisayar kalkanıyla nasıl arayüzleyeceğimi öğrenmek zorunda kaldım. Bazı belgeler mevcut olduğundan ve açık örneklerle iyi kitaplıklar bulunduğundan bu o kadar zor değildi.

Çipi nasıl kontrol edeceğimi ve USB midi klavyemi nasıl arayacağımı anladıktan sonra, geriye kalan tek şey, tüm bunları bir araya getirecek ve çipi kontrol etmek için klavyeyi kullanmama izin verecek bir kod yazmaktı.

Yol boyunca, 0x2f midi notaları için üretmeye çalıştığımdan daha düşük frekanslı seslerin kulağa doğru gelmediğini öğrendim, bu yüzden 0x28 ve 0x2f arasındaki herhangi bir midi nota için gürültü üretecine gürültü gönderilmesine izin vermek için bunu kullanmaya karar verdim. ve ayrıca midi 0x28'den daha düşük herhangi bir şey için oryantal bir Arap dokunuşuyla nota çalmaya izin verin.

Geriye dönüp baktığımızda, inşa etmek çok eğlenceli ve çok ilginçti.

Umarım siz de benim kadar eğlenceli ve ilginç bulursunuz ve eğer kendiniz bir tane yaparsanız, bazı resimlerini paylaşma nezaketini gösterirsiniz.

Bu projeyi beğendiyseniz, katıldığı yarışmayı kazanmanıza yardımcı olmak için lütfen aşağıdan oy verin

Gereçler

Bu proje için satın alabileceğiniz materyallere bağlantılar ekledim, ancak eski elektroniklerden kazıyabileceğiniz birçok mevcut ürün bulabilirsiniz.

Bu bağlantılar bağlı kuruluş bağlantılarıdır, bu nedenle, tıkladıktan sonra satın alırsanız, küçük bir pay (servet değil) alırım ve bu projeye uygun bir ürün alırsınız. Bunları kullanmak için herhangi bir ücret veya ekstra maliyet yoktur, ancak bunların yerini alabilecek benzer öğeleri kolayca bulabilirsiniz.

ebay.us/svA4z4 | 1 x performans kartı

ebay.us/ZyEFNp | 1 x arduino nano

ebay.us/t1zy0v | 1 x USB mini kalkan

ebay.to/2QrHl1C | 1 x SN76489 ses yongası

ebay.us/aaaj8p | 1 x vardiya kaydı 595

ebay.us/DSvTHO | 1 x 4MHz kristal osilatör

ebay.us/XQeM0Q | 1 x 5V voltaj regülatörü 7805

ebay.us/6R6Fpf |Voltaj regülatörü için 1 x ısı emici

ebay.us/xkLbn4 | 3 x 10uF kapasitör

ebay.us/pnm2BH | teller

ebay.us/PMbUfY | Güç için 1 x kırmızı LED

ebay.us/zokHtc | LED akım akışını sınırlamak için 1 x 220 ohm direnç

ebay.us/qjbesJ | 12v güç kaynağı için 1 x güç konektörü

ebay.us/cS0wwv |1 x açma/kapama anahtarı

uygun bir kutu (benimkini yıllardır depomda duran eski bir çekmeceden yaptım)

Adım 1: USB Mini Ana Bilgisayar Kalkanını 5V Midi Aygıtını Sürmek için Hazırlama

5V Midi Aygıtını Sürmek için USB Mini Ana Bilgisayar Kalkanını Hazırlama
5V Midi Aygıtını Sürmek için USB Mini Ana Bilgisayar Kalkanını Hazırlama

USB mini host shield 3.3V ile çalıştığından ve benim kullandığım USB midi klavyeler 5V gerektirdiğinden, USB out Vcc'ye giden 3.3V hattını keserek shield'ın çıkış voltajını ayarlamak gerekiyor yani daha sonra bağlayabiliriz 5V'a kadar.

Bunun nasıl yapılacağına dair birçok öğretici var ve oldukça basit olduğu ortaya çıktı:

Sadece 2k2 direnci ile Vcc hattı arasındaki çizgiyi kesin (ekteki resme bakın). Bu çizgiyi çizmek için bir tornavida kullandım ve bir süreklilik ölçer ile çalışıp çalışmadığını test ettim.

Adım 2: USB Mini Shield'i Arduino Nano'nuza Bağlayın

USB Mini Shield'i Arduino Nano'nuza Bağlayın
USB Mini Shield'i Arduino Nano'nuza Bağlayın
USB Mini Shield'i Arduino Nano'nuza Bağlayın
USB Mini Shield'i Arduino Nano'nuza Bağlayın

Neyse ki, bunun nasıl yapılacağı hakkında çok fazla bilgi var, bu yüzden "Arduino Nano ve mini USB ana bilgisayar kalkanı" için arama yaparak bu konuya girdim

USB mini v2.0 kalkanının nasıl bağlanacağını anlattı ve onu takip ettikten sonra bazı USB midi örneklerini test etmek için dümdüz ilerledim.

kablolama:

Arduino Ana Bilgisayar kalkanı

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

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

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

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

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

5V--------------

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

GND------------3

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

Bu başlıkta USB'nin VBUS'tan 5V alabilmesi için 3.3V kablosunu kestiklerinden de bahsetmiştik.

Bu açıklama ve ekteki resimler bu konudan geldi.

BTW, bu panodaki baskıda bir hata var, bu yüzden bu biraz kafa karıştırıcı oldu, ancak bununla ilgili geri bildirimimi (tyrkelko) ve nereden öğrendiğimi görebilirsiniz.

Adım 3: Cips Herkes? 4MHz Osc ile SN76489 Ekleme. ve 595 Shift Register

Cips Herkes? 4MHz Osc ile SN76489 Ekleme. ve 595 Shift Register
Cips Herkes? 4MHz Osc ile SN76489 Ekleme. ve 595 Shift Register

Şimdi sıra bu muhteşem sesi çıkaran çipi eklemeye gelmişti.

Arduino'yu bu çip ile arayüzlemek için zaten bir kütüphane geliştirdim ve sadece talimatlarımı takip etmek zorunda kaldım.

Kitaplık, github'da GPLv3 altında yayınlandı (ilk açık kaynak sürümüm).

github.com/tyrkelko/sn76489

76489 ve 595'in bağlantısı, readme.txt dosyasından alınan ekteki resimdeki gibiydi.

76489'un Düşükte Yazma Etkinliği (NotWE), nano'nun pin 3'üne bağlandı ve kodda değiştirilebilir.

#define PIN_NotWE 3

595 nano'ya şu şekilde bağlandı ve pin numaralarını düzenleyerek de ayarlanabilir:

#define PIN_SER 7

#define PIN_LATCH 6

#define PIN_CLK 5

Kullandığım osilatör, 4 ayaklı 4MHz kristal osilatördü.

Kodda aşağıdaki gibi yapılandırılmıştır ve değerini 500kHz ile 4MHz arasındaki herhangi bir osilatör frekansına ayarlayabilirsiniz:

#define FREKANS 4000000.0

Kullandığım osilatörün bağlanması şu şekildeydi:

pin 1 - bağlı değil

pim 7 - toprak

pin 8 - 76489 pin 14'e bağlı - saat osc'si

Adım 4: Sadece Kod Ekleme - Kitaplıkları Ekleme, Kodu Derleme ve Yükleme

Bu projede kullanılan kütüphanelerin Arduino IDE'ye aşağıdaki gibi eklenmesi gerekmektedir:

Arduino IDE'yi açın

Aşağıdaki kitaplıkları IDE'nizin kitaplık klasörüne indirin (bunları yakında IDE "Araçlar" menüsündeki "Kütüphaneleri Yönet…" menüsü altında görmeyi umuyoruz):

github.com/felis/USB_Host_Shield_2.0

github.com/tyrkelko/sn76489

Aşağıdaki github projesindeki kodu kullanın:

github.com/tyrkelko/usb_midi_tone

usb_midi_tone.ino dosyasını indirin, derleyin ve Arduino nano'nuza yükleyin.

Adım 5: Bir Amplifikatör ve Hoparlör Bağlayın, USB Midi Klavyenizi Bağlayın ve Test Edin

Şimdi her şeyin çalıştığını test etme zamanı.

Bunu yapmak için ihtiyacımız var:

1. Bir amplifikatör ve hoparlör

2. Bir USB midi klavye

SN76489 pin 7, ses çıkışını amplifikatör ses girişine bağlayın.

Amplifikatörü açın ve ardından arduino nano'yu çalıştırın. Şimdi bir saniyelik bir süre için açılış testi sesini duymalısınız.

USB midi klavyeyi bağlayın ve test edin.

Her şey doğru çalışıyorsa, aynı anda 3 ton çalabilmeli ve ayrıca 8 tür gürültü ve hatta 24 EDO-Scale'in çeyrek tonunu çalabilmelisiniz.

İşe yaramazsa, neyin yanlış gitmiş olabileceğini görmek için adımları gözden geçirin.

Bunun belirsiz talimatlardan kaynaklandığını düşünüyorsanız, lütfen bana bir not bırakın, böylece düzeltmek için talimatları güncellerim.

Adım 6: Devreyi 5V Voltaj Regülatörü, 12V Konnektör, Güç Açma/Kapama Anahtarı ve Güç LED'i ile Tamamlayın

Bu adımda, doğru çalıştığını test ettikten sonra devreyi tamamlayabilmelisiniz.

1. LM7805 ve iki adet 10uF kapasitör ve 0.1uF ile bir güç regülatörü ekleyin. Bununla ilgili çok sayıda öğretici var, bunu başarmak için aşağıdaki talimatı kullanabilirsiniz -

2. Vcc'nin bir açma/kapama anahtarı aracılığıyla gittiği bir 12V güç konektörü ekleyin

3. Gücün açık olduğunu belirtmek için sınırlayıcı akım direncine sahip bir LED ekleyin.

7. Adım: Bir Kutuyu Kapatın, Boyayın ve Yeni Synth'inizin Keyfini Çıkarın

Devre test edildiğinde ve beğeninize göre çalıştığında, güzel bir muhafaza oluşturmak, harika renklerle boyamak ve biraz müzik çalmak dışında yapacak pek bir şey kalmaz.

Umarım bu talimatı okumaktan zevk almışsınızdır ve kendi sentezlerinizi oluşturmanız veya üzerinde çalıştığınız başka bir projeye başlamanız için size ilham vermiştir.

Lütfen sorularınız için aşağıya yorum yapın ve bu öğreticiye dayalı benzer bir şey inşa ettiyseniz, "Bunu ben yaptım!" bölümünde yaptıklarınızı paylaşırsanız harika olur. alanında veya geri bildirim bölümünde.

Önerilen: