Indholdsfortegnelse:

Håndholdt konsol med trådløse controllere og sensorer (Arduino MEGA & UNO): 10 trin (med billeder)
Håndholdt konsol med trådløse controllere og sensorer (Arduino MEGA & UNO): 10 trin (med billeder)

Video: Håndholdt konsol med trådløse controllere og sensorer (Arduino MEGA & UNO): 10 trin (med billeder)

Video: Håndholdt konsol med trådløse controllere og sensorer (Arduino MEGA & UNO): 10 trin (med billeder)
Video: CS50 Live, Episode 003 2024, Juli
Anonim
Image
Image
Tilslut (berørings) skærmen
Tilslut (berørings) skærmen

Hvad jeg brugte

- Arduino MEGA

- 2x Arduino UNO

- Adafruit 3,5 TFT 320x480 Touchscreen HXD8357D

- summer

- 4Ohm 3W højttaler

- 5 mm LED lys

- Ultimaker 2+ printer m/ sort PLA filament

- Laserskærer m/ MDF træ

- Sort spraymaling (til træet)

- 3x nRF24L01+ trådløse transceivere

- 2x 16 mm knap

- 2x trykfølere

- 3x 9V batteriholdere

- Brødbræt

- 2x 0,96 '' OLED I2C skærme

- Mandlige - hunledninger

- Loddemaskine

- Super lim

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

Trin 1: Tilslut (touch) skærmen

Tilslut (berørings) skærmen
Tilslut (berørings) skærmen
Tilslut (berørings) skærmen
Tilslut (berørings) skærmen

Så vi vil gøre dette til en håndholdt konsol med to trådløse controllere.

Derfor vil vi have en hovedenhed (Den største del med LCD -skærmen)

Hovedenheden køres med Arduino MEGA.

De to separate controllere kører hver en Arduino UNO.

Senere får vi Arduinos til at kommunikere med hinanden for at sende controller data.

Start med at tilslutte 320x480 skærmen korrekt til din hovedskærm (Arduino MEGA) som i denne vejledning. (Adafruit har en fantastisk detaljeret vejledning til ledninger og kode).

Til lyd tilsluttede jeg en summer og en 3W 4Ohm højttaler for at adskille digitale ben og GND.

med tonen (pin, frekvens, varighed); Du kan oprette nogle grundlæggende monofoniske lyde.

Trin 2: Bliv fortrolig med bibliotekerne

Bliv fortrolig med bibliotekerne
Bliv fortrolig med bibliotekerne
Bliv fortrolig med bibliotekerne
Bliv fortrolig med bibliotekerne

Adafruit 320x480 skærmen understøtter de tilsvarende Adafruit_GFX og Adafruit_TFTLCD biblioteker.

Læs dokumentationen. Jeg synes, det er forklaret lidt godt der.

Sørg for at sætte de rigtige indstillinger i Arduino IDE:

Værktøjer -> Board -> Arduino/Genuino MEGA eller MEGA 2560

Værktøjer -> Port -> [Porten med '' Arduino MEGA '' i den]

Dette særlige skærmbibliotek understøtter tilpassede skrifttyper, grundlæggende former og en række forskellige farver.

Noget bemærkelsesværdigt kan være, at opdateringshastigheden er for lav til jævn animation. Hvis du vil opdatere skærmen hvert kryds, vil det være for langsomt at håndtere omtegning af hver pixel, og det vil flimre

Så jeg vil foreslå at arbejde kreativt omkring dette, som hvordan nogle af de ældre håndholdte håndterede animation: med keyframes. Mindre er mere! Og i stedet for at tegne alt igen hvert sekund, hvis du vil flytte et rektangel til venstre eller højre, kan du ganske enkelt slette det spor, det efterlader, i stedet for at slette hele objektet og tegne det igen.

For eksempel brugte jeg skærmflimmer som en blinkende effekt for karakteren ved introsekvensen.

Fra Adafruit_GFX biblioteket brugte jeg hovedsageligt tft.fillRect (x, y, bredde, højde, farve); og tft.print (tekst); funktioner.

At eksperimentere er nøglen.

Trin 3: Design en grafisk brugergrænseflade / hovedmenu

Design en grafisk brugergrænseflade / hovedmenu
Design en grafisk brugergrænseflade / hovedmenu
Design en grafisk brugergrænseflade / hovedmenu
Design en grafisk brugergrænseflade / hovedmenu

Efter at have opnået viden inden for biblioteket og kendskab til dets begrænsninger/beføjelser, kan du begynde at designe en hovedmenuskærm.

Tænk igen på rektangler. Det var i hvert fald det, jeg gjorde.

Her er min kode til brugergrænsefladen

pastebin.com/ubggvcqK

Du kan oprette skydere til skærmens lysstyrke for at styre '' Lite '' -nålen på din Adafruit Touchscreen gennem en analog pin.

Trin 4: Tilslut de to controllere

Tilslut de to controllere
Tilslut de to controllere
Tilslut de to controllere
Tilslut de to controllere
Tilslut de to controllere
Tilslut de to controllere

For controller -delen er det faktisk op til dig, hvilken slags sensorer du vil bruge, afhængigt af hvilket spil du planlægger at lave

Okay, så for controllerne besluttede jeg at bruge:

- En trykføler

- En OLED -skærm

- Et-kanals berøringsmodul, der tændes eller slukkes

- Gestusensor (RobotDyn APDS9960)

- nRFL01+ Transceiver (til trådløs kommunikation)

- En trykknap

Bemærk: Gestusensoren og OLED'en bruger begge SCL / SDA -forbindelser. Det tog mig et stykke tid at indse, at Arduino kun har to: A4 og A5. Men du kan simpelthen koble disse parallelt sammen på brødbrættet, og det vil fungere fint

Trin 5: Start tilslutning af den trådløse forbindelse

Start tilslutning af den trådløse forbindelse
Start tilslutning af den trådløse forbindelse
Start tilslutning af den trådløse forbindelse
Start tilslutning af den trådløse forbindelse
Start tilslutning af den trådløse forbindelse
Start tilslutning af den trådløse forbindelse

Tilslutning af nRF24L01+ modulerne tog mig noget tid, før det fungerede.

Jeg måtte ty til TMRh20 RF24 -biblioteket, efter at jeg ikke kunne få de rigtige sensordata overført til skærmen.

For at flere Arduinos kan kommunikere med hinanden, er vi nødt til at sikre, at mindst en af UNO'erne er drevet, såvel som MEGA.

Brug den serielle konsol på MEGA til at udskrive de resultater, du får fra UNO, og se om det virker.

Her er koden

Her er biblioteket

Trin 6: Gå vild! Prøv forskellige ting

Gå vild! Prøv forskellige ting
Gå vild! Prøv forskellige ting

En afgørende del af min udviklingsproces var bare at prøve en masse ting!

Hvilken slags knapper vil du bruge?

Hvad putter du i dine controllere?

Kig rundt på hjemmesider, du finder en masse komponenter udover de sædvanlige '' A/B '' -knapper eller analoge joysticks. Bliv inspireret og motiveret til at prøve!

Når du har fået en klar og fungerende idé om, hvad du vil putte i controllerne, skal du tilslutte komponenterne.

Afhængigt af hvordan de fungerer, skal du bruge digitale indgange eller analoge indgange.

BEMÆRK: Nogle komponenter har muligvis brug for SCL / SDA -ben for at fungere korrekt. Og hvis du har to eller flere sensorer, der begge har brug for det samme, får du sandsynligvis et panikanfald som mig. Men du skal ikke bekymre dig

Du kan sætte både sensorernes SDA- og SCL -ben i serie med hinanden, gående i A4 og A5, og det vil fungere

Trin 7: Design

Design
Design
Design
Design
Design
Design

Når du har fået en fed idé til de sensorer, du vil bruge, skal du tegne nogle ideer til et design, du kan lide.

Derefter kommer du ind på nogle modelleringsprogrammer som Blender, Maya, Cinema 4D.

Jeg brugte Blender til at oprette en (ru) model.

For at få klare målinger i Blender kan du ændre enheden af gitterstørrelsen til millimeter.

Når du har lavet en model, skal du sørge for at have ingen dobbelte hjørner, og du har genberegnet dine normaler.

Eksporter filen som en.stl, hvis du vil bruge en 3D -printer som mig.

BEMÆRK: I Blender skal du indstille eksportskalaen til 0,1, hvis du vil have den nøjagtige størrelse i Cura i det næste trin

Trin 8: 3D -udskrivning af kabinettet

3D -udskrivning af kabinettet
3D -udskrivning af kabinettet
3D -udskrivning af kabinettet
3D -udskrivning af kabinettet
3D -udskrivning af kabinettet
3D -udskrivning af kabinettet

Denne model blev trykt med 2,85 mm sort PLA -filament på en Ultimaker 2+ printer.

Download CURA

Indlæs din. STL i Cura, og det vil vise dig, hvor lang tid det vil tage.

For en håndholdt sag kan det tage op til 10 timer at udskrive, afhængigt af størrelse.

Men for modeller med lav detalje kan du fremskynde processen, hvilket er hvad jeg gjorde.

Her er mine indstillinger:

Laghøjde: 0,2

Vægtykkelse: 0,8

Øverste/nederste tykkelse: 0,8

Dyse: 0,4

Temperatur: 60 grader Celsius

Flow: 100%

Randen: Overalt, der rører byggepladen

Udfyldningstæthed: 20%

Gradvis: 0

Dysetemperatur: 220 C

Udskrivningshastighed: 120%

Trin 9: Lodning og afslutning

Lodning og afslutning
Lodning og afslutning
Lodning og afslutning
Lodning og afslutning
Lodning og afslutning
Lodning og afslutning

Du er nået langt.

Det sidste trin er at anskaffe et perfboard / veroboard og oversætte dine breadboard -forbindelser til en del af et prototypebord.

Sørg for, at elektronikken passer ind i de trykte kabinetter, og skær måske noget træ -MDF for at få dele, hvor knapper / controllerindgange stikker igennem.

Jeg brugte en laserskærer til dette.

Det vigtigste er at skrue rundt, prøve nogle ting, du ellers aldrig har gjort, og have det sjovt!

Håber denne vejledning var klar nok … Det var et temmelig svært projekt, som gav et godt resultat!:)

Trin 10: Forhåndsvisning

Anbefalede: