Përmbajtje:

Arduino Uno Midi Fighter: 5 hapa
Arduino Uno Midi Fighter: 5 hapa

Video: Arduino Uno Midi Fighter: 5 hapa

Video: Arduino Uno Midi Fighter: 5 hapa
Video: Midi controller arduino uno тест первый 2024, Nëntor
Anonim
Arduino Uno Midi Fighter
Arduino Uno Midi Fighter

Ky udhëzues u krijua në përmbushje të kërkesës së projektit të Makecourse në Universitetin e Floridës së Jugut (www.makecourse.com)

Bazuar në MidiFighter të popullarizuar nga DJ Techtools, ky kontrollues shtëpiak i pajisur me Arduino, i pajisur me instrument muzikor, ndërfaqe dixhitale (MIDI) mund të përdoret si një pajisje MIDI në çdo softuer dixhital audio të punës (DAW). Një kontrollues MIDI mund të dërgojë dhe të marrë mesazhe MIDI nga një kompjuter dhe mund të përdoret për të kontrolluar drejtpërdrejt cilindo softuer që po përdoret. Për më tepër, kontrollet në një kontrollues MIDI janë plotësisht të personalizueshme - që do të thotë se çdo buton, rrëshqitës dhe çelës individual mund të hartohen në çdo funksion në një DAW. Për shembull, shtypja e një butoni mund të luajë një shënim specifik ose të programohet për të ndryshuar ritmin e projektit tuaj audio.

github.com/jdtar/Arduino-Midi-Controller

Hapi 1: Materialet

Më poshtë është një listë e materialeve dhe mjeteve të përdorura në këtë projekt.

Arduino Uno

Breadboard

4051/4067 Multiplekser

Telat e kërcyesit

Teli shtesë

Potenciometra rrëshqitës linearë 2x 10k ohm

Butona 16x Sanwa 24mm

Tkurrja e nxehtësisë

Makine per ngjitjen e metalit

Brisk rroje

Rezistencë 4.7 kΩ

Fletë akrilike (për kapakun)

Strehimi për butonat dhe Arduino

Printer 3-D

Prerës Laser

Hapi 2: Projektimi

Dizajn
Dizajn
Dizajn
Dizajn

Më ishte siguruar tashmë strehimi për kontrolluesin tim MIDI para fillimit të projektit, kështu që unë talla me një skicë për kapakun në mënyrë që të përfytyroj se ku do të vendoset gjithçka. E dija që doja të paktën 16 butona dhe disa potenciometra si një veçori, kështu që u përpoqa t'i ndaj komponentët në mënyrë sa më të barabartë.

Pasi hartova paraqitjen për kapakun, e eksportova skedarin si një PDF 1: 1 dhe e dërgova te një prestar lazer për të prerë një fletë akrilike. Për vrimat e vidave, unë shënova vendin ku doja që vrimat të ishin me shënues dhe shkriva akrilikun me një fije të nxehtë.

Bashkangjitur është PDF 1: 1 i cili mund të printohet si 1: 1 dhe të pritet me mjete elektrike nëse nuk ka një prestar lazer.

Hapi 3: Ndërtimi dhe instalimet elektrike

Ndërtim dhe instalime elektrike
Ndërtim dhe instalime elektrike
Ndërtim dhe instalime elektrike
Ndërtim dhe instalime elektrike
Ndërtim dhe instalime elektrike
Ndërtim dhe instalime elektrike

Pas prerjes së prerjes së akrilikut, zbulova se akriliku ishte shumë i hollë për të mbështetur sa duhet të gjithë përbërësit. Pastaj unë preva një fletë tjetër dhe i ngjita së bashku, gjë që ndodhi që funksionoi në mënyrë perfekte.

Instalimi i komponentëve mori disa prova dhe gabime, por rezultoi në skicën Fritzing të bashkangjitur. Së pari i lidhja telat e tokëzimit dhe rezistencën 4.7kΩ, i bashkova dhe nxehtësia i zvogëloi lidhjet në butona. Montimi i dy potenciometrave rrëshqitës kërkoi vrima shkrirëse për vidhat në akrilik. Pasi dy potenciometrat u vidhosën, ata u lidhën me kunjat analoge A0 dhe A1. Pasi mbaroi lidhja me tela, u kujtova se nuk kishte kapakë çelësash për faderët e mi, kështu që në vend që t'i blija ato, printova disa kapakë çelësash duke përdorur një printer 3-D duke e skicuar atë në Autodesk Fusion 360 dhe duke eksportuar në një skedar STL. De

Arduino Uno ka vetëm 12 kunja hyrëse dixhitale në dispozicion, por 16 butona duhej të lidheshin. Për të kompensuar këtë, unë instalova një Multiplekser 74HC4051 në një dërrasë buke e cila përdor 4 kunja hyrëse dixhitale dhe mundëson sinjale të shumëfishta të përdorin një linjë të përbashkët duke rezultuar në 8 kunja hyrëse dixhitale në dispozicion për një total prej 16 kunjash digjitalë të disponueshëm për përdorim.

Lidhja e butonave me kunjat e sakta ishte thjesht një çështje e krijimit të një matricë 4x4 dhe përdorimit të saj në kod. Pjesa e ndërlikuar megjithatë ishte se multiplexeri specifik i blerë kishte një plan urbanistik specifik të kunjave me të cilin ndihmoi fleta e të dhënave dhe gjithashtu kisha parasysh një paraqitje të veçantë të shënimeve kur instaloja butonat lart e cila përfundoi dukej pak si kjo:

SHATNIM MATRIKS

[C2] [C#2] [D2] [D#2]

[G#2] [A1] [A#2] [B1]

[E1] [F1] [F#1] [G1]

[C2] [C#2] [D2] [D#2]

PAT MATRIX (M = HYRJE MUX)

[6] [7] [8] [9]

[10] [11] [12] [13]

[M0] [M1] [M2] [M3]

[M4] [M5] [M6] [M7]

Hapi 4: Programimi

Programimi
Programimi

Pasi të përfundojë asambleja, programimi i Arduino është gjithçka që ka mbetur. Skenari i bashkangjitur është shkruar në një mënyrë të tillë që të përshtatet lehtësisht.

Fillimi i skenarit përfshin bibliotekën MIDI.h dhe një bibliotekë kontrolluese të huazuar nga blogu Notes and Volts të cilat të dyja përfshihen në skedarin zip për kodin. Duke përdorur bibliotekën e kontrolluesit, mund të krijohen objekte për butona, potenciometra dhe butona të shumëfishtë që përmbajnë vlera të të dhënave të cilat përfshijnë numrin e shënimit, vlerat e kontrollit, shpejtësinë e shënimit, numrin e kanalit MIDI, etj. Biblioteka MIDI.h mundëson komunikimin MIDI I/O në Portet serike Arduino e cila nga ana tjetër merr të dhënat nga objektet e kontrolluesit, i konverton ato në mesazhe MIDI dhe i dërgon mesazhet në cilëndo ndërfaqe midi është e lidhur.

Pjesa e konfigurimit të zbrazët të skenarit inicializon të gjitha kanalet si të fikura dhe gjithashtu fillon një lidhje serike në 115200 baud, një normë më e shpejtë sesa sinjalet MIDI po shkëmbehen.

Laku kryesor në thelb merr grupet e butonave dhe butonave të shumëfishtë dhe drejton një lak for i cili kontrollon nëse butoni është shtypur ose lëshuar dhe dërgon bajtët e të dhënave përkatëse në ndërfaqen midi. Laku i potenciometrit kontrollon pozicionin e potenciometrit dhe dërgon ndryshimet përkatëse të tensionit përsëri në ndërfaqen midi.

Hapi 5: Konfigurimi

Image
Image
Konfigurimi
Konfigurimi
Konfigurimi
Konfigurimi
Konfigurimi
Konfigurimi

Pasi skenari të jetë ngarkuar në Arduino, hapi tjetër është lidhja dhe luajtja. Ka disa hapa, megjithatë, para se të mund të përdoren.

Në OSX, Apple përfshiu një veçori për të krijuar pajisje midi virtuale të cilat mund të arrihen përmes aplikacionit Audio Midi Setup në mak. Pasi të jetë krijuar pajisja e re, MIDI pa flokë mund të përdoret për të krijuar një lidhje serike midis Arduino dhe pajisjes së re virtuale midi. Lidhja serike nga Arduino përmes MIDI pa flokë funksionon me shpejtësinë e përcaktuar në pjesën e zbrazët të konfigurimit të skenarit dhe duhet të vendoset ekuivalente në cilësimet e preferencës MIDI pa flokë.

Për qëllime testimi kam përdorur Midi Monitor për të kontrolluar nëse të dhënat e sakta po dërgoheshin duke menduar lidhjen seriale-MIDI. Pasi përcaktova që të gjithë butonat e dërguar mbi të dhënat e sakta përmes kanaleve të sakta, vendosa sinjalin MIDI për të shkuar në Ableton Live 9 si një hyrje MIDI. Në Ableton unë kam qenë në gjendje të përcaktoj mostrat audio të prera në secilën buton dhe të luaj çdo mostër.

Recommended: