Mündəricat:

Micro Midi sintezatoru: 5 addım (şəkillərlə birlikdə)
Micro Midi sintezatoru: 5 addım (şəkillərlə birlikdə)

Video: Micro Midi sintezatoru: 5 addım (şəkillərlə birlikdə)

Video: Micro Midi sintezatoru: 5 addım (şəkillərlə birlikdə)
Video: Korg microKorg S - синтезатор со встроенными динамиками и вокодером 2024, Noyabr
Anonim
Mikro Midi Sintezatoru
Mikro Midi Sintezatoru
Mikro Midi Sintezatoru
Mikro Midi Sintezatoru
Mikro Midi Sintezatoru
Mikro Midi Sintezatoru

Bu təlimat, VLSI VS1053b Audio və Midi DSP çipinin real vaxt Midi rejimində istifadəsini nümayiş etdirir. Bu rejimdə 64 səsli polifonik GM (General Midi) Midi sintezatoru kimi çıxış edir. Bir Arduino Uno müstəqil mikro bir OLED ekranı, üç düyməni idarə edir (Function Select və Yuxarı və ya Aşağı, və Midi məlumat axınını səs DSP -yə keçir. Seçilən musiqi lövhəsi Adafruit VS1053 codec breakout board idi, ancaq Sparkfun musiqi kəsmə lövhəsi. Adafruit VS1053b kitabxanaları daha böyük SFEMP3 Kitabxanası əvəzinə istifadə edildi (Sparkfun tərəfindən öz kitabxanaları olsa da tövsiyə olunur), çünki Adafruit kodunu daha asan başa düşdüm.

Audio/midi DSP -ni idarə etmək üçün istifadə olunan kodların çoxu, çörək taxtası vasitəsilə audio/midi qırılma lövhəsinə qoşulmuş Arduino Uno istifadə edilərək hazırlanmışdır. Funksiyaların qənaətbəxş olduğu aşkar edildikdən sonra Uno, müstəqil bir ATmega 328 üçün proqramçı olaraq istifadə edildi, sonra kiçik bir 30x20 ölçülü Veroboard-a, Midi giriş yuvasında tələb olunan 6N139 opto-izolyator IC ilə birlikdə qoyuldu (5 pinli DIN). Kiçik (64x48) OLED qalxanı, üç düymə, Midi aktivlik LEDi və güc üçün +5 voltluq barel konnektoru və audio stereo çıxış konnektoru əlavə edildi. Güc tələbləri çox təvazökardır - 5 voltda təxminən 20 mA.

Addım 1: Parça siyahısı

ATmega328 Micro 28 pin DIP + 28 pin DIP soket6N138 və ya 6N139 optoisolator + 4 pin DIP socketWemos 64x48 I2C OLED Ekran və ya bənzəri Gücləndiriciyə və ya qulaqlığa qoşulmaq üçün yuva Rezistorlar: 7 x 10k, 2 x 470 ohm, 2 x 220 ohm Kondansatörler: 0.1uF 50v plastik, 10uf 25v elektrolitik, 2 x 27 pF keramika Kiçik Veroboard parçaları (30 zolaq 20 sütun və 4 zolaq) 16 sütunla), təxminən 85x55x25 mm ABS plastik qapaq, naqillər və bir neçə vintli qoz -fındıq.

Addım 2: Tikinti

Tikinti
Tikinti
Tikinti
Tikinti
Tikinti
Tikinti

Korpusun qapağında OLED Ekranı, Veroboard -ın başqa bir kiçik hissəsinə quraşdırılmış üç düymə və barel güc konnektoru var. Əsas Vero elektron kartında, ATmega328 -in üstündəki Musiqi kəsmə lövhəsini düzəltmək üçün iki deşik var. Bağlantı təfərrüatları üçün Fritzing şerit lövhəsi diaqramına baxın.

Proqramlaşdırılmış ATmega328 (kod üçün növbəti hissəyə baxın) sonra 6N139 -un ardınca yuvasına daxil edilir və hər şey bağlanır.

