Innholdsfortegnelse:

Accelerometer Game Controller: 8 trinn
Accelerometer Game Controller: 8 trinn

Video: Accelerometer Game Controller: 8 trinn

Video: Accelerometer Game Controller: 8 trinn
Video: Red Myol: BEST TRICKSHOT EVER! (CALLED OUT) "OMG YOURE INSANE MYOL!" 2024, Juli
Anonim
Akselerometer spillkontroller
Akselerometer spillkontroller

Forlopige tekst …

Trinn 1: MATERIALE

MATERIALE
MATERIALE
  • Arduino Leonardo: en mikrokontroller-bord som er en del av vår spillkontroller.
  • Micro USB -kabel: vår spillkontroller kan slås av på en datamaskin.
  • Breadboard: så hoeven vi ikke kan løse og beholde vårt design som enkelt kan brukes.
  • Breadboard jumper wires: om alle komponenter med hverandre å forbinde.
  • MPU6050 akselerometer: En sensor som gir versjoner i forskjellige riktige kanaler, som ofte i smarttelefoner, hoverboards og balanserende roboter finner.
  • To mini trykknapper: for å programmere den som står for vårt akselerometer.

Alternativ:

Breadboard en Arduino houder: om kompakte te kan fungere

Trinn 2: ARDUINO -PROGRAMVARE

For at vi kan begynne å bygge og programmere har vi den riktige programvaren som er nødvendig for å kunne bruke vår spillkontroller, en Arduino Leonardo, som kan bestilles. Om dette skal installeres, kan du også følge følgende:

  • Gå via følgende lenke til nedlastingssiden for Arduino:
  • Velg den riktige programvaren for ditt operativsystem.
  • Klikk på nedlasting.
  • Du har en (.exe) fil som du kan utføre for å dobbeltklikke på installasjonen for å bli fjernet.

!!! Vi har vår kontroller kontrollert med det nedlastbare programmet. Windows -versjonen av versjonen kan også brukes, men vi kan også kjøpe en liten versjon.

  • Åpne de Arduino -programvaren.
  • Tilkoblingen til Arduino Leonardo med mikro -USB -kabel til datamaskinen, de Leonardo -driverne blir automatisk installert (dette kan bare skje når den første gangen det er en Arduino -tilkobling).

Hvis du ikke har noe å gjøre med Arduino -programvaren, kan du kontrollere at en av Arduino -Leonardo -feilene ikke er koblet til datamaskinen din, og du kan lage en prøve med et eksempelprogram:

  • Velg via bestand> Bilde> 01. Grunnleggende> Blink for å åpne et eksempelprogram.
  • Vervolgens velger du hos Hulpemidler> Brett> Arduino Leonardo om programvare for å la oss vite hvilken type bord vi vil bruke.
  • Velg den riktige serielle porten til Hulpemidler> Poort> COMx (Arduino Leonardo kan velge. Dette kan du gi oss via USB -porten som er Arduino -kommunikasjon.
  • Klikk på linkerboksen for å velge symbolet for å laste opp programmet.
  • Lenker finner du en indikasjon på at programmet kan lastes opp, og derfor kan det lastes opp til å laste opp voltooid til suksess.

!!! Når det ikke lastes opp og en feilmelding gir, kan det ofte oppstå et feil i koden. I dette tilfellet kan vi bruke en feilfri eksempelkode, der det kan oppstå feil ved tilkobling mellom Leonardo og datamaskinen.

Trinn 3: LIBRARY MAPPE

Arduino's are in state om heel veel data te verwerken. Dette er en grunn til at vi også trenger mye kode for å samle disse dataene. Om denne koden ikke er uendelig lang og kompleks for å skrive, kan vi bruke Arduino Libraries, bibliotekstegn for koden som bestemte sensorer kommer til å fungere som en enhet for å lage. Vi kan bruke lignende biblioteker: Wire, I2Cdev og MPU6050. Den Arduino -programvaren har et godt grunnlag for biblioteker som er innebygd, også som vår første (Wire) bibliotheek, men de to andre tjenestene vi selv kan installere:

  • Følg denne lenken og klikk på 'Clone or Download' og last ned ZIP -filen
  • Pak zip -filen for å få tilgang til filene.
  • I kartet finner du vindu via i2cdevlib-master> Arduino de mapper 'I2Cdev' og MPU6050.
  • Kopier begge kartene til Arduino -kartet via C> Programfiler> Arduino> Biblioteker.

!!! Hvis du har installert programvaren selv, har du en annen posisjon som du har angitt og funnet. Det er ikke meningen at du selv må kartlegge.

  • Lukk Arduino -programvaren for å få tilgang til bibliotekene igjen.
  • Via Schets> Bibliotek kan jeg kontrollere at jeg også kan finne I2Cdev og MPU6050.

Trinn 4: ACCELEROMETER - DE THEORIE

ACCELEROMETER - DE THEORIE
ACCELEROMETER - DE THEORIE

Et akselerometer fungerer på grunnlag av den piezoelektriske effekten. Sett deg en kubusformig doosje for hvor en liten ballett i sitte (som i den ovennevnte illustrasjonen) hvor hver wand ble laget av piezoelektrische kristallen. Når du kan koble kontakten til balletten, kan du komme til den store kilden. Hvor det er balletje de kubus wanden raakt ontstaat is piezoelectrische stroom. De tre parene kan også brukes til å tørke dimensjonale X, Y og Z assen. Avhengig av de piezoelektriske strømproduksjonene langs denne måten kan vi de versnelling i tre dimensjoner bestemme.

For eksempel: En smarttelefon er også en standard akselerometer. Denne sikkerheten er blant andre for at skjermen automatisk kan brukes som smarttelefon.

Trinn 5: ACCELEROMETER - DE PRAKTIJK

ACCELEROMETER - DE PRAKTIJK
ACCELEROMETER - DE PRAKTIJK

Vi vet at et akselerometer for versnelling i X, Y og Z kan brukes, men med vår Arduino -programvare kan vi også se data som virkelig ser og fungerer. Om dette skal du gjøre som du vil følge:

Lukk akselerometeret etter ovennevnte skjema og forbinder Arduino Leonardo med datamaskinen

!!! Akselerometeret kan brukes av de nodige pinnene for å lage et brødbrett, men disse pinnene kan også bli samlet. Du får det beste alternativet for å bruke brødbrett til steder (bestillingsplass) eller liknende i vårt eksempel.

  • Last ned vår 'MPU6050_intro' -fil og åpne denne i Arduino -programvaren.
  • Controller of je boardtype en poort nog steeds juist stand.
  • Klikk i linkerboksen for å velge programmet du vil laste ned.
  • Velg via hjelpemiddel> Seriell monitor
  • Et nytt vindu kan åpnes med 3 farger med versjoner, det er versjoner i X, Y og Z assen.
  • Du kan se akselerometeret i versjonene for å se alle retningslinjer.

Mens vi har våre versnellingsdata for at vi har kunnet vi arbeide effektivt for vår spillkontroller. Leg de Arduino og akselerometer som er på bordet og noter gjennomsnittlig X og Y -verdi (kan skille ut et ruwe). Følgende ytterligere trinn:

  • Kantel av akselerometer 45 ° mot høyre og noter av gjennomsnittlig X -verdi.
  • Antall akselerometer 45 ° til koblinger og noter av gjennomsnittlig X -verdi.
  • Akselerometer -kant 45 ° for gjennomsnittlig verdi.
  • Antall akselerometer 45 ° til bak og noter av gjennomsnittlig verdi.

Trinn 6: SPILLKONTROLLER

SPILLKONTROLLER
SPILLKONTROLLER

Klaar for det virkelige arbeidet! Vi bruker vårt akselerometer sammen med to drukknopper for å lage vår egen spillkontroller. Koble de Arduino og akselerometeret for å bygge helt opp på nytt etter ovennevnte skjema.

!!! De minimale trykknappene har ofte en butikk i butikken. Trykk på plata for å få en bestilling i brødbrettet.

  • Last ned filen 'MPU6050_gamecontroller' og åpne denne i Arduino -programvaren.
  • Koble deg til Arduino og klikk i linkerboksen for å velge programmet du vil laste ned.
  • De Arduino Leonardo sender nå konstant informasjon om datamaskinen. Du kan også koble data til og fra koble til pinne 12 og koble den til igjen når du vil gå videre.
  • Profesjonelt! Du har nå en grunnkontroller laget, test den en gang fra pakken.

Ingen panikk som din kontroller ikke metéén gjør hva du hadde behov. Det betyr bare at vi ikke har kalibrering for å kontrollere våre passasjerer. Daarvoor duiken vi i de Arduino -koden

Trinn 7: KODE - BRUKTE BIBLIOTEKER

KODE - BRUKTE BIBLIOTEKER
KODE - BRUKTE BIBLIOTEKER

Den morsomme Arduino -koden er at denne raske muligheten er uten at du trenger en utvidet programmering. Hvis du vil hjelpe deg med å overlope, kan vi finne ut hvor du finner, og hva kan du pakke med kontrolleren.

I koden 'MPU6050_gamecontroller' finner du en heleboel lett tekst. Det er tekst som ikke har noen innvirkning på koden, men den må kodes for å strukturere. Også tekst som na // kommer, kan koden og tjenesten også bli tvunget. Den første virkelige koden finner vi tilbake til tittelen 'Brukte biblioteker', og her kan du bruke bibliotekene som vi har valgt å installere.

  • #inkludere gir oss at vi kan bruke 'IC2dev' biblioteket
  • const int ENABLE = 12 gir til at vi kan bruke 12 som sikkerhet. Er denne pinnen ikke verbonden og stopper programmet automatisk.
  • const int A_BUTTON = 6 gir oss informasjon om at en knapp er angitt for poeng 5

!!! Koden for oppsett er avspilt mellom arduino og datamaskin over denne kommunikasjonen.

Trinn 8: KODE: LOOP

KODE: LOOP
KODE: LOOP

Under tittelen 'Loop' finner du linjens kode som ikke stopper når vårt Arduino Leonardo -verbonden er oppfylt av datamaskinen og pin 12 er angesloten. Det er også en del av koden der vi mest kan pakke. Koden under 'knapp A' og 'knapp B' er tilgjengelig for våre små trykknapper, og du kan legge inn en dør i koden Keyboard.release ('a') enKeyboard.release ('a') to maal de ('a') du erstatter door eender hvilket annet tastatur.

!!! Noen tastaturer må ikke ha direkte kontakt med en kode. Zo zou je the 'Delete' button must ingeven as 'KEY_DELETE' of as desimale waarde '212'. En liste over denne typen utelukkende innen arduino vind er via denne lenken. Vil du ikke ha mer informasjon, kan du se de beste engangene til ASCII -tabellen.

Under høyre, venstre, opp og ned finner du en gratis kode som en av knappene, den store forskjellen finner du i (ifx <-20000) del av koden. Dette viser til akselerometeret: som akselerometer til høyre kant og et verdi -klokkeslett fra -20000 kan leses og blir valgt av pilene (KEY_RIGHT_ARROW). Kantel er igjen for koblinger og blir verdifulle større enn -20000 og kan deretter føre til at pilene blir igjen.

Her kommer de genererte verdiene ut fra fem av pasene. Du kan glede deg over spesifikke akselerometer for kalibrering. Du kan velge mellom å velge mellom dine egne spillstiler.

Tenslotte finner vi helemaal underaan de code delay (50). Datastykkekoden har flere tastaturtaster som datamaskinen kan lukke. Merk at den kontrolleren har mange kommandos dørvakter og en økning av flere ganger. Reageert alt å traag og verkelen er det du trenger.

Prøve og feil er de boodschap!

Anbefalt: