Indholdsfortegnelse:
- Trin 1: Video
- Trin 2: Design af spillet
- Trin 3: Design af gaming -enheden
- Trin 4: Konstruktion af enheden
- Trin 5: Programmering af spillet
- Trin 6: Spil Pong
Video: Håndholdt Arduino Pong -konsol: 6 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
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, der var nødvendig. Så jeg besluttede at besøge et af mine tidligere projekter, en Neopixel -matrix, der kørte et Pong -spil. Jeg ville gøre den bærbar i stedet, og en 1,7 OLED ville gøre en perfekt skærm.
Liste over dele:
- Arduino nano
- OLED
- Højttaler
Trin 1: Video
Trin 2: Design af spillet
Til dette Pong -spil ville jeg beholde det relativt enkelt, hvilket betød nocomputerstyret padle eller fancy boldrefleksionsalgoritmer. Grundlæggende er der en enkelt padle, som en bruger kan bevæge sig op eller ned, og hvis bolden får kollid med padlen, får dens x -aksevektor til at vende. Hver gang bolden bliver ramt, er der en lyd, der spiller. Når spilenheden er tændt, kommer der en skærm med spiltitel og instruktioner. Derudover oprettede min mor en lille temasang, der looper i baggrunden, indtil der trykkes på den øverste knap.
Trin 3: Design af gaming -enheden
Mit go-to CAD-program er Fusion 360, så jeg besluttede at bruge det til at designe min pong-gaming-enhed. Jeg begyndte med at designe hver komponent, der blev brugt: en OLED, Arduino Nano og en højttaler. På den måde kan jeg se præcis, hvor og hvordan hver komponent skal passe ind i kabinettet. Jeg lagde derefter Nano og PCB i den bageste del af sagen og OLED oven på den. Næste var spørgsmålet om, hvor højttaleren og knapperne skulle placeres. Jeg besluttede, at 3W -højttaleren kunne gå lige under skærmen (kigger på den fra toppen), og det krævede også at sætte en "grill" over højttaleren, så lyden ikke blev dæmpet. Endelig tilføjede jeg to knapper i venstre side for at tilføje kontroller.
Trin 4: Konstruktion af enheden
Jeg begyndte med at printe 3D hver del, bestående af den nederste halvdel, den øvre halvdel og 2 knapper. Dernæst lodde jeg en kvindelig header til 4x6cm og tilsluttede den til Nano. Dette giver ikke kun mulighed for let at fjerne OLED, men det hæver det også over Arduino Nano. Kontroller skemaet for ledningsoplysninger. Derefter tilsluttede jeg de to knapper sammen med et simpelt mikro -USB breakout -kort til strøm. Højttaleren var også fastgjort og placerede den i den korrekte position. Mit Fusion 360 -design giver mulighed for 3 mm maskinskruer til at holde OLED, højttaleren nede og forbinde de to halvdele af enheden. Men jeg var nødt til at gøre dem præcise, så jeg brugte min boremaskine til at bore 8 huller: 2 til højttaleren, 2 til skærmen og 4 nedenunder. Du kan besøge Thingiverse -linket for filerne.
Trin 5: Programmering af spillet
Brugen af en simpel grænseflade var afgørende for at holde programmet lille. Jeg startede med at tilføje flere biblioteker: Adafruit_GFX, Adafruit_SSD1351 og Arduino Timer -biblioteket. Dernæst definerede jeg mine stifter og farver, f.eks. OLEDs ben og 16 bit farve definitioner. I min kode er der også 4 måder at ændre, hvordan spillet spiller, såsom ændring af paddelens dimensioner og hvor hurtigt bolden bevæger sig. Der eksisterer derefter et afsnit, hvor hver variabel er defineret, herunder score og forskellige koordinater. Når enheden tændes for et billede af en bold, og der vises tekst på skærmen, sammen med en lille temasang, som er defineret tidligere i koden. Når spillet starter, oprettes to timere, en der opdaterer padlen, og den anden opdaterer bolden. Hver gang boldens position opdateres, kontrolleres dens koordinater for at sikre, at den ikke går forbi skærmgrænsen, eller hvis den rører en padle. Hver gang den hopper, er enten x- eller y -aksen inverteret, og der afspilles en lille tone. Se videoen i begyndelsen af denne opskrift for at se, hvordan spillet spiller.
Trin 6: Spil Pong
Spillets navn er at få den lavest mulige score. Der er ingen tidsbegrænsning, så det er meget behageligt og endda trancefremkaldende. Alt det nødvendige er at trykke på en af to knapper for at flytte padlen op eller ned. Det er også muligt at tilføje en måde at gemme den højeste score ved hjælp af Arduino's EEPROM.
Anbefalede:
Håndholdt BASIC -computer: 6 trin (med billeder)
Håndholdt BASIC -computer: Denne vejledning beskriver min proces med at bygge en lille håndholdt computer, der kører BASIC. Computeren er bygget op omkring ATmega 1284P AVR -chippen, som også inspirerede det fjollede navn til computeren (HAL 1284). Denne build er STORT inspireret af
MutantC V3 - modulær og kraftfuld håndholdt pc: 9 trin (med billeder)
MutantC V3 - Modulær og kraftfuld håndholdt pc: En Raspberry -pi håndholdt platform med et fysisk tastatur, display- og udvidelseshoved til brugerdefinerede tavler (som Arduino Shield) .mutantC_V3 er efterfølgeren til mutantC_V1 og V2. Tjek mutantC_V1 og mutantC_V2.https: //mutantc.gitlab.io/https: // gitla
Håndholdt natlys: 7 trin (med billeder)
Håndholdt natlys: Min 5-årige blev ved med at vække os om natten, og vi blev ved med at forelægge ham for at lade mor og far sove, indtil jeg indså, at han faktisk ikke var i stand til selv at afgøre, om det var søvntid eller leg Han ville bede os om at tænde lyset
MutantC_v2 - en let at bygge Raspberry Pi håndholdt/UMPC: 8 trin (med billeder)
MutantC_v2 - en let at bygge Raspberry Pi Håndholdt/UMPC: En Raspberry -pi håndholdt platform med et fysisk tastatur, Display og Expansion header til brugerdefinerede boards (ligesom Arduino Shield) .mutantC_V2 er efterfølger af mutantC_V1. Tjek mutantC_V1 herfra. Https: //mutantc.gitlab.io/https: //gitlab.com/mutant
[3D Print] 30W håndholdt lanterne med høj effekt: 15 trin (med billeder)
[3D -udskrivning] 30W højeffekt håndholdt lanterne: Hvis du læser dette, har du sandsynligvis set en af disse Youtube -videoer, der viser DIY ekstremt kraftfulde lyskilder med enorme køleplader og batterier. Sandsynligvis kalder de endda dette "Lanterner", men jeg havde altid et andet begreb om lant