LED, Midi aktivlik göstəricisi olaraq istifadə olunur və korpusun ön tərəfinə quraşdırılmışdır. ATmega328 -in D2 çıxışına 470 ohm müqavimət vasitəsi ilə qoşulur.

OLED Ekran, güc üçün Adafruit lövhəsindən 3.3 volt çıxışı istifadə edir - 20 mA -dan az tələb edir.

Synth -dən ilk dəfə istifadə edərkən heç bir səs eşitmirsinizsə, iki Midi Din bağlantısını dəyişdirməyə çalışın.

Addım 3: Proqram təminatı

ATmega328 -ə yüklənməli olan eskizin təfərrüatları MidA.ino'da verilmişdir. Yeddi funksiya mövcuddur:

Seçim P: Proqramı dəyişdirin - GM Midi Instrumentini 1 -dən 128 -ə dəyişdirin (0 -dan 127 -ə qədər istifadə etdim), məsələn, Piano və ya Synth səsi. Seçim V: Səs səviyyəsini 1 -dən 10 -a qədər tənzimləyin Seçim C: Synth -in cavab verəcəyi Midi kanalını dəyişdirin. Seçimlər Kanal 0, kanal 1, kanal 9 (zərb), kanal 0 və 9 və kanal 1 və 9. Seçim R: Reverb effektini yandırın və ya söndürün. Seçim S: Cari parametrləri Eeprom yaddaşına (Yuxarı) saxlayın və ya Eeprom yaddaşından geri (aşağı) oxuyun. Seçim X: Bütün qeydləri göndər mesajını göndərin (Midi Sıfırla).

Səkkizinci seçim hələ tətbiq olunmayıb - bu, Midi filtri kimi ATmega -dan yan keçəcək və optoisolatorun çıxışını birbaşa DSP lövhəsinin Rx pininə bağlayacaq.

Qeyd edək ki, VS1053b, yükləmə zamanı 1039 bayt sıxılmış yamaq yükləyərək real vaxt Midi rejimində çəkilir - bu da Midi tamponunun ölçüsünü artırır və Midi məlumat baytlarını eksklüziv edir. Bu yamanın detallarını VLSI saytında tapa bilərsiniz.

Adafruit Graphics kitabxanasının bir qədər dəyişdirilmiş versiyası, OLED Ekranın 64x48 piksel qətnaməsini təmin etmək üçün istifadə edilmişdir - zəhmət olmasa cənab Mcauser üçün sonda verilən bağlantılara baxın. Tələb olunan kitabxanaların siyahısı eskiz kodunda verilmişdir.

Önəmli olaraq, eskiz ATmega328 -də istər Uno olsun, istərsə də müstəqil olaraq ilk dəfə icra edildikdə, kod ATmega328 Eeprom -dan etibarlı ola bilməyən parametrləri əvvəlcədən yükləyəcək. Bu halda ya aşağı düyməni basaraq X seçimindən istifadə edərək bütün sıfırları Eeprom -a yaza bilərsiniz və ya Eeprom -a ilk başladığı zaman dəyərləri yükləyən boşluq qurma funksiyasındakı sətiri şərh edə bilərsiniz, alətlərinizi və s. bəyənir və sonra S seçimini yuxarı düymə ilə əvvəlcədən qurduqlarınızı qeyd edin.

Kredit kodu və kitabxanaları üçün adı çəkilən bütün şəxs və təşkilatlara verilir.

Addım 4: Bağlantılar

VLSI:

Adafruit:

Github VS1053b:

Github Grafikləri:

Əlaqə:

Sparkfun:

Addım 5: Adafruit Kitabxanaları ilə Sparkfun Lövhəsindən istifadə edin

Adafruit Kitabxanaları ilə Sparkfun lövhəsindən istifadə
Adafruit Kitabxanaları ilə Sparkfun lövhəsindən istifadə

Şəkildəki cədvəl, başqa bir kitabxanadan istifadə etmək üçün Adafruit və ya Sparkfun Musiqi Kartlarını necə bağlayacağınızı izah edir.

Tövsiyə: