
Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-23 15:02

DFRobot kontaktet meg nylig, og ville at jeg skulle bruke deres spesielle Arduino Nano -bord og OLED. Først ønsket jeg å lage en smart sykkel, og jeg bygde den i sin helhet. Men dessverre var Nano for svak til å kjøre og lagre den massive skissen som var nødvendig. Så jeg bestemte meg for å gå tilbake til et av mine tidligere prosjekter, en Neopixel -matrise som kjørte et Pong -spill. Jeg ønsket å gjøre den bærbar i stedet, og en 1,7 OLED ville gjøre en perfekt skjerm.
Liste over deler:
- Arduino nano
- OLED
- Høyttaler
Trinn 1: Video


Trinn 2: Design spillet

For dette Pong -spillet ønsket jeg å holde det relativt enkelt, noe som betydde ikke -datamaskinstyrt padle eller fancy ballrefleksjonsalgoritmer. I utgangspunktet er det en enkelt padle som en bruker kan bevege seg opp eller ned, og å få ballen til å kollidere med padlen ville få x -aksen til å snu. Hver gang ballen blir truffet er det en lyd som spiller. Når spillenheten er slått på, kommer det opp en skjerm med spiltittelen og instruksjoner. I tillegg laget moren min en liten temasang som går i bakgrunnen til du trykker på den øverste knappen.
Trinn 3: Design gaming -enheten




Mitt go-to CAD-program er Fusion 360, så jeg bestemte meg for å bruke det til å designe pongspill-enheten min. Jeg begynte med å designe hver komponent som ble brukt: en OLED, Arduino Nano og en høyttaler. På denne måten kan jeg se nøyaktig hvor og hvordan hver komponent skal passe inne i kabinettet. Jeg la deretter Nano og PCB i den bakre delen av saken, og OLED på toppen av den. Neste var spørsmålet om hvor du skal sette høyttaleren og knappene. Jeg bestemte meg for at 3W -høyttaleren kunne gå rett under skjermen (ser på den fra toppen), og det krevde også å sette en "grill" over høyttaleren slik at lyden ikke ble dempet. Til slutt la jeg til to knapper på venstre side for å legge til kontroller.
Trinn 4: Konstruere enheten



Jeg begynte med 3D -utskrift av hver del, bestående av den nedre halvdelen, den øvre halvdelen og 2 knapper. Deretter loddet jeg en kvinnelig header til 4x6cm og koblet den til Nano. Dette tillater ikke bare at OLED enkelt kan fjernes, men det løfter den også over Arduino Nano. Kontroller skjemaet for informasjon om ledninger. Deretter koblet jeg opp de to knappene, sammen med et enkelt mikro -USB -bryterbrett for strøm. Høyttaleren var også festet og plasserte den i riktig posisjon. My Fusion 360 -designen tillater 3 mm maskinskruer for å holde nede OLED, høyttaleren og koble til de to halvdelene av enheten. Men jeg måtte gjøre dem nøyaktige, så jeg brukte borepressen til å bore ut 8 hull: 2 for høyttaleren, 2 for skjermen og 4 under. Du kan besøke Thingiverse -lenken for filene.
Trinn 5: Programmering av spillet
Bruken av et enkelt grensesnitt var avgjørende for å holde programmet lite. Jeg begynte med å legge til flere biblioteker: Adafruit_GFX, Adafruit_SSD1351 og Arduino Timer -biblioteket. Deretter definerte jeg pinnene og fargene mine, for eksempel OLED -pinnene og 16 -bits fargedefinisjoner. I koden min er det også 4 måter å endre hvordan spillet spiller, for eksempel å endre padledimensjoner og hvor raskt ballen beveger seg. Deretter eksisterer en seksjon der hver variabel er definert, inkludert poengsummen og forskjellige koordinater. Når enheten er slått på et bilde av en ball og noe tekst vises på skjermen, sammen med en liten temasang som er definert tidligere i koden. Når spillet starter, opprettes to tidtakere, en som oppdaterer padlen, og den andre oppdaterer ballen. Hver gang ballens posisjon oppdateres, blir dens koordinater kontrollert for å sikre at den ikke går forbi skjermgrensen eller hvis den berører en padle. Hver gang den spretter, er enten x- eller y -aksen invertert og en liten tone spilles. Se videoen i begynnelsen av denne oppskriften for å se hvordan spillet spiller.
Trinn 6: Spille Pong




Navnet på spillet er å få lavest mulig poengsum. Det er ingen tidsbegrensning, så det er veldig hyggelig og til og med transefremkallende. Alt som er nødvendig er å trykke på en av to knapper for å flytte padlen opp eller ned. Det er også mulig å legge til en måte å lagre den høyeste poengsummen ved å bruke Arduino's EEPROM.
Anbefalt:
Håndholdt BASIC datamaskin: 6 trinn (med bilder)

Håndholdt BASIC datamaskin: Denne instruksjonsboken beskriver prosessen min med å bygge en liten håndholdt datamaskin som kjører BASIC. Datamaskinen er bygget rundt ATmega 1284P AVR -brikken, som også inspirerte det dumme navnet på datamaskinen (HAL 1284). Denne konstruksjonen er STORT inspirert av
MutantC V3 - modulær og kraftig håndholdt PC: 9 trinn (med bilder)

MutantC V3 - modulær og kraftig håndholdt PC: En bringebær -pi håndholdt plattform med et fysisk tastatur, display- og ekspansjonsoverskrift for tilpassede brett (som Arduino Shield) .mutantC_V3 er etterfølgeren til mutantC_V1 og V2. Sjekk ut mutantC_V1 og mutantC_V2.https: //mutantc.gitlab.io/https: // gitla
Håndholdt nattlys: 7 trinn (med bilder)

Håndholdt nattlys: Min 5-åring fortsatte å vekke oss om natten, og vi fortsatte å holde foredrag for ham å la mor og pappa sove, til jeg innså at han faktisk ikke klarte å bestemme selv om det var søvntid eller lek. I tillegg vil han be oss slå på lyset
MutantC_v2 - En lett å bygge Raspberry Pi Håndholdt/UMPC: 8 trinn (med bilder)

MutantC_v2 - En lett å bygge Raspberry Pi Håndholdt/UMPC: En Raspberry -pi håndholdt plattform med et fysisk tastatur, Display og Expansion -topptekst for tilpassede brett (som Arduino Shield) .mutantC_V2 er etterfølgeren til mutantC_V1. Sjekk ut mutantC_V1 herfra. Https: //mutantc.gitlab.io/https: //gitlab.com/mutant
PCB håndholdt med Arduino (med mulighet for å gå trådløst!): 3 trinn

PCB håndholdt med Arduino (med mulighet for å gå trådløst!): Oppdatering 28.1.2019 Jeg jobber for tiden med neste versjon av denne grafregneren. Du kan følge prosjektet på min YouTube -kanal eller Twitter. Advarsel! Jeg fant en feil i PCB -oppsettet. Venstre og opp knappene er koblet til analoge pinner. Jeg fikset