Innehållsförteckning:
- Steg 1: Video
- Steg 2: Designa spelet
- Steg 3: Designa spelenheten
- Steg 4: Konstruera enheten
- Steg 5: Programmering av spelet
- Steg 6: Spela Pong
Video: Handhållen Arduino Pong -konsol: 6 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:46
DFRobot nådde ut till mig nyligen och ville att jag skulle använda deras speciella Arduino Nano -kort och OLED. Först ville jag skapa en smart cykel, och jag byggde den i sin helhet. Men tyvärr var Nano för svag för att köra och lagra den massiva skissen som behövdes. Så jag bestämde mig för att återkomma till ett av mina tidigare projekt, en Neopixel -matris som körde ett Pong -spel. Jag ville göra den bärbar istället, och en 1,7 OLED skulle göra en perfekt skärm.
Lista över delar:
- Arduino nano
- OLED
- Högtalare
Steg 1: Video
Steg 2: Designa spelet
För detta Pong -spel ville jag hålla det relativt enkelt, vilket innebar nocomputerstyrd paddel eller snygga bollreflektionsalgoritmer. I grund och botten finns det en enda paddel som en användare kan flytta upp eller ner, och att få bollen att kollidera med paddeln skulle få dess x -axelvektor att vända. Varje gång bollen träffas hörs ett ljud. När spelenheten är påslagen kommer en skärm med speltitel och instruktioner. Dessutom skapade min mamma en liten temasång som går i bakgrunden tills den övre knappen trycks in.
Steg 3: Designa spelenheten
Mitt CAD-program är Fusion 360, så jag bestämde mig för att använda det för att designa min pongspelsenhet. Jag började med att designa varje komponent som används: en OLED, Arduino Nano och en högtalare. På så sätt kan jag se exakt var och hur varje komponent ska passa inuti höljet. Jag satte sedan Nano och PCB i den bakre delen av fodralet och OLED ovanpå den. Därefter var frågan om var högtalaren och knapparna skulle placeras. Jag bestämde mig för att 3W -högtalaren kunde gå precis under skärmen (titta på den uppifrån), och det krävde också att man satte en "grill" över högtalaren så att ljudet inte skulle dämpas. Slutligen lade jag till två knappar på vänster sida för att lägga till kontroller.
Steg 4: Konstruera enheten
Jag började med 3D -utskrift av varje del, bestående av den nedre halvan, den övre halvan och 2 knappar. Därefter lödde jag en kvinnlig header till 4x6cm och kopplade den till Nano. Detta möjliggör inte bara att OLED enkelt kan tas bort, utan det lyfter den också över Arduino Nano. Kontrollera schemat för kabeldata. Sedan kopplade jag ihop de två knapparna, tillsammans med ett enkelt mikro -USB -brytkort för ström. Högtalaren var också ansluten och placerade den i rätt läge. Min Fusion 360 -design gör det möjligt för 3 mm maskinskruvar att hålla nere OLED, högtalaren och ansluta enhetens två halvor. Men jag var tvungen att göra dem exakta, så jag använde min borrpress för att borra ut 8 hål: 2 för högtalaren, 2 för skärmen och 4 under. Du kan besöka Thingiverse -länken för filerna.
Steg 5: Programmering av spelet
Användningen av ett enkelt gränssnitt var avgörande för att hålla programmet litet. Jag började med att lägga till flera bibliotek: Adafruit_GFX, Adafruit_SSD1351 och Arduino Timer -biblioteket. Därefter definierade jag mina stift och färger, till exempel OLED -stiften och 16 -bitars färgdefinitioner. I min kod finns det också 4 sätt att ändra hur spelet spelar, till exempel att ändra paddelens mått och hur snabbt bollen rör sig. Ett avsnitt existerar då varje variabel definieras, inklusive poängen och olika koordinater. När enheten startas på en bild av en boll och lite text visas på skärmen, tillsammans med en liten temasång som definieras tidigare i koden. När spelet startar skapas två timers, en som uppdaterar paddeln och den andra uppdaterar bollen. Varje gång bollens position uppdateras kontrolleras dess koordinater för att se till att den inte går förbi skärmgränsen eller om den rör vid en paddel. Varje gång det studsar antingen dess x- eller y -axel är inverterad och en liten ton spelas. Titta på videon i början av denna skrivning för att se hur spelet spelar.
Steg 6: Spela Pong
Spelets namn är att få det lägsta möjliga poängen. Det finns ingen tidsbegränsning, så det är väldigt roligt och till och med transframkallande. Allt som behövs är att trycka på en av två knappar för att flytta paddeln uppåt eller nedåt. Det är också möjligt att lägga till ett sätt att lagra högsta poäng med Arduinos EEPROM.
Rekommenderad:
Handhållen BASIC -dator: 6 steg (med bilder)
Handhållen BASIC -dator: Denna instruktionsbok beskriver min process för att bygga en liten handdator som kör BASIC. Datorn är byggd kring ATmega 1284P AVR -chipet, som också inspirerade det dumma namnet på datorn (HAL 1284) .Denna konstruktion är TYCKLIGT inspirerad av
MutantC V3 - modulär och kraftfull handhållen dator: 9 steg (med bilder)
MutantC V3 - Modulär och kraftfull handhållen PC: En Raspberry -pi -handhållen plattform med ett fysiskt tangentbord, display- och expansionshuvud för anpassade kort (som Arduino Shield) .mutantC_V3 är efterföljare av mutantC_V1 och V2. Kolla in mutantC_V1 och mutantC_V2.https: //mutantc.gitlab.io/https: // gitla
Handhållen nattlampa: 7 steg (med bilder)
Handhållen nattlampa: Min 5-åring fortsatte att väcka oss på natten, och vi fortsatte att föreläsa honom om att låta mamma och pappa sova tills jag insåg att han faktiskt inte kunde avgöra själv om det var sömntid eller lek Dessutom ber han oss att tända lampan.
MutantC_v2 - en enkel att bygga Raspberry Pi handhållen/UMPC: 8 steg (med bilder)
MutantC_v2 - en enkel att bygga Raspberry Pi handhållen/UMPC: En Raspberry -pi handhållen plattform med ett fysiskt tangentbord, Display och Expansion header för anpassade kort (som Arduino Shield) .mutantC_V2 är efterföljare av mutantC_V1. Kolla in mutantC_V1 härifrån. Https://mutantc.gitlab.io/https: //gitlab.com/mutant
DIY Raspberry Pi Zero handhållen spelkonsol: 6 steg (med bilder)
DIY Raspberry Pi Zero handhållen spelkonsol: I det här projektet kommer jag att visa dig hur jag använde en Raspberry Pi Zero, NiMH-batterier, en hemlagad överladdningsskyddskrets, en bakre lcd och en ljudförstärkare för att skapa en handhållen spelkonsol som kan spela retro spel. Låt oss börja