Mündəricat:

Arduino Nano ilə SN76489 USB MIDI Synth quraq: 7 addım
Arduino Nano ilə SN76489 USB MIDI Synth quraq: 7 addım

Video: Arduino Nano ilə SN76489 USB MIDI Synth quraq: 7 addım

Video: Arduino Nano ilə SN76489 USB MIDI Synth quraq: 7 addım
Video: Arduino Nano с ЖК-дисплеем, отслеживающим обороты трехпроводного вентилятора 2024, Noyabr
Anonim
Image
Image
Arduino Nano ilə SN76489 USB MIDI Synth quraq
Arduino Nano ilə SN76489 USB MIDI Synth quraq
Arduino Nano ilə SN76489 USB MIDI Synth quraq
Arduino Nano ilə SN76489 USB MIDI Synth quraq

Heç 80-ci illərin köhnə çip melodiyalarına əsaslanaraq öz sintezatorunuzu qurmaq istəyirdinizmi? Sadəcə bu köhnə Sega Master System və Megadrive video oyunları kimi səslənən sadə polifonik melodiyalar çalın?

Ebaydan və bir midi host interfeysindən bir neçə SN76489 çipi sifariş etdim və buna icazə verdim. Mənim üçün parkda gəzmək deyildi, amma hər andan zövq alırdım.

Əvvəlcə SN76489 ilə birbaşa əlaqə qurmağı və onunla səs -küy salmağı öyrəndim. Bunun bəzi qarışıq elementləri var idi, amma The Oddbloke Geek Blog və bir neçə digər nümunənin köməyi ilə çip spesifikasiyası sənədi ilə birlikdə sadə bir arduino kitabxanası hazırlaya bildim.

Daha sonra, USB mini host qalxanı ilə bir midi klaviatura ilə necə əlaqə qurmağı öyrənməliydim. Bəzi sənədlər mövcud olduğundan və yaxşı nümunələr olan yaxşı kitabxanalar olduğu üçün bu o qədər də çətin deyildi.

Çipi necə idarə edəcəyimi və USB midi klaviaturamı necə idarə edəcəyimi başa düşdükdən sonra, bütün bunları bir araya gətirəcək və çipi idarə etmək üçün klaviaturadan istifadə etməyimə icazə verəcək bir kod yazmaq qalır.

Yolda, 0x2f midi notlar üçün yaratmağa çalışdığım səslərdən daha aşağı səslərin doğru səslənmədiyini öyrəndim, buna görə də 0x28 ilə 0x2f arasında olan hər hansı bir midi nota üçün səs -küy generatoruna səs göndərmək üçün istifadə etmək qərarına gəldim. və midi 0x28 -dən aşağı bir şey üçün oriyental bir ərəb toxunuşu ilə qeydlər çalmağa icazə verin.

Geriyə baxanda, qurmaq çox əyləncəli və çox maraqlı idi.

Ümid edirəm ki, bunu mənim kimi əyləncəli və maraqlı tapacaqsınız və özünüz də bir şəkil çəksəniz, bəzi şəkillərini paylaşacaq qədər mehriban olarsınız.

Bu layihəni bəyənmisinizsə, iştirak etdiyi yarışmada qalib gəlməyinizə kömək etmək üçün aşağıda səs verin

Təchizat

Bu layihə üçün satın ala biləcəyiniz materiallara bağlantılar əlavə etdim, ancaq köhnə elektronikadan silə biləcəyiniz bir çox əşyalar tapa bilərsiniz.

Bu bağlantılar ortaq bağlantılardır, buna görə də onları tıkladıqdan sonra satın alsanız, kiçik bir hissə (sərvət deyil) alıram və bu layihə üçün uyğun bir məhsul alırsınız. Bunları istifadə etmək üçün heç bir ödəniş və ya əlavə xərc yoxdur, lakin bunları olduqca asanlıqla əvəz edə biləcək oxşar əşyalar tapa bilərsiniz.

ebay.us/svA4z4 | 1 x performans lövhəsi

ebay.us/ZyEFNp | 1 x arduino nano

ebay.us/t1zy0v | 1 x USB mini ekran

ebay.to/2QrHl1C | 1 x SN76489 səs çipi

ebay.us/aaaj8p | 1 x növbəli qeyd 595

ebay.us/DSvTHO | 1 x 4MHz kristal osilator

ebay.us/XQeM0Q | 1 x 5V gərginlik tənzimləyicisi 7805

ebay.us/6R6Fpf | Gərginlik tənzimləyicisi üçün 1 x soyuducu

ebay.us/xkLbn4 | 3 x 10 uF kondansatörler

ebay.us/pnm2BH | tellər

ebay.us/PMbUfY | Güc üçün 1 x qırmızı LED

ebay.us/zokHtc | LED cərəyanını məhdudlaşdırmaq üçün 1 x 220 ohm rezistor

ebay.us/qjbesJ | 12V enerji təchizatı üçün 1 x güc konnektoru

ebay.us/cS0wwv | 1 x açma/söndürmə açarı

uyğun bir qutu (illərlə mənim anbarımda dincələn köhnə bir çekmecədən mina tikdim)

Addım 1: 5V Midi Cihazı Sürmək üçün USB Mini Host Qalxanının Hazırlanması

5V Midi Cihazı Sürmək üçün USB Mini Host Shield hazırlanır
5V Midi Cihazı Sürmək üçün USB Mini Host Shield hazırlanır

USB mini host qalxanı 3.3V -də işlədiyinə və istifadə etdiyim USB midi klaviaturalara 5V tələb olunduğundan, USB çıxışı Vcc -ə gedən 3.3V xəttini kəsərək qalxanın çıxış gərginliyini tənzimləmək tələb olunur, buna görə də daha sonra bağlaya bilərik. 5V -ə qədər.

Bunun necə ediləcəyinə dair çoxlu dərslər var və olduqca sadə olduğu ortaya çıxdı:

Yalnız 2k2 rezistorla Vcc xətti arasındakı xətti kəsin (əlavə olunmuş şəklə baxın). Bu xətti cızmaq üçün bir tornavida istifadə etdim və davamlılıq sayğacı ilə işlədiyini sınadım.

Addım 2: USB Mini Qalxanı Arduino Nano ilə bağlayın

USB Mini Qalxanı Arduino Nano ilə bağlayın
USB Mini Qalxanı Arduino Nano ilə bağlayın
USB Mini Qalxanı Arduino Nano ilə bağlayın
USB Mini Qalxanı Arduino Nano ilə bağlayın

Xoşbəxtlikdən, bunun necə ediləcəyi ilə bağlı çoxlu məlumatlar var, buna görə də "Arduino Nano və mini USB host qalxanı" üçün googling edərək bu mövzuya daxil oldum

USB mini v2.0 qalxanının necə bağlanacağını izah etdi və onu izlədikdən sonra birbaşa USB midi nümunələrini sınamaq üçün irəli getdim.

Kablolama:

Arduino Host qalxanı

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

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

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

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

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

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

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

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

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

Bu mövzuda, USB -nin VBUS -dan 5V ala bilməsi üçün 3.3V gərginliyi kəsdikləri də qeyd edildi.

Bu təsvir və qapalı şəkillər bu mövzudan gəldi.

BTW, bu lövhədə çapda bir səhv var, buna görə də bu bir az qarışıq idi, ancaq bu barədə (tyrkelko) və onu haradan öyrəndiyimi görə bilərsiniz.

Addım 3: Hər kəsin cipsi varmı? 4MHz Osc ilə SN76489 əlavə olunur. və 595 Shift Qeydiyyatı

Cips kimdir? 4MHz Osc ilə SN76489 əlavə olunur. və 595 Shift Qeydiyyatı
Cips kimdir? 4MHz Osc ilə SN76489 əlavə olunur. və 595 Shift Qeydiyyatı

İndi bu heyrətamiz səsi verən çipi əlavə etməyin vaxtı gəldi.

Artıq bu çiplə arduino interfeysi üçün bir kitabxana hazırladım və yalnız təlimatlarımı yerinə yetirməli oldum.

Kitabxana GPLv3 (ilk açıq mənbə versiyası) altında github -da buraxılır.

github.com/tyrkelko/sn76489

76489 və 595 -in əlaqəsi kitabxananın readme.txt faylından tutulan əlavə şəkildəki kimi idi.

76489 -un Düşük Yazma İmkanı (NotWE) nanonun 3 -cü pininə bağlı idi və kodda dəyişdirilə bilər.

#PIN_NotWE təyin edin 3

595 nano -ya aşağıdakı kimi qoşuldu və pin nömrələrini düzəltməklə də tənzimlənə bilər:

#PIN_SER 7 təyin edin

