Mündəricat:
- Addım 1: Parça siyahısı
- Addım 2: Tikinti
- Addım 3: Proqram təminatı
- Addım 4: Bağlantılar
- Addım 5: Adafruit Kitabxanaları ilə Sparkfun Lövhəsindən istifadə edin
Video: Micro Midi sintezatoru: 5 addım (şəkillərlə birlikdə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:48
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
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
Şə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ə:
MakeyMakey və Scratch ilə Su Sintezatoru: 6 Addım (Şəkillərlə)
MakeyMakey və Scratch ilə Su Sintezatoru: Müxtəlif materialları açarlara və ya düymələrə çevirmək və beləliklə kompüterdə hərəkətləri və ya səsləri tetiklemek üçün MakeyMakey -dən istifadə etmək maraqlı bir işdir. Hansı materialın zəif cərəyan impulsunu keçirdiyini öyrənir və onu icad edə və təcrübə edə bilərəm
Arduino MIDI Chiptune Sintezatoru: 7 addım (şəkillərlə)
Arduino MIDI Chiptune Synthesizer: Hər hansı bir müasir DAW proqramının rahatlığından MIDI üzərində idarə edə biləcəyiniz orijinal 8 bitlik chiptune sintezatoru ilə erkən kompüter oyun musiqisinin əyləncəsini yaşayın. 8910 proqramlaşdırıla bilən səs
Dörd Dinamik Sintezatoru: 10 Addım (Şəkillərlə birlikdə)
Dörd Hoparlör Sintezatoru: Burada olan sadə bir sintezator var: 22 düym həcmi nəzarət tonu fərqli səs effektləri dəyişən (dinamiklər üçün) dörd dinamik (işiqçilər üçün) Hər kəs onu qura bilər, elektron komponentlər istisna olmaqla, hər şeyi evdə tapa bilərsiniz
Arduino sintezatoru: 20 addım (şəkillərlə birlikdə)
Arduino Sintezatoru: Arduino, Səs Kitabxanası adlanan kitabxana vasitəsilə səs çıxara bilir. Arduino Synthesizer, müəyyən dəyərləri səs çıxarmağa çağıra biləcək bir interfeys və bir proqram yaratmaqla güclü bir vasitədir
Zybo lövhəsində lazer arfa sintezatoru: 10 addım (şəkillərlə birlikdə)
Zybo Board -da Lazer Arp Sintezatoru: Bu dərslikdə istifadəçinin alətin tonunu və tonunu dəyişməsinə imkan verən seriyalı interfeysi olan IR sensorlar istifadə edərək tam işlək bir lazer arfa yaradacağıq. Bu arfa 21 -ci əsrin ən qədim aləti olacaq