
Мазмуну:
2025 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2025-01-23 14:51


Чыныгы музыканы сүйүүчү жана электрондук жана информатика факультетинин студенти катары, мен ар дайым MIDI түзмөктөрүн кургум келет, аларды электрондук музыканы түзүү үчүн колдоно алам.
Көптөгөн шоуларга жана музыкалык фестивалдарга катышкандан кийин, спектаклдер учурунда жарык шоуларга кызыгуум арта баштады.
Көптөгөн изилдөөлөрдөн кийин, мен негизинен микрофонду колдонгон түзмөктөрдү таптым жана светодиоддорду каалагандай башкарууга мүмкүндүк бербедим.
DAW жана MIDI сигналдары менен көбүрөөк таанышып, мен бул долбоорду баштоону чечтим!
Бул иш жүзүндө MIDI сигналдары (NoteOn, NoteOff жана CC Messages) тарабынан башкарылуучу LED диоддору бар 3D структурадан турат.
Ошентип, музыкант ар бир LEDдин түсүн жана интенсивдүүлүгүн ар кандай DAW тарабынан түзүлгөн MIDI сигналдарын колдонуу менен гана башкара алат.
Бул идея менен мен жарык шоу аркылуу чыгармачылыкты жогорулатып, ар кимге өзүнүкүн курууга, ар бир визуалдык спектаклди уникалдуу кылууга уруксат бергим келди.
1 -кадам: материалдар
Негизинен, бул долбоор эки бөлүктөн турат: MIDI кабыл алуу схемасы жана LED түзүмү; жана микроконтроллер ал бөлүктөрдү байланыштырып, DAWтен келген MIDI сигналдарын LED тилкелерине "которот". Бул жерде ар бир бөлүккө керектүү материалдардын тизмеси келтирилген.
MIDI кабыл алуу схемасы:
- 1 x 6N138 Optocoupler
- 1 x 1N914 диод
- 1 x 5-Pin Din Jack (MIDI Jack)
- 2 x 220 Ом резисторлор
- 1 x 4.7K Ом резистору
- 1 USB/MIDI Jack
LED структурасы:
Мен WS2812B диоддоруна негизделген RGB LED диоддорун колдонгом, аларды 1 гана санариптик порт менен башкарса болот. Эгерде сиз көп светодиоддорду колдонууну пландап жатсаңыз, керектүү максималдуу ток жөнүндө кам көрүшүңүз керек болот (1 LED эң көп 60 мА керектей алат). Эгерде микроконтроллер бул максималдуу маанини көтөрө албаса, анда сизге жетиштүү токту жеткире ала турган дагы 5В электр булагы керек болот. Мен 5V - 8A AC/DC адаптерин атайын чыгуучу адаптер жана которгуч менен колдондум.
Эскертүү: Сиз компьютерди электр менен жабдуу бирдигин колдонсоңуз болот, анткени алар чынында эле жогорку токту бере алышат, бирок сиз туруктуу 5В туруктуу чыңалууну камсыз кылышыңыз керек, балким 36 Ом 5 Ватт кубаттуулуктагы резистор жердин (кара) менен 5В чыгыштын (кызылдын) ортосунда, резистор аркылуу жетишерлик ток бар экенин жана ошону менен туруктуу 5В камсыз кылат.
Акыр -аягы, мен MIDI сигналдары менен LED тилкелеринин ортосундагы байланышты түзүү үчүн бурамалуу калканч менен жөнөкөй Arduino Uno колдондум.
2 -кадам: MIDI киргизүү микросхемасын куруу


Эгерде сизди MIDI протоколу деген эмне жана ал кандайча иштээри кызыктырса, мен сизге YouTube каналдарын Notes жана Volts текшерүүнү сунуштайм, ал жерде көптөгөн кызыктуу жана инновациялык сабактар жана MIDI Arduino долбоорлору бар.
Бул бөлүктө мен MIDI киргизүү схемасына гана токтолом. Протобойго прототипти куруу жана компоненттерди ширетүүдөн мурун DAWтен келген MIDI сигналдары микроконтроллер тарабынан жакшы кабыл алынганын текшерүү жакшы идея болушу мүмкүн.
Төмөнкү эки видео схеманы кантип курууну жана сыноону сүрөттөйт:
- Районду куруу
- Райондук тестирлөө
Акыр -аягы, бул видеону CC билдирүүлөрүн түшүнүү үчүн текшерүү жана мисалы, LED жарыгын көзөмөлдөө үчүн автоматташтыруу клиптери сиздин микроконтроллер тарабынан кандайча чечмелениши мүмкүн.
3 -кадам: FL Studioду конфигурациялоо (опция)



