Innholdsfortegnelse:

Håndholdt konsoll med trådløse kontrollere og sensorer (Arduino MEGA & UNO): 10 trinn (med bilder)
Håndholdt konsoll med trådløse kontrollere og sensorer (Arduino MEGA & UNO): 10 trinn (med bilder)

Video: Håndholdt konsoll med trådløse kontrollere og sensorer (Arduino MEGA & UNO): 10 trinn (med bilder)

Video: Håndholdt konsoll med trådløse kontrollere og sensorer (Arduino MEGA & UNO): 10 trinn (med bilder)
Video: Top 5 bedste gaming håndholdte i 2024 | Hvilken skal du købe? 2024, Juli
Anonim
Image
Image
Koble til (berøringsskjermen)
Koble til (berøringsskjermen)

Det jeg brukte

- Arduino MEGA

- 2x Arduino UNO

- Adafruit 3,5 TFT 320x480 berøringsskjerm HXD8357D

- summer

- 4 Ohm 3W høyttaler

- 5 mm LED -lys

- Ultimaker 2+ skriver m/ svart PLA -filament

- Laserskærer m/ MDF -tre

- Svart spraymaling (for treverket)

- 3x nRF24L01+ Trådløse mottakere

- 2x 16 mm knapp

- 2x trykksensorer

- 3x 9V batteriholdere

- Brødbrett

- 2x 0,96 '' OLED I2C -skjermer

- Mannlige - kvinnelige ledninger

- Loddemaskin

- Superlim

- 2x en-kanals berøringsmodul (RØD/BLÅ)

Trinn 1: Koble til (berøringsskjermen)

Koble til (berøringsskjermen)
Koble til (berøringsskjermen)
Koble til (berøringsskjermen)
Koble til (berøringsskjermen)

Så vi skal lage dette til en håndholdt konsoll, med to trådløse kontrollere.

Derfor vil vi ha en hovedenhet (Den største delen, med LCD -skjermen)

Hovedenheten kjøres med Arduino MEGA.

De to separate kontrollerne vil kjøre en Arduino UNO.

Senere vil vi få Arduinos til å kommunisere med hverandre for å sende data fra kontrolleren.

Start med å koble 320x480 -skjermen riktig til hovedskjermenheten (Arduino MEGA) som i denne opplæringen. (Adafruit har en flott detaljert opplæring for ledninger og kode).

For lyd, koblet jeg en summer og en 3W 4Ohm høyttaler for å skille digitale pins og GND.

med tonen (pin, frekvens, varighet); Du kan lage noen grunnleggende monofoniske lyder.

Trinn 2: Bli kjent med bibliotekene

Bli kjent med bibliotekene
Bli kjent med bibliotekene
Bli kjent med bibliotekene
Bli kjent med bibliotekene

Adafruit 320x480 -skjermen støtter de tilsvarende Adafruit_GFX- og Adafruit_TFTLCD -bibliotekene.

Les dokumentasjonen. Jeg tror det er forklart ganske bra der.

Sørg for å sette inn de riktige innstillingene i Arduino IDE:

Verktøy -> Brett -> Arduino/Genuino MEGA eller MEGA 2560

Verktøy -> Port -> [Porten med '' Arduino MEGA '' i den]

Dette bestemte skjermbiblioteket støtter tilpassede fonter, grunnleggende former og en rekke farger.

Noe bemerkelsesverdig kan være at oppdateringsfrekvensen er for lav for jevn animasjon. Hvis du vil oppdatere skjermen hver hake, vil det være for sakte å håndtere tegningen av hver piksel, og den vil flimre

Så jeg vil foreslå å jobbe kreativt rundt dette, som hvordan noen av de eldre grafregnerne håndterte animasjon: med nøkkelbilder. Mindre er mer! Og i stedet for å tegne alt på nytt hvert sekund, hvis du vil flytte et rektangel til venstre eller høyre, kan du ganske enkelt slette stien det etterlater seg, i stedet for å slette hele objektet og tegne det på nytt.

For eksempel brukte jeg skjermflimmer som en blinkende effekt for karakteren i introsekvensen.

Fra Adafruit_GFX biblioteket brukte jeg hovedsakelig tft.fillRect (x, y, bredde, høyde, farge); og tft.print (tekst); funksjoner.

Å eksperimentere er nøkkelen.

Trinn 3: Utform et grafisk brukergrensesnitt / hovedmeny

Design et grafisk brukergrensesnitt / hovedmeny
Design et grafisk brukergrensesnitt / hovedmeny
Design et grafisk brukergrensesnitt / hovedmeny
Design et grafisk brukergrensesnitt / hovedmeny

Etter å ha fått kunnskap i biblioteket og vite dets begrensninger/krefter, kan du begynne å designe en hovedmenyskjerm.

Igjen, tenk på rektangler. Det var i hvert fall det jeg gjorde.

Her er koden min for brukergrensesnittet

pastebin.com/ubggvcqK

Du kan lage glidebrytere for skjermens lysstyrke, for å kontrollere '' Lite '' -nålen på Adafruit -berøringsskjermen, gjennom en analog pin.

Trinn 4: Koble til de to kontrollerne

Koble til de to kontrollerne
Koble til de to kontrollerne
Koble til de to kontrollerne
Koble til de to kontrollerne
Koble til de to kontrollerne
Koble til de to kontrollerne

For kontrolleren er det faktisk opp til deg hva slags sensorer du vil bruke, avhengig av hvilket spill du planlegger å lage

Ok, så for kontrollerne bestemte jeg meg for å bruke:

- En trykksensor

- En OLED -skjerm

- En-kanals berøringsmodul som slås på eller av

Bevegelsessensor (RobotDyn APDS9960)

- nRFL01+ Transceiver (for trådløs kommunikasjon)

- En trykknapp

Merk: Gestusensoren og OLED bruker begge SCL / SDA -tilkoblinger. Det tok meg en stund å innse at Arduino bare har to: A4 og A5. Men du kan bare koble disse parallelt til brødbrettet, og det vil fungere fint

Trinn 5: Begynn å koble til den trådløse tilkoblingen

Begynn å koble til den trådløse tilkoblingen
Begynn å koble til den trådløse tilkoblingen
Begynn å koble til den trådløse tilkoblingen
Begynn å koble til den trådløse tilkoblingen
Begynn å koble til den trådløse tilkoblingen
Begynn å koble til den trådløse tilkoblingen

Det tok litt tid før jeg begynte å koble til nRF24L01+ -modulene.

Jeg måtte ty til TMRh20 RF24 -biblioteket, etter at jeg ikke klarte å få de riktige sensordataene overført til skjermen.

For at flere Arduinos skal kommunisere med hverandre, må vi sørge for at minst en av UNO -ene er drevet, så vel som MEGA.

Bruk seriekonsollen til MEGA til å skrive ut resultatene du får fra UNO, og se om det fungerer.

Her er koden

Her er biblioteket

Trinn 6: Bli vill! Prøv forskjellige ting

Bli gal! Prøv forskjellige ting
Bli gal! Prøv forskjellige ting

En avgjørende del av utviklingsprosessen min var å bare prøve mange ting!

Hva slags knapper vil du bruke?

Hva legger du i kontrollerne dine?

Se deg rundt på nettsteder, du vil finne mange komponenter i tillegg til de vanlige '' A/B '' -knappene eller analoge joysticks. Bli inspirert og motivert til å prøve!

Når du har fått en klar og fungerende idé om hva du vil putte i kontrollerne, koble komponentene.

Avhengig av hvordan de fungerer, må du bruke digitale innganger eller analoge innganger.

MERK: Noen komponenter kan trenge SCL / SDA -pinner for å fungere korrekt. Og hvis du har to eller flere sensorer som begge trenger det samme, vil du sannsynligvis få et panikkanfall som meg. Men du trenger ikke bekymre deg

Du kan sette både sensorens SDA- og SCL -pinner i serie med hverandre, gå inn i A4 og A5, og det vil fungere

Trinn 7: Design

Design
Design
Design
Design
Design
Design

Når du har fått en kul idé for sensorene du vil bruke, skisserer du noen ideer til et design du liker.

Etter det kan du gå inn i noen modelleringsprogrammer som Blender, Maya, Cinema 4D.

Jeg brukte Blender til å lage en (grov) modell.

For å få klare målinger i Blender, kan du endre enheten til rutenettstørrelsen til millimeter.

Etter at du har laget en modell, må du passe på at du ikke har doble hjørner og at du har beregnet dine normaler på nytt.

Eksporter filen som en.stl, hvis du vil bruke en 3D -skriver som meg.

MERK: I Blender må du sette eksportskalaen til 0,1 hvis du vil ha den nøyaktige størrelsen i Cura i neste trinn

Trinn 8: 3D -utskrift av vedlegg

3D -utskrift av vedlegg
3D -utskrift av vedlegg
3D -utskrift av vedlegg
3D -utskrift av vedlegg
3D -utskrift av vedlegg
3D -utskrift av vedlegg

Denne modellen ble skrevet ut med 2,85 mm svart PLA -filament på en Ultimaker 2+ -skriver.

Last ned CURA

Last inn. STL -en din i Cura, så viser den hvor lang tid det tar.

For en håndholdt eske kan det ta opptil 10 timer å skrive ut, avhengig av størrelse.

For modeller med lite detalj kan du imidlertid fremskynde prosessen, noe jeg gjorde.

Her er mine innstillinger:

Laghøyde: 0,2

Veggtykkelse: 0,8

Øvre/nedre tykkelse: 0,8

Dyse: 0,4

Temperatur: 60 grader Celsius

Flyt: 100%

Brem: Overalt som berører byggeplaten

Fylltetthet: 20%

Gradvis: 0

Dysetemperatur: 220 C

Utskriftshastighet: 120%

Trinn 9: Lodding og sluttbehandling

Lodding og sluttbehandling
Lodding og sluttbehandling
Lodding og sluttbehandling
Lodding og sluttbehandling
Lodding og sluttbehandling
Lodding og sluttbehandling

Du har kommet langt.

Det siste trinnet er å anskaffe et perfboard / veroboard, og oversette dine breadboard -tilkoblinger til en del av et prototypebrett.

Sørg for at elektronikken passer inn i de trykte skapene, og skjær eventuelt litt tre -MDF for å lage deler der knapper / kontrollerinnganger stikker gjennom.

Jeg brukte en laserskærer til dette.

Det viktigste er å skru deg rundt, prøve ut ting du aldri har gjort ellers, og ha det gøy!

Håper denne opplæringen var tydelig nok … Det var et ganske vanskelig prosjekt, som ga et flott resultat!:)

Trinn 10: Forhåndsvisning

Anbefalt: