Hemgjord MPC stil MIDI controller (2 / 6 steg)

Steg 2:

3.3 knapptryckning
"Skanna" är den processen jag brukade multiplex button-kontrollen så jag inte skulle behöva använda 16 stift på mikrokontroller för 16 knappar. Istället fick jag bara använda 8 stift. Om du refererar till steg 4 har jag inkluderat schematiskt för knappen pad jag köpte från sparkfun elektronik och har angivit i signalvägen för varje stift på knappen pad PCB. Som ni kan se finns det separata stift för att kontrollera lysdioderna och kontrollera knapparna. LED kontroll stiften kommer att diskuteras i ett senare avsnitt.
Mikrokontroller är upp det så att alla kolumner är utgångar och alla rader är ingångarna. Om du refererar till den knapp pad schematiskt, börjar jag genom att ange den första kolumnen (som är RB4 på bild) till noll. Jag ställa in resten av kolumnerna till 1(RB5,RB6,RB7). Programmet kontrollerar sedan status för alla rader på den samma time(RC4,RC5,RC7,RC0). Programmet pausar för 1 millisekund och kontrollerar dessa stift igen. Sedan växlar och knappar ofta bounce, orsakar detta oönskade krusningar på signalen, så vi eliminera detta med en process som kallas de studsande. Om värdena från de två kontrollerna är lika då det betyder att det var en giltig knapptryckning på kolumnen och inte en studs. Fylls sedan i en for-loop, som kontrollerar status för var och en av raderna. Om en knapp trycks på kolumnen, läses den som en nolla på motsvarande rad eftersom kolumnen sätts till noll. Eftersom alla stiften på raderna har en 10 k pull-up resistor (visas inte på knappen pad Schematisk), om en knapp inte trycks kommer att raden pin läsas som en 1.
När en knapptryckning upptäcks på kolumnen skickar det 3 byte MIDI-meddelanden över hårdvaran seriell port på bild. Den första byten är 0x92 som identifieras som en channel 4 noterar på meddelande. Den andra byten är som anmärkning är att aktiveras, vilket kan vara någonstans mellan 0 och 127. Eftersom jag använder en for-loop att kontrollera var och en av raderna jag använder den för loop variabel "i" Ange som noterar jag vill på. Eftersom jag också använder 8 banker av anteckningar (128 anteckningar totala) lägga jag till den aktuella bank variabeln som är "c". Banken switch processen kommer att diskuteras vidare i avsnitt 3.4. Den sista byten är den hastighet som också kan vara någonstans mellan 0 och 127, men för alla knappar jag in det värdet till 100. Nästa rad i koden skickar sedan samma kommandon i ASCII-text till en LCD över en mikrokontroller pin jag konfigurerat för mjukvaran följetong ut.
Mikrokontroller måste också upptäcka när en anteckning släpps eftersom den behöver för att skicka en annan kommando för att inaktivera det samma ton. Inom samma for-loop detta görs genom att skicka samma 3 byte utom den sista byte(velocity), är satt till noll som inaktiverar denna anteckning. Om detta kommando inte skickas, skulle alltså stanna obestämd tid, även om knappen släpptes.
Fram till denna punkt har vi bara kollade status, och skickas kommandon för 4 knapparna på den första kolumnen. Hela denna process är upprepade 3 gånger, en för varje kolumn. I nästa ögla för jag sätter nästa kolumn och ange resten till 1, och göra samma sak för de återstående kolumnerna.

3.4 bank förändring
Eftersom det finns 128 olika midi anteckningar som kan skickas som ett MIDI-kommando jag ville kunna göra full använda av dem alla, så jag lagt till möjligheten att banken mellan grupper av 16 anteckningar i taget. För att göra detta jag lagt två tryck-knappar på panelen under LCD-skärmen (se figur 1.0). För att banken, tillfrågade jag tillförsel av stiftet på mikrokontroller jag in som indata för banking. Eftersom jag har ställt in dessa microcontroller ingångar med en pull-down motstånd kollade jag en låg till hög övergång när växeln ansluter till VDD. När övergången upptäcktes, La jag en att variabeln "j". Jag ställa upp så när "j" var mer än 8 det återställas till noll. Jag ville också möjligheten att spara banken på icke-flyktiga eeprom så om för vad någonsin skäl jag måste ta bort makten att arrangera kablar MIDI-controller startar upp och ställer automatiskt in sig tillbaka till banken var på innan det stängdes av. Jag hittade också att om jag håller en anteckning och tryckte på bank-knappen samtidigt, MIDI-controller förlorat spåret som Obs var pressas så att Anm skulle aldrig stänga av. Att fixa detta jag gjorde en for-loop som stänger av alla journalanteckningar på samma gång när som helst jag bank upp eller ner. Jag använde samma kod för banken ner knappen utom i stället för att lägga till en till "j" Jag dras en från "j" och har det återställt till 8 om det gick under 1. Jag ställer upp så "j" som en global variabel och används under olika delar av programmet.
I slutet av denna funktion, jag kolla vad värdet j är och ställa in variabeln "c" därmed. "c" aktiverar MIDI-controller att banken upp 16 anteckningar i taget genom att lägga det till vilken knappsatsen du trycker. Till exempel om jag vill midi Obs nummer 35 av, jag måste gå till banken 3. "c" läggs till som nyckel nummer jag att trycka på. Så om jag att trycka på knappen nummer 3 på knappsatsen, MIDI-controller läggs värdet "c", är som är i detta fall 32.

3.5 RGB
Jag avsätta 3 stift på mikrokontroller att styra alla RGB lysdioder. RA0 styr alla röda lampor, RA1 styr alla gröna lampor och RA2 alla blå. Varje pin styr alla lampor genom att ansluta till porten på en MOSFET som ligger på LED förare ombord (se steg 4). Lysdioderna måste att vara drivande sätt eftersom den ström som krävs för att köra alla lysdioder överskred microctrollers nuvarande sourcing förmågor.
Denna RGB funktion i programmet kontrollerar i princip vilken bank av anteckningar MIDI-controller är i genom att kontrollera värdet för variabeln "j". För att få de olika färgerna kombineras jag helt enkelt olika färguppsättningar. Till exempel att få färgen lila, slår på röda och blå på samma gång genom att ange RA0 och RA2 till hög och ange RA1 till låg.

Se Steg
Relaterade Ämnen

Arkad stil DJ MIDI-controller

>>> detta är inte helt klar ännu som jag spänt lite av banan. Jag ska uppdatera den instructable och ladda upp en video när det sorteras <<<Jag har varit DJ ungefär 10 år nu, och under de senaste har jag bytte bra gamla gammaldags vinyl...

Rita själv - MIDI controller med ledande bläck

"Rita det själv" är en MIDI-controller som använder ledande bläck som knappar. Den bygger på Arduino, och använder en kapacitiv sensor (två, faktiskt) att avgöra huruvida ritade knapparna är beröring eller inte.http://sanidanz.tumblr.com/drawity...

Arcade-knappen MIDI-Controller

att ha en hårdvara gränssnitt till din favorit musik / DJ / VJ programvara kan verkligen öppna upp dörrar i din kreativitet. Mest utbredda form av hårdvara kontroll till datorn för sådana program är en MIDI controller.En MIDI-controller kan skicka oc...

Flamma kontrollerade MIDI-Controller

En stor fråga i världen av digital musikproduktion är att hålla det analog värme (som genljöd från rullbandspelare system och rör) i dagens moderna digitala musik. Många svär att analoga system har ett ljud som aldrig kan replikeras av bits, och hopp...

Makey Makey MIDI-controller

Makey makey är en mikrokontroller som fungerar som ett tangentbord när den är ansluten till datorn. Jag omprogrammerade det så att den skickar MIDI-noter. Varför? Eftersom när du använder ett tangentbord till kontroll saker har fönstret du styr vara...

Hur man bygger en Dj MIDI Controller

så detta var ett skolprojekt. Jag har precis avslutat den. Dokumentet bifogas i slutet är hela projektet, som jag skrev det att lämna in det. Om du vill försöka detta bygga Låt mig veta och jag kan ge några tips. Också är en upp till detta projekt at...

Beatfly: Gör en lysande luftskepp och kontrollera den med din röst, tangentbord, MIDI-Controller, Garageband fil, iPhone, Flash och mycket mer! [Mac OSX]

Jag har arbetat med flera projekt med hjälp av luftskepp och ballonger, och här vill jag dela en av dem, Beatfly. Detta är en lysande luftskepp kontrolleras med olika gränssnitt såsom röst, tangentbord, MIDI-Controller, Garageband MIDI-fil, iPhone oc...

Cigar Box MIDI-Controller

här är en DIY MIDI-controller som kan användas med Max/MSP, Ableton Live, och bara om någon annan musikprogramvara eller maskinvara som erbjuder MIDI i/o.Projektet använder MIDI-CPU, som kan användas som en MIDI "hjärna" för DIY projekt.Denna zi...

Anpassade Arduino MIDI Controller

Hej och Välkommen till detta instructable om hur man bygger en anpassad, Billigt och enkelt USB MIDI-controller, baserat på Arduino. Den bästa nyheten: inget krångel med USB-till-MIDI-gränssnitt eller programvaruverktyg som Hårlösa MIDI, bara plug 'n...

Arcade MIDI-Controller

Jag är säker på att du har sett dessa coola videor människor fastnar på en låda med en massa knappar på den. Tja, idag, kommer jag att visa dig hur du kan göra en låda som du kan göra sylt. < Inspirerad av MIDI-Fighter klassiska >begränsad tid erbju...

Teensy Monster v1.0 / / DIY MIDI-Controller

Välkommen till Instructable Teensy Monster!Detta Instructable hjälper dig montera din Teensy Monster, förstå hur man kan programmera den och ge många tips för att bygga en stor DIY controller.teensymonster.ccKöp din Teensy Monster här.https://github....

Konvertera en räddade leksak till en MIDI-controller

i detta Instructable, jag kommer att gå igenom processen att konvertera ett räddade buller-making barnleksak till ett faktiskt användbara musikaliska instrument med MIDI! Ta en stund att bara kasta en blick över titlarna på stegen i detta Instructabl...

Du Rock gitarr MIDI-controller med Bluetooth BLE och uppladdningsbart batteri

I denna tutorial kommer jag visa dig hur du slår gitarr du Rock gitarr i en MIDI-Bluetooth 4.0 controller med uppladdningsbart batteri. Lösningen var enkel men att tänka på det.Detta system har testats med iMac, iPad och iPhoneDet material vi behöver...

Sockerbit MIDI Controller

Detta projekt är en bärbar, Arduino-powered, grid-baserad MIDI-controller som startar upp till olika apps att göra massor av saker med ljud. Den har 16 bakgrundsbelysta knappar, används som både in- och utgångar för att ge registeransvarige lite visu...

MIDI-Controller med tangentbord

Idag bygger vi 400 nyckeln MIDI-controller med hjälp av en Arduino och dator tangentbord!För budget medvetna musik producenterna ute är detta projekt ett bra sätt att bygga en billig kontroll styrelse för din digital audio workstation.Eller om du bar...

Arduino MIDI-controller med en ZX avstånd och gest Sensor

Välkommen till detta instructable om hur man bygger en mycket grundläggande MIDI-Controller med SparkFun ZX avståndet och gest Sensor. Detta instructable är del av en skoluppgift.Obs: Detta är ingen kodning handledning. Den final koden kommer att ing...

Arduino MIDI-controller - techshop använder scarff boarduino

jag har tittat på ett antal olika arduino lösningar för MIDI. Mitt projekt omfattar över 100 analoga ingångar att varje känsla hastighet och ge MIDI-utgången. Med den bakgrunden info jag fick från techshop klass beslutat jag att ställa in det först m...

Laser MIDI-Controller - (Laser utlösta Midi Keyboard)

Projektets målsättning:"Bygga en laser utlösta MIDI-controller, med hjälp av standard elektriska komponenter och en återvunnen midi keyboard."Steg 1.Hitta en återvunnen midi keyboard / controller.Steg 2.Konstruera en laser utlöste switch.Steg 3....

Arduino MIDI Controller

En MIDI-controller är någon utrustning som genererar och sänder MIDI-data till MIDI-aktiverade enheter. Kort sagt, om du har knappar på din MIDI-controller, kan du programmera dessa knappar till alla ljud du vill ha via musikaliska programvara (ex.:...