İçindekiler:
- Gereçler
- Adım 1: USB Mini Ana Bilgisayar Kalkanını 5V Midi Aygıtını Sürmek için Hazırlama
- Adım 2: USB Mini Shield'i Arduino Nano'nuza Bağlayın
- Adım 3: Cips Herkes? 4MHz Osc ile SN76489 Ekleme. ve 595 Shift Register
- Adım 4: Sadece Kod Ekleme - Kitaplıkları Ekleme, Kodu Derleme ve Yükleme
- Adım 5: Bir Amplifikatör ve Hoparlör Bağlayın, USB Midi Klavyenizi Bağlayın ve Test Edin
- Adım 6: Devreyi 5V Voltaj Regülatörü, 12V Konnektör, Güç Açma/Kapama Anahtarı ve Güç LED'i ile Tamamlayın
- 7. Adım: Bir Kutuyu Kapatın, Boyayın ve Yeni Synth'inizin Keyfini Çıkarın
Video: Arduino Nano ile bir SN76489 USB MIDI Synth İnşa Edelim: 7 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:18
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
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
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
Ş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:
Haydi İnşa Edelim (Analog Synth): 5 Adım
Let's Build (Analogue Synth): Bu seride, hem analog hem de dijital bileşenleri kullanarak temel bir modüler analog sentezleyicinin nasıl oluşturulacağını göstereceğim.Şematik ve Bileşenler Bağlantısı: https://drive.google.com/open?id= 1mZX4LyiJwXZLJ3R56SDxloMnk8z07IYJ
Bir Farnsworth Füzyon Reaktörü Nasıl İnşa Edilir ve Nükleer Kültür Kanonunun Bir Parçası Nasıl Olunur: 10 Adım
Bir Farnsworth Füzyon Reaktörü Nasıl İnşa Edilir ve Nükleer Kültür Kanonunun Bir Parçası Nasıl Olunur: Bilgi gücü hiyerarşilerini merkezden uzaklaştırma ve bireyi güçlendirme umuduyla, aşağıdakileri kullanarak parçacıkları plazmaya iyonize edecek bir cihaz inşa etmek için gerekli adımlardan geçeceğiz. elektrik. Bu cihaz gösterecek
Thumbwheel Saat - Zamanı Tahmin Edelim: 5 Adım (Resimlerle)
Thumbwheel Clock - Hadi Zamanı Tahmin Edelim: Herkese merhaba, işte ilk Instructables'ım, umarım iyi olur. Ayrıca İngilizce seviyem oldukça düşük, bu yüzden umarım çok fazla hata yapmam! eski bir laboratuvardan kurtarılan e
Oyun Kartları ile Bir MP3 Çalar Kasası Tasarlayın ve İnşa Edin: 9 Adım
Oyun Kartları ile Bir MP3 Çalar Kasası Tasarlayın ve İnşa Edin: MP3 çalarım popüler olmadığı için, çok az şirket bunun için dava açtı ve seçimlerimden hoşlanmayarak kendim yapmaya karar verdim. Bazı kötü fikirlerden, bazı iyi fikirlerden, bir sürü başarısız ve yarım kalmış vakadan sonra sonunda bir tane yarattım
Ölü Bir Rc Uçağından Bir Rc Teknesi İnşa Edin: 8 Adım
Ölü Bir Rc Uçağından Bir Rc Teknesi İnşa Edin: Bu, eski bir boktan ve birçok uçuş rc uçağından harap olmuş bir rc uçağını buzlu suda ve sert ahşapta gidebilen yeni bir havalı rc teknesine nasıl dönüştüreceğinizi gösterecek harika bir talimatımdır. katlar beni yanlış anlamadı, zaman gerektiriyor ama hey