#PIN_LATCH təyin edin 6

#PIN_CLK təyin edin 5

İstifadə etdiyim osilator 4 ayaqlı 4MHz kristal osilator idi.

Kodda aşağıdakı kimi konfiqurasiya edilmişdir və dəyərini 500kHz və 4MHz arasındakı hər hansı bir osilatör tezliyinə uyğunlaşdıra bilərsiniz:

#FREQUENCY 4000000.0 təyin edin

İstifadə etdiyim osilatoru bağlamaq belə oldu:

pin 1 - bağlı deyil

pin 7 - torpaq

pin 8 - 76489 pin 14 -ə bağlı saat osc

Addım 4: Sadəcə Kod əlavə edin - Kitabxanaların əlavə edilməsi, Kodun tərtib edilməsi və yüklənməsi

Bu layihədə istifadə olunan kitabxanaların Arduino IDE -yə aşağıdakı kimi əlavə edilməsi lazımdır:

Arduino IDE -ni açın

Aşağıdakı kitabxanaları IDE -nin kitabxana qovluğuna yükləyin (tezliklə bunları IDE "Alətlər" menyusunda "Kitabxanaları İdarə et …" menyusunda görmək ümidi ilə):

github.com/felis/USB_Host_Shield_2.0

github.com/tyrkelko/sn76489

Aşağıdakı github layihəsindən kodu istifadə edin:

github.com/tyrkelko/usb_midi_tone

Usb_midi_tone.ino yükləyin, tərtib edin və Arduino nano -ya yükləyin.

Addım 5: Gücləndirici və Dinamik qoşun, USB Midi Klaviaturanızı bağlayın və Test edin

İndi hər şeyin işlədiyini sınamağın vaxtı gəldi.

Bunu etmək üçün bizə lazımdır:

1. Gücləndirici və dinamik

2. USB midi klaviatura

SN76489 pin 7, səs çıxışı, gücləndiricinin səs girişinə qoşun.

Gücləndiricini yandırın və sonra arduino nanonu işə salın. İndi bir saniyə ərzində güc testinin səsini eşitməlisiniz.

USB midi klaviaturasını qoşun və sınayın.

Hər şey düzgün işləyirsə, eyni anda 3 ton çalmağı bacarmalısınız, eyni zamanda 8 növ səs-küy və hətta 24 EDO Ölçeğinin dörddə bir tonunu çalmalısınız.

İşə yaramırsa, nəyin səhv ola biləcəyini görmək üçün addımları keçin.

Bunun aydın olmayan təlimatlardan qaynaqlandığını hiss edirsinizsə, lütfən mənə bir qeyd buraxın ki, düzəltmək üçün təlimatları yeniləyim.

Addım 6: 5V gərginlik tənzimləyicisi, 12V konnektoru, açma/söndürmə açarı və güc LED ilə dövrə tamamlayın

Bu addımda, düzgün işlədiyini yoxladıqdan sonra dövrəni bağlaya bilməlisiniz.

1. LM7805 və iki 10uF kondansatörlü və 0.1uF güc tənzimləyicisi əlavə edin. Bununla əlaqədar çoxlu dərslər var, bunları həyata keçirmək üçün aşağıdakı təlimatlardan istifadə edə bilərsiniz-https://www.instructables.com/id/7805-Regulator-5V…

2. Açma/söndürmə açarından keçən Vcc ilə 12V güc konnektoru əlavə edin

3. Gücün nə vaxt açıldığını göstərmək üçün məhdudlaşdırıcı bir cərəyan rezistoru olan bir LED əlavə edin.

Addım 7: Bir qutuya daxil edin, rəngləyin və yeni sintezinizdən zövq alın

Dövrə sınaqdan keçirildikdən və zövqünüzə uyğun işlədikdən sonra, gözəl bir korpus qurmaqdan başqa çox şey qalmadı, zəhmli rənglərlə boyayın və bir az musiqi çalın.

Ümid edirəm bu təlimatı oxumaqdan zövq aldınız və bu, öz sintezinizi qurmağınıza və ya üzərində çalışdığınız başqa bir layihəyə davam etməyinizə ilham verdi.

Zəhmət olmasa hər hansı bir sualınız varsa, şərhlərdə yazın və bu dərsliyə əsaslanaraq bənzər bir şey qurmusunuzsa, "Bunu mən etdim!" sahədə və ya geribildirim bölməsində.

Tövsiyə: