DIY USB DJ Controller (9 / 16 stap)

Stap 9: Firmware - primaire Microcontroller


Nu kunnen we de primaire microcontroller programmeren. De andere MSP430G2553 in de Launchpad plaatsen en aansluiten op uw computer. Energia moet zitten helemaal troep opwaarts reeds.

De Main-microcontroller is verantwoordelijk voor het lezen van de diverse knoppen, de rest van de analoge besturingselementen (6 in totaal), interpretatie van de input van de roterende encoder en seriële data doorgeven van de secundaire microcontroller door aan de aangesloten computer.

Inzicht in de Code

Eerst zal ik bespreken wat de belangrijkste microcontroller doet met de secundaire Microcontroller berichten want het is het eenvoudigst. De secundaire Microcontroller berichten komen al in op de pin van de RXD vooraf geformatteerd, zodat de belangrijkste microcontroller gewoon resends het ontvangen bericht op eigen TXD pin op de computer. De code voor dit is gevonden in de hoofdlus onderaan. Dat is alles wat er op het toetsenblok berichten voor nu.

Nu als we naar de top van het programma kijken, zult u merken dat ik een klasse met de naam AnalogControl definieert. Deze klasse is vrijwel identiek aan de SPI_Control in de secundaire microcontroller-firmware, maar het leest de ingebouwde ADC in plaats van vragen van de MCP3008 voor een waarde. Het heeft ingebouwde gemiddeld en vloeiend maken van code. Waardoor dit een klasse kunt u eenvoudig configureren van een willekeurig aantal analoge besturingselementen. U kunt instellen welke het besturingselement-ID is de pin die de waarde van de ADC wordt bemonsterd van en de gevoeligheid van het besturingselement.

Vervolgens is de Rotary Encoder-klasse. Hierdoor kunt u eenvoudig configureren van een willekeurig aantal rotary encoders zo goed, maar voor mij een volstaat in dit project. De Rotary Encoder klasse hoeft te weten wat pennen te gebruiken. De eerste twee zijn de werkelijke roterende encoder en de derde is de geïntegreerde knop input.

In de lus, we bellen isNew voor elk besturingselement en de retour waarde gebruiken om te bepalen of wij een besturingselement aangepast of niet sturen moeten. De functie isNew bevat ingebouwde vloeiend maken voor analoge besturingselementen zodat een nieuwe waarde niet elke lus verzonden (gemeten weerstanden kunnen enigszins unstable voor verschillende redenen, zoals temperatuur en trillingen), Hiermee voorkomt u dat besturingselement jitter.

We controleren ook een matrix van Boole-waarden die aangeven of een digitale bediening staat is gewijzigd. Deze vlag is ingesteld in de interrupt service routines voor een bepaalde knop. Nogmaals, dit gebeurt omdat het verzenden van seriële data in een ISR inefficiënt is.

Voor een uitleg van de werking van de code van de roterende encoder, controle uit dit leerprogramma.

Dank aan de bildr leerprogramma hierboven, dat is wat ik mijn code roterende encoder off van gebaseerd!

Uploaden van de Code

Nu dat je de belangrijkste microcontroller code begrijpt, annuleerteken wij uploaden op voor de microcontroller! Kopieer mijn code in uw Energia-venster en klik op de "verify" knop. Wanneer het bouwproces compleet is en zonder fouten, kunt u de code uploaden naar de microcontroller.

Microcontroller blijft in de Launchpad in het voltooide project, dus u gewoon waar het is laten kunt zodra u klaar bent met programmeren.

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