Sommario:

Controller di gioco accelerometro: 8 passaggi
Controller di gioco accelerometro: 8 passaggi

Video: Controller di gioco accelerometro: 8 passaggi

Video: Controller di gioco accelerometro: 8 passaggi
Video: Ecco alcuni dei miei giochi 🥰 #simonepedersoli #playstation #ps4 #giochi #game 2024, Luglio
Anonim
Controller di gioco accelerometro
Controller di gioco accelerometro

Testo Voorlopige…

Fase 1: MATERIALE

MATERIALE
MATERIALE
  • Arduino Leonardo: un microcontrollore con bordo anche come controller di gioco.
  • Cavo micro USB: su un controller di gioco e su un computer.
  • Tagliere: zo hoeven we niet te solderen en blijft ons ontwerp makkelijk aanpasbaar.
  • Fili per ponticelli breadboard: tutti i componenti con i dettagli.
  • Accelerometro MPU6050: un sensore può essere utilizzato in diversi modi, più facilmente in smartphone, hoverboard e robot di bilanciamento.
  • Due mini pulsanti: tutti i pulsanti di programmazione e lo stesso accelerometro.

Opzioni:

Breadboard e Arduino hoder: om compact te kunnen werken

Passaggio 2: SOFTWARE ARDUINO

Per poter iniziare a programmare il programmatore, abbiamo il software giusto da utilizzare sul controller di gioco, e su Arduino Leonardo, le idee migliori. Om dit te installeren, ga je als volgt te werk:

  • Vai al prossimo link alla pagina di download di Arduino:
  • Kies voor de juiste software op base van je sistema operativo.
  • Fai clic per scaricare.
  • Je hebt nu een (.exe) bestand dat je uitvoert door er op te dubbel klikken om de installatie te vervolledigen.

!!! Wij hebben onze controller gecreëerd with het gedownloade programma. La versione dell'app di Windows può essere eseguita anche in caso di necessità, ma può essere utilizzata in un pacchetto.

  • Apri il software Arduino.
  • Collegare Arduino Leonardo con il cavo micro USB e il computer, i driver di Leonardo sono automaticamente geïnstalleerd (dit gebeurt enkel anche het de eerst keer is it je de Arduino aansluit).

Anche se non è stato modificato con il software Arduino, di cui si controlla e di più di Arduino Leonardo, il verbinding maakt con il computer, dan kan je dat makkelijk testen con un voorbeeldprogramma:

  • Kies via Bestand > Voorbeelden > 01. Basics > Blink om een voorbeeldprogramma te openen.
  • Vervolgens je bij Hulpmiddelen > Board > Arduino Leonardo con il software te laten weten welk type board wij gaan gebruiken.
  • Selecteer de juiste seriële poort door bij Hulpmiddelen > Poort > COMx (Arduino Leonardo te kiezen. Dit doe je om aan te geven via welke USB poort je Arduino communiceert.
  • Clicca sul linkerbovenhoek op het pijltje symbool om het voorbeeldprogramma te uploaden.
  • Links beneden zie je een indicae die aantoont dat het program aan het uploaden is, gevolgd door de boodschap 'uploaden voltooid' bij succes.

!!! Als het uploaden niet lukt en een rode foutmelding geeft dan ligt dit vaak aan een fout in de code. In dit geval gebruiken abbiamo een foutloze voorbeeldcode, waardoor de fout bij de connectie tussen de Leonardo en je computer moet liggen.

Passaggio 3: CARTELLA LIBRERIA

Zijn di Arduino in staat om heel veel data te verwerken. Dit zorgt er voor dat er ook veel code nos om deze data corretto te compileren. Om deze code niet eindeloos lang en complex te schrijven, maken wij gebruik van Arduino Libraries, bibliotheken van code die bepaalde sensor gaan sturen en ons werk and stuk makkelijker maken. Le librerie del progetto Ons gebruik drie soortgelijke: Wire, I2Cdev e MPU6050. Il software Arduino contiene una buona base di librerie ingebouwd, anche una sola volta (Wire) bibliotheek, maar de twee andere dienen we zelf nog te installeren:

  • Volg deze link e clicca su 'Clone or Download' e scarica il file ZIP
  • Pak de ZIP file uit om toegang te krijgen tot de bestanden.
  • In de bekomen map vind je tramite i2cdevlib-master > Arduino de folders 'I2Cdev' en MPU6050.
  • Visualizza la mappa vicino alla mappa Arduino tramite C > Programmi > Arduino > Librerie.

!!! Indien je de bij de installe van de software zelf een andere locatie opgegeven hebt dan, vind je de nogge mapen daar. Non è necessario leggere la mappa e la mappa.

  • Sluit de Arduino software af en start ze opnieuw op om toegang tot de library te krijgen.
  • Via Schets > Bibliotheek Gebruiken kan je controleren of nu ook I2Cdev en MPU6050 te vinden zijn.

Fase 4: ACCELEROMETRO - DE THEORIE

ACCELEROMETRO - DE THEORIE
ACCELEROMETRO - DE THEORIE

Un accelerometro funziona sulla base dell'effetto piezoelettrico. Stel je een kubusvormig doosje voor waar een klein balletje in zit (zoals in de bovenstaande illustratie) waar elke wand gemaakt is uit piezoelektrische kristallen. Wanneer je de kubus kantelt verplaatst het balletje zich naargelang de zwaartekracht. Waar het balletje de kubus wanden raakt ontstaat er piezoelectrische stroom. De drie paar evenwijdige wanden van de kubus worden gekoppeld aan de driedimensionale X, Y e Z assen. Afhankelijk van de piezoelectrische stroom geproduceerd langs deze wanden kunnen we zo de versnelling in drie dimensies bepalen.

Om een praktijkvoorbeeld te geven: In elke smartphone zit tegenwoordig ook standard een accelerometro. Deze zorgt er onder andere voor dat je scherm automatisch meedraait als je smartphone kantelt.

Fase 5: ACCELEROMETRO - DE PRAKTIJK

ACCELEROMETRO - DE PRAKTIJK
ACCELEROMETRO - DE PRAKTIJK

Non abbiamo mai visto un accelerometro di verifica in X, Y e Z come si può vedere, ma anche incontrare il software Arduino quando muoiono i dati ook e che cosa è successo e poi. Om dit te doen ga je als volgt te werk:

Sluit de accelerometer aan volgens bovenstaand schema en verbind de Arduino Leonardo with je computer

!!! Le parole dell'accelerometro consentono di visualizzare i punti in cui non si desidera eseguire operazioni su una breadboard, quindi è possibile utilizzare i punti per non congelare le parole. Je krijgt de optie om die haaks op je breadboard te plaatsen (bespaart plaats) di evenwijdig zoals in ons voorbeeld.

  • Scarica il file 'MPU6050_intro' e apri il programma nel software Arduino.
  • Controllore di je boardtype en poud nog destrieri juist staan.
  • Clicca sul linkerbovenhoek op het pijltje om het programma up te loaden.
  • Selettore tramite Hulpmiddelen > Seriële Monitor
  • Een nieuw venster opent met 3 kolommen met getallen, dit zijn de versnellingen in de X, Y en Z assen.
  • Beweeg je accelerometer om de versnellingen in alle richtingen te zien.

Terwijl we onze versnellingsdata voor ons hebben kunnen we meteen verkennend werk doen voor onze game controller. La gamba di Arduino e il piatto dell'accelerometro su un pezzo e su una nota gemella di X e Y waarde (mag een ruwe schatting zijn). Onderneem daarna volgende stappen:

  • Kantel de accelerometer 45° vicino a rechts en noteer de gemiddelde X waarde.
  • Kantel de accelerometro 45° vicino a collegamenti e noteer de gemiddelde X waarde.
  • Indicatore dell'accelerometro a 45° vicino all'osservatore della gemma e dell'orologio.
  • Indicatore dell'accelerometro a 45° dopo l'altro e l'indicatore di gemma e distanza.

Passaggio 6: CONTROLLER DI GIOCO

CONTROLLER DI GIOCO
CONTROLLER DI GIOCO

Klaar voor het echte werk! Abbiamo gebruiken onze accelerometro stesso con due drukknoppen om het brein van onze eigen game controller te worden. Koppel de Arduino e l'accelerometro si spostano su uno schema completamente nuovo.

!!! I mini pulsanti sono disponibili anche in un paio di giorni. Druk die plat incontra un punto con ze makkelijker in je breadboard te krijgen.

  • Scarica il file 'MPU6050_gamecontroller' e apri il programma nel software Arduino.
  • Verbind je Arduino en klik in de linkerbovenhoek op het pijltje om het program up te loaden.
  • De Arduino Leonardo fornisce informazioni costanti sul computer. Wil je de datavoer even pauzeren, koppel dan de jump wire op pin 12 even los, en verbind die opnieuw als je verder wilt gaan.
  • Profizia! Non esiste un controller di base che funziona, provalo e usa pacman.

Geen paniek als je controller niet metéén doet wat je had verwacht. Dat betekent gewoon dat we nog calibratie werk hebben om de controller aan te passen naar onze noden. Daarvoor duiken abbiamo nel codice Arduino

Passaggio 7: CODICE - LIBRERIE UTILIZZATE

CODICE - LIBRERIE USATE
CODICE - LIBRERIE USATE

Het leuke aan codice Arduino è dat deze snel aanpasbaar is zonder dat je daarvoor een uitgebreide programmeerkennis moet hebben. Om je op weg te helpen overlopen we kort waar je wat vindt, en wat je kan aanpassen om je controller kalibreren.

Nel codice 'MPU6050_gamecontroller' vind je een heleboel lichtgrijze tekst. Questo è il testo die geen invloed heeft op de code, maar die dient om de code wat te structureren. Ook tekst die na // komt, staat los van de code en dient als verduidelijking. De eerste echte code vinden we terug onder de titel 'Biblioteche usate', daar herken je meteen de library die we in stap drie geïnstalleerd hebben.

  • #includere geeft aan dat we de 'IC2dev' bibliotheek gaan gebruiken
  • const int ENABLE = 12 geeft aan dat we pin 12 gebruiken als veiligheid. È questo pin niet verbonden dan stopt ons programma automatico.
  • const int A_BUTTON = 6 geeft aan dat onze A knop aangesloten is op poort 5

!!! De code onder Setup zijn afspraken tussen je Arduino en je computer over hoe deze communiceren, in ons geval laten we dit deel code gewoon zoals ze is.

Passaggio 8: CODICE: LOOP

CODICE: LOOP
CODICE: LOOP

Il titolo 'Loop' è legato al codice di accesso non stop e anche ad Arduino Leonardo senza problemi è incontrato dal computer e il pin 12 è aangesloten. Het è ook meteen het deel van de code waar we het meest kunnen aanpassen. De code on 'button A' en 'button B' è gekoppeld aan onze mini pulsanti kan je aanpassen door nel de code Keyboard.release ('a') enKeyboard.release ('a') twee maal de ('a') te vervangen door eender weke ander keyboard toets.

!!! Sommario keyboardtoetsen moet kan je niet rechtstreeks intypen maar hebben een code. Zo zou je de 'Delete' knop moet ingeven als 'KEY_DELETE' of als decimale waarde '212'. Een lijst van dit soort uitzonderingen binnen arduino vind je via deze link. Non ci sono più informazioni e non vedo le migliori tra le tabelle ASCII.

Onder de right, left, up and down vind je vrij gelijkaardige code als bij de button, het grote verschil zit hem in het if (accx < -20000) deel van de code. Questo non è più vicino all'accelerometro: anche all'accelerometro fino a quando non c'è una parola chiave da -20000 a meno di una parola più piccola (KEY_RIGHT_ARROW) ingeduwd. Kantel je opnieuw naar links en wordt de waarde groter dan -20000 dan laat hij de rechter pijltoets opnieuw los.

Hier komen de genoteerde waarden uit stap vijf van pas. Passare la guardia aan naargelang je noties om zo jou specifieke accelerometer te kalibreren. Je kan deze waarden bijstellen naargelang je eigen speelstijl.

Tenslotte vinden we helemaal onderaan de code delay (50). Questo codice stukje vertraagt het aantal tastiera toetsen die je computer doorkrijgt. Merkje dat je controller te veel commando's doorgeeft dan verhoog je dit getal met enkele tientallen. Reageert alles te traag dan verklein je het getal wat.

Trial en error is de boodschap!

Consigliato: