Агуулгын хүснэгт:
Видео: Arduino Uno Midi Fighter: 5 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:03
Энэхүү зааварчилгааг Өмнөд Флоридагийн их сургуулийн Макекурсын төслийн шаардлагыг биелүүлэх зорилгоор бүтээсэн болно (www.makecourse.com)
DJ Techtools -ийн алдартай MidiFighter дээр үндэслэн гар хийцийн Arduino хөдөлгүүртэй Musical Instrument Digital Interface (MIDI) хянагчийг ямар ч дижитал аудио ажлын станц (DAW) програм хангамжийн MIDI төхөөрөмж болгон ашиглаж болно. MIDI хянагч нь компьютерээс MIDI мессеж илгээх, хүлээн авах боломжтой бөгөөд аль програм хангамжийг ашиглаж байгааг шууд удирдах боломжтой. Нэмж дурдахад MIDI хянагчийн хяналтыг бүрэн тохируулах боломжтой бөгөөд ингэснээр товчлуур, гулсагч, товчлуур бүрийг DAW -ийн аль ч функц дээр буулгаж болно гэсэн үг юм. Жишээлбэл, товчлуур дарахад тодорхой тэмдэглэл тоглох эсвэл аудио төслийнхөө хурдыг өөрчлөх програмчлагдах боломжтой.
github.com/jdtar/Arduino-Midi-Controller
Алхам 1: Материал
Энэхүү төсөлд ашигласан материал, багаж хэрэгслийн жагсаалтыг доор харуулав.
Ардуино Уно
Талхны самбар
4051/4067 Multiplexer
Холбогч утас
Нэмэлт утас
2х 10к ом шугаман слайд потенциометр
16х Sanwa 24мм товчлуур
Дулаан багасгах
Гагнуурын төмөр
Сахлын хутга
4.7 кОм эсэргүүцэл
Нийлэг хуудас (тагны хувьд)
Товчнууд болон Arduino -д зориулсан орон сууц
3 хэмжээст хэвлэгч
Лазер таслагч
Алхам 2: Дизайн
Төслийг эхлүүлэхээс өмнө MIDI хянагчийнхаа орон сууцыг надад өгсөн байсан тул бүх зүйлийг хаана байрлуулахыг төсөөлөхийн тулд тагныхаа ноорогыг доог тохуу хийсэн. Би дор хаяж 16 товчлуур, хос потенциометрийг ашиглахыг хүсч байгаагаа мэдэж байсан тул бүрэлдэхүүн хэсгүүдийг аль болох жигд байрлуулахыг хичээсэн.
Тагны схемийг зурсны дараа би файлыг 1: 1 форматтай PDF форматаар гаргаж, нийлэг хуудас хайчлахаар лазер зүсэгч рүү илгээв. Шураг нүхний хувьд би нүхийг тэмдэглэгээтэй байлгахыг хүссэн газраа тэмдэглээд акрилийг халуун судалтай хайлуулав.
1: 1 форматтай PDF файлыг 1: 1 болгон хэвлэж, лазер таслагч байхгүй тохиолдолд цахилгаан хэрэгслээр хайчилж болно.
Алхам 3: Барилга ба утас
Акрилийг хайчилж авсны дараа нийлэг нь маш нимгэн бөгөөд бүх бүрэлдэхүүн хэсгүүдийг хангалттай дэмжиж чаддаггүй болохыг олж мэдэв. Дараа нь би өөр нэг хуудас хайчилж аваад хооронд нь наасан бөгөөд энэ нь төгс тохирсон байв.
Бүрэлдэхүүн хэсгүүдийг холбоход бага зэрэг туршилт, алдаа гарсан боловч Fritzing -ийн ноорогыг хавсаргасан болно. Би эхлээд газардуулгын утас, 4.7 кОм эсэргүүцэл, гагнуур, дулааныг товчлуур дээр холбосон. Хоёр слайд потенциометрийг суурилуулахад нийлэг доторх эрэгний хайлах цооног шаардлагатай байв. Хоёр потенциометрийг шургуулсны дараа тэдгээрийг A0 ба A1 аналог тээглүүрт холбосон. Цахилгааны утас дууссаны дараа би faders-ийн бариулын таг байдаггүйг санаж, худалдаж авахаасаа өмнө 3-D принтер ашиглан зарим товчлуурыг Autodesk Fusion 360 дээр зурж STL файл руу экспортлоод хэвлэв. Де
Arduino Uno нь зөвхөн 12 дижитал оролтын зүүтэй боловч 16 товчлуурыг холбох ёстой байв. Үүнийг нөхөхийн тулд би 74HC4051 мультиплексорыг 4 дижитал оролтын зүү ашигладаг бөгөөд хуваалцсан шугамыг ашиглах олон дохиог ашиглан 8 дижитал оролттой нийт 16 дижитал тээглүүр ашиглах боломжтой болсон.
Товчлууруудыг зөв зүүгээр холбох нь ердөө 4x4 хэмжээтэй матриц үүсгэж, үүнийг кодонд ашиглах явдал байв. Хамгийн хэцүү зүйл бол худалдаж авсан тодорхой мультиплексор нь өгөгдлийн хүснэгтэд тусалж буй тодорхой зүү байрлалтай байсан бөгөөд товчлууруудыг холбохдоо би тодорхой тэмдэглэлийн зохион байгуулалтыг санаж байсан бөгөөд энэ нь иймэрхүү харагдаж байв.
Тэмдэглэл MATRIX
[C2] [C#2] [D2] [D#2]
[G#2] [A1] [A#2] [B1]
[E1] [F1] [F#1] [G1]
[C2] [C#2] [D2] [D#2]
ПИН МАТРИКС (M = MUX INPUT)
[6] [7] [8] [9]
[10] [11] [12] [13]
[M0] [M1] [M2] [M3]
[M4] [M5] [M6] [M7]
Алхам 4: Програмчлал
Угсралт дууссаны дараа Arduino програмчлах нь үлдсэн юм. Хавсаргасан скриптийг хялбархан өөрчлөх боломжтой байдлаар бичсэн болно.
Скриптийн эхэнд MIDI.h номын сан, кодын зип файлд багтсан Notes and Volts блогоос зээлсэн хянагчийн номын сан орно. Хянагчийн номын санг ашиглан тэмдэглэлийн дугаар, хяналтын утга, тэмдэглэлийн хурд, MIDI сувгийн дугаар гэх мэт өгөгдлийн утгыг агуулсан товчлуур, потенциометр ба мултиплекс товчлуурын объект үүсгэж болно. MIDI.h номын сан нь MIDI I/O холболтыг идэвхжүүлдэг. Arduino цуваа портууд нь хянагчийн объектуудаас өгөгдлийг авч, MIDI мессеж болгон хөрвүүлж, midi интерфэйсийг холбосон аль ч хэсэгт мессеж илгээдэг.
Скриптийн хоосон тохиргооны хэсэг нь бүх сувгийг унтраасан байдлаар эхлүүлж, MIDI дохиог солилцохоос илүү хурдтай 115200 baud дээр цуваа холболтыг эхлүүлдэг.
Үндсэн давталт нь товчлуурууд болон олон талт товчлууруудын массивыг авч, for давталтыг ажиллуулдаг бөгөөд товчлуур дарагдсан эсвэл суллагдсан эсэхийг шалгаж, холбогдох өгөгдлийн байтыг midi интерфэйс рүү илгээдэг. Потенциометрийн давталт нь потенциометрийн байрлалыг шалгаж, харгалзах хүчдэлийн өөрчлөлтийг midi интерфэйс рүү буцааж илгээдэг.
Алхам 5: Тохируулах
Скриптийг Arduino дээр ачаалж дууссаны дараа дараагийн алхам бол залгаж тоглуулах явдал юм. Үүнийг ашиглахаас өмнө хэд хэдэн алхам байдаг.
OSX дээр Apple нь macs дээрх Audio Midi Setup програмаар дамжуулан нэвтрэх боломжтой виртуал midi төхөөрөмжүүдийг бий болгох функцтэй болсон. Шинэ төхөөрөмжийг үүсгэсний дараа Hairless MIDI -ийг ашиглан Arduino болон шинэ виртуал midi төхөөрөмж хооронд цуваа холболт үүсгэж болно. Ардуиногоос Үсгүй MIDI -ээр дамжих цуваа холболт нь скриптийн хоосон тохиргооны хэсэгт тодорхойлогдсон дамжуулалтын хурдаар ажилладаг бөгөөд Үсгүй MIDI тохиргооны тохиргоонд ижил төстэй байх ёстой.
Туршилтын зорилгоор би Midi Monitor-ийг ашиглан сериал-MIDI холболтоор зөв өгөгдөл илгээгдсэн эсэхийг шалгаж үзсэн. Бүх товчлуур бүр зөв өгөгдлийг зөв сувгаар дамжуулдаг болохыг тогтоосны дараа би MIDI дохиог Аблетон Live 9 рүү MIDI оролт болгон чиглүүлэхээр тохируулсан. Аблетон дээр би товчлуур бүрт хэрчсэн аудионы дээжийг гаргаж, дээж бүрийг тоглуулах боломжтой болсон.
Зөвлөмж болгож буй:
Arduino Uno ашиглан акустик левитаци Алхам алхам (8 алхам): 8 алхам
Arduino Uno-тай акустик Levitation Алхам алхамаар (8 алхам): хэт авианы дууны дамжуулагч L298N Dc эмэгтэй адаптерийн эрэгтэй тэжээлийн тэжээлийн хангамж Arduino UNOBreadboard Энэ нь хэрхэн ажилладаг вэ: Нэгдүгээрт, та кодыг Arduino Uno-д байршуулдаг (энэ нь дижитал төхөөрөмжөөр тоноглогдсон микроконтроллер юм. кодыг хөрвүүлэх аналог портууд (C ++)
Илүү хүчирхэг Arduino-UNO, Massduino-UNO: 9 алхам
Илүү хүчирхэг Arduino-UNO, Massduino-UNO: Massduino гэж юу вэ? Massduino бол Arduino платформын захын баялаг, тохиромжтой, хурдан хөгжүүлэлт, хямд өртөгтэй, үйлдвэрлэхэд хялбар томоохон үйлдвэрлэлийн давуу талыг хослуулсан шинэ бүтээгдэхүүн юм. Бараг бүх Arduino кодууд нь
MIDI алхам интерфэйс (хамгийн сүүлийн хувилбар): 12 алхам
MIDI алхам интерфэйс (хувилбарын хувилбар): Заавар, зааварчилгаа нь "Simon Says" гэж нэрлэгддэг MIDI -г ашиглахад маш чухал үүрэг гүйцэтгэдэг. Амбос модо тоглоомууд
Arduino дээр суурилсан MIDI Fighter (мэдрэгчтэй): 7 алхам (зурагтай)
Arduino -д суурилсан MIDI Fighter (Touch Sensitive): MIDI нь Хөгжмийн зэмсгийн дижитал интерфэйс гэсэн үг юм. Энд бид мэдрэгчтэй MIDI сөнөөгч хийж байна. 16 дэвсгэртэй. эдгээрийг нэмэгдүүлэх эсвэл бууруулах боломжтой. Энд би arduino зүү хязгаарлагдмал байсан тул 16 -г ашигласан, мөн аналог оролтын зүүг ашигласан
MIDI 5V Spielatron эсвэл бусад MIDI Synth -ийн LED зурвасын гэрэл хянагч: 7 алхам (зурагтай)
MIDI 5V Spielatron эсвэл бусад MIDI Synth-ийн LED зурвасын гэрлийн хянагч: Энэхүү хянагч нь гурван өнгөт LED зурвасын гэрлийг 50mS-ээр анивчуулдаг. G5-аас D#6-ийн цэнхэр, E6-аас B6-ийн улаан, C7-аас G7-ийн хувьд ногоон. Хянагч нь ALSA MIDI төхөөрөмж тул MIDI програм хангамж нь MIDI синхрончлох төхөөрөмжтэй нэгэн зэрэг LED -д гаргах боломжтой