Агуулгын хүснэгт:

Micro Midi синтезатор: 5 алхам (зурагтай)
Micro Midi синтезатор: 5 алхам (зурагтай)

Видео: Micro Midi синтезатор: 5 алхам (зурагтай)

Видео: Micro Midi синтезатор: 5 алхам (зурагтай)
Видео: Food as Medicine: Preventing and Treating the Most Common Diseases with Diet 2024, Арваннэгдүгээр
Anonim
Micro Midi синтезатор
Micro Midi синтезатор
Micro Midi синтезатор
Micro Midi синтезатор
Micro Midi синтезатор
Micro Midi синтезатор

Энэхүү зааварчилгаа нь VLSI VS1053b Аудио болон Midi DSP чипийг бодит цагийн Midi горимд ашиглаж байгааг харуулж байна. Энэ горимд 64 дуут полифон GM (General Midi) Midi синтезаторын үүрэг гүйцэтгэдэг. Arduino Uno бие даасан бичил биетэн нь OLED дэлгэц, гурван товчлуурыг удирддаг (Функцийг сонгох ба дээш эсвэл доош, мөн Midi мэдээллийн урсгалыг аудио DSP рүү дамжуулдаг. Сонгосон хөгжмийн самбар нь Adafruit VS1053 кодек таслагч самбар боловч Sparkfun хөгжим таслах самбар юм. мөн туршилтыг амжилттай хийв. Adafruit VS1053b номын сангуудыг илүү том SFEMP3 номын сангийн оронд ашигладаг байсан (Sparkfun -ийн санал болгосон номын сантай ч гэсэн), учир нь би Adafruit кодыг ойлгоход хялбар байсан.

Аудио/midi DSP -ийг хянахад ашигладаг ихэнх кодыг талхаар дамжуулан аудио/midi таслах самбартай холбогдсон Arduino Uno ашиглан боловсруулсан болно. Функцууд нь сэтгэл ханамжтай ажиллаж байгааг олж тогтоосны дараа Uno-ийг бие даасан ATmega 328 програмист болгон ашиглаж, дараа нь 30x20 хэмжээтэй жижиг хэмжээтэй Veroboard дээр Midi оролтын залгуурт шаардлагатай 6N139 оптик тусгаарлагч IC (5 зүү DIN) дээр тавив.. Мөн жижиг (64x48) хэмжээтэй OLED бамбай, гурван товчлуур, Midi үйл ажиллагааны LED, хүчдэлийн +5 вольтын баррель холбогч, аудио стерео гаралтын холбогчийг холбосон. Цахилгааны шаардлага маш даруухан - 5 вольтын 20 мА орчим.

Алхам 1: эд ангиудын жагсаалт

ATmega328 Micro 28 зүү DIP + 28 зүү DIP сокет6N138 эсвэл 6N139 оптиколятор + 4 зүү DIP залгуур Wemos 64x48 I2C OLED дэлгэц эсвэл үүнтэй төстэй Adafruit VS1053b Codec таслах самбар 3 бяцхан түлхэх товчлуур 5 зүү DIN Midi сокет ПХБ -ийн холболт Жижиг LED 5 залгууртай. өсгөгч эсвэл чихэвчтэй холбох сокет Эсэргүүцэл: 7 x 10k, 2 x 470 ohm, 2 x 220 ohm Конденсатор: 0.1uF 50v хуванцар, 10uf 25v электролит, 2 x 27 pF керамик Veroboard -ийн жижиг хэсгүүд (20 баганатай 30 тууз, 4 тууз) 16 баганаар), 85x55x25 мм хэмжээтэй ABS хуванцар хашлага, утас, хэд хэдэн эрэг самар, угаагч.

Алхам 2: Барилга

Барилга
Барилга
Барилга
Барилга
Барилга
Барилга

Хашааны таг нь OLED дэлгэц, Veroboard -ийн өөр нэг жижиг хэсэг дээр суурилуулсан гурван товчлуур, торхны цахилгаан холбогчтой. Гол Vero хэлхээний самбар нь ATmega328 дээрх Хөгжмийн таслах самбарыг засах хоёр нүхтэй. Холболтын талаархи дэлгэрэнгүй мэдээллийг Fritzing туузны хавтангийн диаграмаас үзнэ үү.

Програмчлагдсан ATmega328 (кодыг дараагийн хэсгийг үзнэ үү) дараа нь залгуурт нь оруулаад 6N139 -ийг оруулаад бүх зүйл холбогдсон байна.

LED нь Midi -ийн үйл ажиллагааны индикатор болж ашиглагддаг бөгөөд хаалганы урд талд суурилуулсан болно. Энэ нь ATmega328 -ийн D2 гаралттай 470 ом эсэргүүцэлтэй холбогдсон байна.

OLED дэлгэц нь Adafruit самбараас 3.3 вольтын гаралтыг ашигладаг бөгөөд энэ нь 20 мА -аас бага хүч шаарддаг.

Хэрэв та синтезийг анх ашиглаж байхдаа ямар ч дуу сонсохгүй бол Midi Din хоёр холболтыг сольж үзээрэй.

Алхам 3: Програм хангамж

ATmega328 дээр байршуулах ёстой ноорогны дэлгэрэнгүй мэдээллийг MidA.ino дээр өгсөн болно. Долоон функц байдаг:

Сонголт P: Хөтөлбөрийг өөрчлөх - GM Midi Instrument -ийг төгөлдөр хуур эсвэл Synth дуу гэх мэт 1 болгон 128 болгон өөрчилнө үү (B хувилбар: Melodic (Банк 0) ба Цохилтот (Банк 1) хоорондох хэрэгслийн банкийг өөрчлөх. Сонголт V: Дууны түвшинг 1 -ээс 10 болгон тохируулна уу С сонголт: Synth -ийн хариулах Midi сувгийг өөрчлөх. Суваг 0, суваг 1, суваг 9 (цохилтот), суваг 0 ба 9, суваг 1 ба 9. Сонголт R: Reverb эффектийг асаах, унтраах S сонголт: Одоогийн параметрүүдийг Eeprom санах ойд хадгалах (Дээш) эсвэл Eeprom санах ойгоос буцааж уншина уу. Сонголт X: Бүх тэмдэглэлийг унтраах мессеж илгээх (Midi Reset).

Найм дахь сонголтыг хараахан хэрэгжүүлээгүй байгаа бөгөөд энэ нь ATmega -ийг Midi шүүлтүүрээр тойрч, оптиколяторын гаралтыг DSP хавтангийн Rx зүүтэй шууд холбох болно.

Ачаалах үед 1039 байт шахагдсан нөхөөсийг ачаалснаар VS1053b нь бодит цагийн Midi горимд ачаалагддаг болохыг анхаарна уу. Энэхүү засварын талаархи дэлгэрэнгүй мэдээллийг VLSI вэбсайтаас авах боломжтой.

Adafruit Graphics номын сангийн бага зэрэг өөрчлөгдсөн хувилбар нь OLED дэлгэцийн 64x48 пикселийн нарийвчлалыг хангахад ашиглагддаг байсан бөгөөд ноён Макаузерын төгсгөлд өгсөн линкийг үзнэ үү. Шаардлагатай номын сангийн жагсаалтыг тойм код дээр өгсөн болно.

ATmega328 дээр Uno эсвэл дангаараа байгаа эсэхээс үл хамааран эскизийг анх удаа гүйцэтгэх үед код нь хүчингүй байж болох ATmega328 Eeprom -ээс параметрүүдийг урьдчилан ачаалах болно. Энэ тохиолдолд та X товчлуурыг ашиглан Eeprom руу бүх тэгийг бичиж болно, эсвэл хоосон тохиргооны функц дээр Eeprom -ийг анх эхлүүлэх үед ачаалах утгыг тайлбарлаж, багаж хэрэгсэл гэх мэтийг тохируулж болно. таалагдаж, дараа нь S тохируулгын Up товчлуураар урьдчилсан тохиргоогоо хадгална уу.

Зээлийг код, номын санд дурдсан бүх хүмүүс, аж ахуйн нэгжүүдэд олгодог.

Алхам 4: Холбоосууд

VLSI:

Adafruit:

Github VS1053b:

Github график:

Олед:

Sparkfun:

Алхам 5: Адафрутын номын сантай Sparkfun самбар ашиглах

Adafruit номын сантай Sparkfun самбар ашиглах
Adafruit номын сантай Sparkfun самбар ашиглах

Зураг дээрх хүснэгтэд өөр номын санг ашиглахын тулд Adafruit эсвэл Sparkfun хөгжмийн самбарыг хэрхэн холбохыг тайлбарласан болно.

Зөвлөмж болгож буй: