Innehållsförteckning:

Handhållen Arduino Pong -konsol: 6 steg (med bilder)
Handhållen Arduino Pong -konsol: 6 steg (med bilder)

Video: Handhållen Arduino Pong -konsol: 6 steg (med bilder)

Video: Handhållen Arduino Pong -konsol: 6 steg (med bilder)
Video: Handhållen Spelkonsol - Arcade Classics 2024, November
Anonim
Handhållen Arduino Pong -konsol
Handhållen Arduino Pong -konsol

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

Image
Image

Steg 2: Designa spelet

Designa spelet
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

Designa spelanordningen
Designa spelanordningen
Designa spelanordningen
Designa spelanordningen
Designa spelanordningen
Designa spelanordningen
Designa spelanordningen
Designa spelanordningen

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

Konstruera enheten
Konstruera enheten
Konstruera enheten
Konstruera enheten
Konstruera enheten
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

Spelar Pong!
Spelar Pong!
Spelar Pong!
Spelar Pong!
Spelar Pong!
Spelar Pong!
Spelar Pong!
Spelar 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: