Indholdsfortegnelse:
- Trin 1: Tilslut (touch) skærmen
- Trin 2: Bliv fortrolig med bibliotekerne
- Trin 3: Design en grafisk brugergrænseflade / hovedmenu
- Trin 4: Tilslut de to controllere
- Trin 5: Start tilslutning af den trådløse forbindelse
- Trin 6: Gå vild! Prøv forskellige ting
- Trin 7: Design
- Trin 8: 3D -udskrivning af kabinettet
- Trin 9: Lodning og afslutning
- Trin 10: Forhåndsvisning
Video: Håndholdt konsol med trådløse controllere og sensorer (Arduino MEGA & UNO): 10 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
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
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
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
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
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
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
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
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
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
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:
Sådan laver du et multiplayer -spil med Arduino -controllere: 6 trin
Sådan laver du et multiplayer -spil med Arduino -controllere: Har du nogensinde undret dig over, hvordan spiludviklere skaber fantastiske spil, som folk verden over nyder at spille? Nå, i dag vil jeg give dig bare et lille tip om det ved at lave et lille multiplayer -spil, der styres af enten en Arduino -kontro
Trådløs gamecontroller med Arduino og NRF24L01+ (understøttelse af en eller to controllere): 3 trin
Trådløs gamecontroller med Arduino og NRF24L01+ (understøttelse af en eller to controllere): Du kan finde det komplette projekt fra mit websted (det er på finsk): https://teukka.webnode.com/l/langaton-ohjain-atmega-lla- ja-nrf24l01-radiomoduulilla/Dette er en virkelig kort orientering om projektet. Jeg ville bare dele det, hvis nogen ville
Hjemmelavet håndholdt konsol: 12 trin (med billeder)
Hjemmelavet håndholdt konsol: Velkommen til min trin for trin -guide til, hvordan du opretter din egen DIY GameBoy med en Raspberry Pi 3 og Retropie -emuleringssoftwaren. Inden jeg startede dette projekt, havde jeg ingen erfaring med hindbær pi, retropie, lodning, 3d print eller elektr
Arduino -controllere: 10 trin (med billeder)
Arduino -controllere: Et Arduino -spilcontrollersystem, der bruger Arduino og p5.js -biblioteket. Ideen med dette er at oprette et Arduino -projekt, der let kan replikeres og udvides. Controllerforbindelserne er designet til at udnytte en masse forskellige sensorer og input
Håndholdt Arduino Pong -konsol: 6 trin (med billeder)
Håndholdt Arduino Pong -konsol: DFRobot kontaktede mig for nylig og ville have mig til at bruge deres specielle Arduino Nano -bord og OLED. Først ville jeg oprette en smart cykel, og jeg byggede den i sin helhed. Men desværre var Nano for svag til at køre og gemme den massive skitse