DIY USB DJ Controller (14 / 16 stap)

Stap 14: Software - verwerking programma


Dit programma verbindt met de seriële poort van de Launchpad zodat wij invoer kunnen ontvangen. Het krijgt de berichten, decodeert hen, en indelingen van een MIDI-bericht en stuurt het. Het bevat ook een gebruikersinterface waarmee u de juiste seriële poort en MIDI-verbinding te selecteren. Als u verbinding met de Microsoft MIDI Synth maakt, kunt u sommige vrij spooky piano met het toetsenblok spelen! Hoe dan ook, ik geef een overzicht van hoe de software werkt en dan vertellen hoe te configureren. We moeten eerst een paar dingen.

Materialen:

  • Verwerking van IDE
  • proMIDI 1.0 bibliotheek
  • controlP5 bibliotheek

Zie de vorige stap voor links

Verkrijgen van setup

Beginnen met de installatie van de libraries. Vind uw Processing-map (meestal in documenten) en ga naar Processing\libraries. Pak de bibliotheken naar deze map en u moet zitten helemaal troep (het is hetzelfde als het installeren van bibliotheken voor Energia of Arduino).

Inzicht in de Code

Er zijn sommige delen van de code niet verwant aan de verwerking van de inbreng van de DJ-Controller. Het gaat hierbij om de seriële poort en MIDI verbindingen beheren evenals de gebruikersinterface maken. Ik zal geen betrekking op deze delen van de code. Zie de pagina voor het bepaalde bibliotheek in kwestie als u wilt dat een uitleg van hoe alles werkt.

De gegevens van de controller voert ons programma in de functie genaamd 'serialEvent.' In deze functie, de twee afzonderlijke bytes van het bericht worden gecombineerd tot één 16-bits char (niet geheel getal... omdat verwerking geen niet-ondertekende gegevenstypen hebt, zie de commentaar bij de code voor meer informatie en vloekend). Het roept vervolgens de functie 'ParseMessage'...

ParseMessage is het uitgangspunt voor de verwerking van de bits krijgen we van de controller. Bitsgewijze math wordt gebruikt om te decoderen van de id-nummer en het type van het besturingselement waarop het bericht is verzonden. Op basis van deze eigenschappen, kan het het bericht vervolgens verzenden naar de juiste functie om te worden verwerkt.

Als het besturingselement een analoge is, roept het 'ProcessAnalog'. Deze functie decodeert de 10-bits waarde van het besturingselement en verandert het in een MIDI-waarde tussen 0 en 127. Vervolgens stuurt een MIDI-bericht van controle verandering door te bellen naar 'SendControlChange'. Een besturingselement aangepast is een soort MIDI-controle die heeft een variabele input in plaats van een nota, die een aan / uit-status heeft.

Als het besturingselement een digitale is, heeft 3 keuzen in hoe om het te verwerken: als het id-nummer 0 is, dat nummer is gereserveerd voor het toetsenbord, zodat het stuurt het naar 'ProcessKeypad'. Als het id-nummer 1 is, is dat aantal gereserveerd voor de roterende encoder zodat het stuurt het naar 'ProcessRotary'. Als het id-nummer niet van deze gereserveerde waarden is, verwerkt het als een algemene digitale ingang (aka knop) door het bericht te sturen naar 'ProcessDigital'.

ProcessKeypad decodeert welke toets werd ingedrukt, de aan/uit-status, de modus die was geselecteerd op het moment en het dek die was geselecteerd op het moment. Vervolgens stuurt een MIDI-notitie op basis van deze informatie. Het MIDI opmerking nummer wordt berekend met behulp van een speciaal algoritme waarmee elke combinatie een unieke Nootwaarde geeft.

ProcessRotary decodeert wat de waarde van het bericht is en of de geïntegreerde knop werd ingedrukt terwijl de roterende encoder werd gedraaid. De waarden variëren van 0 tot 2, waarbij 0 betekent rechtsom draaien, 1 zin tegen de roulatie en 2 wat betekent dat een dubbele klik (gebruikt voor het laden van tracks op geselecteerde dek). De superspeed-bit is ingesteld op 1 als de geïntegreerde knop werd ingedrukt terwijl het draaien, en als het werd ingedrukt, het programma 10 MIDI-berichten verzonden. Aangezien de roterende encoder is bedoeld om te worden gebruikt voor het doorbladeren van een bibliotheek, kunt dit u sneller door de nummers scrollen.

ProcessDigital gewoon decodeert het laatste stukje in het bericht en dat vertelt of voor het verzenden van een op of mailbericht MIDI uit voor de specifieke notitie dat besturingselement is gekoppeld.

Zie voor meer informatie over het protocol dat wordt gebruikt in dit project, de eerste stap in het gedeelte van de Firmware.

Uitvoeren van de Code en het configureren van de Software

Nu dat je de code te begrijpen, laat krijgen om te lopen!

U zult opmerken dat wanneer u eerste open verwerkt is vrijwel identiek aan Energia. Ze zijn gebaseerd uit hetzelfde soort (bedrading, geloof ik). Dit maakt het super intuïtief aan de slag! Kopieer en plak mijn code in het editorvenster en klik op de afspeelknop in de linker bovenhoek ("uitvoeren").

Een klein venster moet verschijnen die twee drop-down menu's en drie knoppen heeft. Deze besturingselementen kunnen u selecteren welke MIDI-uitgang te verbinden en welke seriële poort invoerbronnen op te luisteren. De knop Vernieuwen kunt u de lijsten te vernieuwen als u ontkoppelen/plug in uw launchpad of een MIDI-aansluiting. Voor onze doeleinden, sluit de MIDI Out-lijn naar loopMIDI (Windows) of de virtuele MIDI-poort zelfgemaakt eerdere (Mac/Linux). Sluit de controller en de seriële poort verbinden met de seriële poort waarop de controller brandt. Het moet degene die u gebruikt in combinatie met Energia. MIDI input van je controller moet nu bereiken wat aan het andere einde van uw virtuele MIDI-poort is aangesloten.

Gerelateerde Artikelen

DIY - USB-oscilloscoop IN een LUCIFERDOOSJE

DIY - USB-oscilloscoop IN een LUCIFERDOOSJE

Presenteer ik een "BEST OF CLASS", "Full-Featured" DIY-USB-oscilloscoop die "Echt DIY".Mijn doel is bedoeld als een goedkope digitale--geheugenoscilloscoop voor ontluikende ingenieurs, studenten en de Hobbyist.Deze USB-oscill
DIY Xbox 360 controller ontvanger met LinkIt ONE

DIY Xbox 360 controller ontvanger met LinkIt ONE

In dit Instructable, zal ik u vertellen hoe maak je een Xbox 360 controller-ontvanger, uw Xbox 360-controller verbinden met uw PC om spellen te spelen.Om dit te doen, hebt u de volgende items nodig:Xbox 360 phat ROL Raad van bestuurLinkIt één en de k
Maak een USB NES Controller

Maak een USB NES Controller

deze tutorial combineert een originele NES-controller, USB toetsenbord, draad en tact schakelaars in een USB NES controller geschikt voor gebruik met NES en arcade emulators. Het basisidee is dat de Keyboard controller-eenheid is geïnstalleerd in de
Maak uw eigen goedkope USB MIDI-Controller of toetsenbord

Maak uw eigen goedkope USB MIDI-Controller of toetsenbord

Ik was op zoek naar een USB MIDI controller-apparaat (of interface) voor muziek toepassingen zoals piano of orgel toetsenbord of pedalboard. Na wat onderzoek wilde ik gaan naar een meer "zelfgemaakte" oplossing. Mijn keuze is tenslotte gericht o
USB NES-controller met een arduino!

USB NES-controller met een arduino!

UPDATE 22-12-2014Instructables gebruiker mattpbooth heeft bijgewerkt de code en het is hosting op github:https://github.com/mattpbooth/ArduinoNESController...Matt bedankt!UPDATE 03-12-2011Een println vervangen met print (derp).UPDATE 01-12-2011Alle c
DIY USB koken Pan

DIY USB koken Pan

DIY USB koken Pan - Klik hier voor de meest populaire video's koken eieren met uw laptop. Controleer uw breakfeast op school.
Pro USB-DMX Controller en terminator voor QLC +

Pro USB-DMX Controller en terminator voor QLC +

Vandaag wil ik delen met u hoe maak je een professioneel uitziende USB DMX-controller te gebruiken met verlichting controlesoftware zoals QLC +. In ongeveer 5 tot 10 minuten en ongeveer $35 in delen en de scheepvaart.Dit project kan daadwerkelijk nee
USB SNES Controller

USB SNES Controller

eerste instructable. Laat me weten wat het nodig heeft en corrigeert.Ik maakte niet de circuit of programma. Ik ben gewoon het maken van een handleiding waarin stap voor stap montage van hoe maak je de USB SNES-controller. De originele pagina is hier
Het instellen van een USB NES-controller met NESTOPIA op de PC

Het instellen van een USB NES-controller met NESTOPIA op de PC

spelen NESTOPIA is niet hetzelfde zonder een NES USB-controller. In deze tutorial leert u hoe knoppen op de kaart en het instellen van de USB-NES CONTROLLER.
Professional USB Xbox controller

Professional USB Xbox controller

In dit instructable, ik ga u tonen hoe te maken van de meest professionele ogende USB Xbox controller. Nu, laten we naar het!Stap 1: Benodigdheden Bijna alles wat je nodig hebt is gecodeerd in de foto.U zult ook moeten:Schaar of mesHete lijmpistoolTa
Teensy MIDI USB-voet controller voor het beheersen van Mobius Looper

Teensy MIDI USB-voet controller voor het beheersen van Mobius Looper

Motivatie:Spelen in een band 2-delig, met de drums en een heleboel andere monsters wordt afgespeeld als backing tracks, ontstond een behoefte te gebruiken een looper meer elementen toevoegen aan de nummers. Een hardware gebaseerd looper mislukt in di
DIY USB laseraanwijzer

DIY USB laseraanwijzer

Hallo en welkom op mijn eerste ooit Instructable. Deze gaat een klein project, dus verwacht niet te veel van. Het is in principe gonna be wat de titel zegt: een klein laserpointer.(Kleine disclaimer: ik niet solderen of de buis krimpen goed gebruiken
DIY Modded PS3-Controller

DIY Modded PS3-Controller

twee nachten geleden ik zat te denken over hoe ik kon 'mod' mijn PS3-controller, zodat het beter en persoonlijker. Heb ik besloten om schroef rond met willekeurige dingen om te zien wat zou komen en... Zie! De machtige DIY sorta gamer's modded contro
DIY Synth + MIDI controller

DIY Synth + MIDI controller

Wilt u worden kundig voor zeggenschap uw DIY Synth met MIDI?Spelen met een toetsenbord of het volgnummer in uw favoriete Audio-editing software?Stap 1: BenodigdhedenHardware1 x DIY Synth-Kit1 x Arduino Uno1 x Usb kabel1 x 10 k ohm weerstand1 x 0.1uF