FL Studioду колдонууда өзүмдү ыңгайлуу сезип жатканымда, мен анын MIDI интерфейсин кантип туура конфигурациялоону түшүндүрүп берем, бирок эгер сиз башка Санарип Аудио Жумуш станциясын колдонуп жатсаңыз, бул жол -жобо кескин айырмаланбашы керек деп ишенем.
Алгач сиз USB/MIDI уячасын компьютериңизге туташтырышыңыз керек. Адатта, мындай түзмөктөр камтылган камтылган программалык камсыздоо менен келет жана MIDI түзмөктөрү катары таанылат, бирок алар түшүнүксүз. Андан кийин "Орнотуулар" терезесин ачыңыз (F10 басуу менен). Эгерде баары туура иштесе, сиз чыгаруу бөлүмүндө MIDI түзмөктөрүнүн айрымдарын байкайсыз. Түзмөгүңүздү тандап, КҮЙГҮЗҮЛГӨНүн текшериңиз.
Андан кийин порт номериңизди аныктап, аны эске тутушуңуз керек (мисалы, 0). Жөн эле бул терезени жабыңыз (параметрлер автоматтык түрдө сакталат), анан жаңы канал кошуңуз: MIDI Out.
Андан кийин, сиз жасай турган акыркы нерсе - бул жаңы каналдын портун аныктоо: "Орнотуулар" бөлүмүндө аныкталган порттун номерин тандаганыңызды текшериңиз: муну менен каналыңыздан келген MIDI билдирүүлөрү азыр MIDI чыгаруу менен байланышкан.
Эми, MIDI Out каналы нота ойноткондо, MIDI интерфейси аркылуу "NoteOn" билдирүүсү жөнөтүлөт. Ушул сыяктуу эле, нота чыгарылганда "NoteOff" билдирүүсү жөнөтүлөт.
MIDI Out каналы менен келген дагы бир кызыктуу өзгөчөлүк - бул потенциометрлер менен ар кандай параметрлерди башкаруу мүмкүнчүлүгү. Алардын бирин оң баскыч менен чыкылдатып жана "Конфигурациялоо …" тандап, сиз аларды LED жарыгын көзөмөлдөө үчүн колдонула турган CCMessages (0дон 127ге чейин) жөнөтө аласыз: CC тандап, андан кийин Кабыл алыңыз.
Адатта FL Studio азыр MIDI интерфейсине маалыматтарды жөнөтүүгө даяр! Кийинки - кодду Arduinoдо жарк этип жазуу жана аны LED структураңызга ылайыкташтыруу.
4 -кадам: LEDди туташтыруу

LED тилкелерин туташтыруу өтө жөнөкөй, анткени алар +5V, GND жана маалыматтарды талап кылат. Бирок, мен алардын 20дан ашыгын туташтырууну пландап жатканымда, күтүлбөгөн кечигүүнү болтурбоо үчүн бир нече Arduino PWM казыктарын колдонууну жана Adafruit_NeoPixelдин бир нече учурларын жарыялоону чечтим.
Тиркелген сүрөт ошондой эле электрониканын кантип иштээрин түшүндүрүүгө ниеттенүүдө:
- LED тилкелери түздөн -түз электр энергиясы менен камсыздалат.
- Ардуинону иштетүү үчүн кубат которгуч колдонулат
- MIDI киргизүү схемасы которгучту күйгүзгөндө Arduino тарабынан иштейт
5 -кадам: 3D структурасын өчүрүү




Азырынча бул бөлүк эң узун болду, анткени мен 3D-басып чыгаруу (жана моделдөө) менен таптакыр жаңы элем. Мен жарым жарылган кесилген икосаэдрго окшогон структураны жасагым келди (ооба, форманын так атын табуу үчүн мага бир аз убакыт кетти).
Албетте, сиз өзүңүз каалаган моделди өзүңүз каалагандай формага ылайыкташтырсаңыз болот! Мен моделдөө процессин майда -чүйдөсүнө чейин айтпайм, бирок сиз бул структураны жасоону кааласаңыз STL файлдарын таба аласыз.
Ар кандай бөлүктөрдү чогултуу бир аз убакытты талап кылды, анткени мен ар бир бетке бирден LED коюп, алардын бардыгын туташтырып, өзөгүнүн ичине көп сандагы зымдарды кошуп, азыркы учурда абдан башаламан!
Эскертүү: эгер сиз мындай структураны түзүүнү кааласаңыз, сизге 10 бурчтуу алты бурчтук (PP3DP UP мини принтерин колдонуу менен болжол менен 3 саат) жана 6 беш бурчтук (2 саат) талап кылынат.
Ар бир бөлүктө бирден LED бар болгондон кийин, сиз ар бир 5V жана GND терминалдарын туташтырып, ар бир LEDдин бир нече киргизүү жана чыгаруу терминалдарын сиз туташтыргандай кылып зымдап өткөрүшүңүз керек болот.
Акыр -аягы, мен LED диффузиялык акрилди колдонуп, ар бир бетти жаап, аларды ырааттуу жарык кылдым.
Андан кийин калган нерсе - бул анча татаал эместигин көрсөткөн код!
6 -кадам: Кодекс

Мен мурунку бөлүгүндө айтып өткөндөй, код абдан жөнөкөй экенин көрсөтүп турат!
Чынында, ал бир гана MIDI инстанциясынан жана бир нече Adafruit_NeoPixel инстанцияларынан турат (ар кандай тилкелер бар).
Негизинен, жарыялангандан кийин, MIDI классы "үзгүлтүктөр" менен иштейт: NoteOn, NoteOff жана CCMessage. MIDI киргизүү цикруту бул спецификалык сигналдардын бирин Arduinoго өткөрүп бергенде, ассоциациянын кичи программасы деп аталат. Андан кийин, коддун баары NoteOn сигналындагы белгилүү бир LEDди күйгүзүү, аны AssociOO NoteOff сигналынан баш тартуу жана CCMessageдеги тилкенин жарыктыгын жаңыртуу.
Ошондой эле, мен NoteOn сигналы менен келген ылдамдыкты окуу аркылуу светодиоддордун түсүн тандоого мүмкүндүк берген жөнөкөй функцияны аныктадым жана ар бир LED андан кийин кызыл, кызгылт көк, көк, бирюза, жашыл, сары, кызгылт сары же ак болушу мүмкүн, ылдамдыктын маанисине жараша 0дон 127ге чейин.
Эскерте кетчү маанилүү нерсе, эскизиңизди жүктөөдө RX пинин (MIDI киргизүү схемасынан келген) ошол пинге туташкандыктан ажыратуу керек болот!
7 -кадам: Эми эмне?
Учурда мен бардык электрониканы орнотуу үчүн атайын корпустун үстүндө иштеп жатам, мен дагы структуранын атын ойлоп жатам! Сураныч, бул проект сизге жактыбы, мага кабарлаңыз, мен башка көрсөтмөлөрдүн үстүндө иштеп жатам, анткени мен бул көрсөтмөлүү видеону дагы жаңыртууну пландап жатам!
Сунушталууда:
Түз Санариптик Синтез (DDS) чипи менен MIDI көзөмөлдөгөн Stepper мотору: 3 кадам

MIDI тарабынан башкарылуучу Stepper Motor Direct Digital Synthesis (DDS) микросхемасы менен: ЭМИ мини проектке айланышыңыз керек деген жаман оюңуз бар беле? Ооба, мен AD9833 Түз Санариптик Синтез (DDS) модулу менен музыка чыгарууга багытталган Arduino Due үчүн жасаган эскизим менен ойноп жүрдүм … жана бир убакта мен ойлодум & q
MIDI2LED - MIDI көзөмөлдөгөн LED Strip Light Effect: 6 кадам

MIDI2LED - MIDI Controlled LED Strip Light Effect: Бул менин биринчи үйрөткүчүм, андыктан мага чыдагыла. Мен музыка чыгарууну жакшы көрөм, жана конок бөлмөсүндөгү концерт сыяктуу жандуу кырдаалдарда, мен ойногон нерсеге шайкеш келген жарык эффекттери болгондо мага жагат. Ошентип, мен Arduino негизделген кутучаны курдум, ал LED тилкесин жарык кылат
Интерактивдүү лампа - Tensegrity структурасы + Arduino: 5 кадам (сүрөттөр менен)

Интерактивдүү лампа | Tensegrity структурасы + Arduino: Бул бөлүк кыймылга жооп берүүчү чырак. Минималдуу tensegrity скульптурасы катары иштелип чыккан, лампа бүт структуранын багытталышына жана кыймылына жооп кылып түстөрдүн конфигурациясын өзгөртөт. Башкача айтканда, багытталышына жараша
LED химиялык структурасы айкели: 6 кадам

LED Химиялык Түзүм Скульптурасы: Светодиоддорду колдонуу менен химиялык түзүлүштүн моделин түзүңүз! Аларды 7 сегменттүү дисплейлер менен кооздоп, укмуш скульптурага ээ болосуз! Негизинен, сиз химиялык молекуланы моделдей турган LED диоддорун жана 7 сегменттүү дисплейлерди бириктиресиз. Ар бир компонент билдирет
5L тазалоочу контейнерден акысыз сумо роботунун структурасы: 10 кадам (сүрөттөр менен)

5L тазалоочу контейнерден акысыз сумо роботунун структурасы: Бул көрсөтмөдө мен бош 5L пластикалык идишти кантип колдонууну жана роботтун жакшы структурасына кантип айланууну көрсөтөм