Indholdsfortegnelse:
- Trin 1: Dele
- Trin 2: Ledningsføring
- Trin 3: Alternativ ledningsføring
- Trin 4: Kode + forklaring
- Trin 5: Tak fordi du læste
Video: Pong Tennis Med LED Matrix, Arduino og Joysticks: 5 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
Dette projekt er tiltænkt både begyndere og erfarne tinkerere. På et grundlæggende niveau kan det gøres med et brødbræt, jumperwires og fastgjort til et stykke skrotmateriale (jeg brugte træ) med Blu-Tack og uden lodning. På et mere avanceret niveau kan det imidlertid loddes til perf board eller et brugerdefineret printkort.
Da dette var et lockdown-projekt, havde jeg ikke adgang til mange værktøjer eller materialer, hvorfor det sad fast på et stykke skrot, der er lidt for lille med Blu-Tack, men på trods af dette er det et sjovt projekt, der kommer sammen hurtigt og består af almindeligt tilgængelige dele, der kan findes billigt online.
Trin 1: Dele
For at lave Pong -spillet skal du bruge;
- 1x en Arduino (enhver type vil fungere)
- 4x MAX7219 8x8 LED -matricer
- 2x joysticks
- 1x Piezo -summer (valgfrit)
- 15x hun-hun jumpertråde (3x grupper på 5)
- 15x man-hun-jumperwire (3x grupper på 5)
- 18x man-han jumperwire
- 1x brødbræt
- 1x 220Ω modstand
I stedet for et Arduino Uno eller Nano board kan du bruge et breadboard baseret Arduino med;
- 1x ATmega328p 28pin IC
- 1x 16kHz krystaloscillator
- 2x 22pF keramiske kondensatorer
- 1x USB FTDI UART -konverter
- 1x 100uF elektrolytisk kondensator
- 1x Micro USB Breakout (valgfrit)
Værktøj;
- PC med Arduino IDE (og LedControl Library)
- Relevant USB -kabel til din Arduino
- Power Bank til at drive spillet væk fra din computer
Trin 2: Ledningsføring
Ledningerne er meget enkle, da alt du behøver er jumperwires til at forbinde overskrifterne på matricerne og joysticks til Arduino. Den eneste komplikation er strøm, da Arduino Uno kun har 3 GND -forbindelser og en 5v -forbindelse. Det er her, brødbrættet kommer ind og fungerer som en strømfordelingsskinne for alle komponenterne. Hvis du bruger en NANO, vil brødbrættet tjene det samme formål samt give dig mulighed for at tilslutte alt.
Følg disse forbindelser for ledninger.
- Venstre joystick - GND og 5v til deres respektive strømskinner. SW - pin 9, VRx - A0, VRy - A1.
- Højre joystick - GND og 5v til deres respektive strømskinner. SW - pin 8, VRx - A2, VRy - A3.
- LED Matrix til højre - GND og 5v til deres respektive strømskinner. DIN - 13, CS - 11, CLK - 12. (I henhold til linje 25)
- Alle de andre LED -matricer kan daisy kobles fra output fra den første, der går fra højre til venstre, så koden fungerer korrekt.
- Valgfri summer - Anode (+) gennem 220Ω strømbegrænsende modstand til pin 10, katode (-) - GND.
Trin 3: Alternativ ledningsføring
Efter at have tilsluttet den med en Arduino UNO for at spare plads besluttede jeg at sætte Arduino IC fra UNO på brødbrættet med en 16Mhz Crystal Oscillator og et par 22pF kondensatorer fra hver side til jorden. Jeg synes, at dette var en værdifuld ændring, da det får projektet til at se pænere og mere færdigt ud, men du skal bruge en USB FTDI -programmerer til at opdatere programmet.
Trin 4: Kode + forklaring
For at uploade koden til Arduino skal du downloade LedControl -biblioteket fra GitHub her, github.com/wayoda/LedControl, og tilføj Zip -filen, eller tilføj den via Library Manager i IDE. Efter det skal du åbne den vedhæftede skitse, skal du vælge din Arduino i tavlen og portindstillingerne under værktøjer og uploade den til arduinoen.
Forklaring
Linje 1: Tilføjer biblioteket
Linje 5-23: Konfigurerer alle variabler, konstanter og pin-numre.
Linje 25: Konfigurerer LED Martix og indstiller kontrolstifterne og hvor mange skærme.
Linje 27: Konfigurerer nulstillingsfunktionen.
Linje 30-35: Afbrydelsesfunktion for at tænde/slukke alle skærme sammen.
Linje 38-43: SetIntensity-funktion til at indstille lysstyrken på alle skærme sammen.
Linje 46-51: ClearAll-funktion for at tørre alle skærme sammen.
Linje 53-64: joystick Funktion for at få joysticks position, kortlæg dem til de 7 mulige flagermuspositioner for at ramme bolden og flyt derefter flagermus til den nye position.
Linje 67-435: Funktion, der flytter bolden til venstre spiller i den angivne højde og hastighed, kontrollerer, om spilleren ramte den og enten fortsætter og sætter crash-status til sand eller kugler bolden tilbage, tilføjer 1 til scoren og øger hastigheden.
Linje 438-811: Funktion, der flytter bolden til den rigtige spiller i den angivne højde og hastighed, kontrollerer, om spilleren ramte den og enten fortsætter og sætter crashstatus til sand eller kugler bolden tilbage, tilføjer 1 til scoren og øger hastigheden.
Linje 813-823: Funktion til visning af et smiley, kryds, kryds eller spørgsmålstegn til det angivne display (0 til højre til 3 til venstre).
Linje 861-979: Funktion til visning af tallene 0-9 til det angivne display.
Linje 981-1047: Funktion til visning af partituret for hver spillers side af skærmen.
Linje 1049-1064: Funktion til at kontrollere, om afspilleren er klar.
Linje 1066-1076: Opsætning Afsnit af koden for koden, der køres en gang, når programmet starter.
Linje 1078-1136: Main Loop-sektion til spillogik, hvor alle funktionerne bruges, og hvor der vinder, afgøres, og derefter genstarter programmet efter 5 sekunder med at vise scoren.
Trin 5: Tak fordi du læste
Tak fordi du læste denne Instructable det var et sjovt lockdown -projekt, der kom sammen i løbet af et par dage, da jeg lærte mere om Arduino -programmering. Hvis du nød det, er du velkommen til at stemme på det i Arduino -konkurrencen.
Anbefalede:
IoT Smart Clock Dot Matrix Brug Wemos ESP8266 - ESP Matrix: 12 trin (med billeder)
IoT Smart Clock Dot Matrix Brug Wemos ESP8266-ESP Matrix: Lav dit eget IoT Smart Clock, der kan: Display ur med et smukt animationsikon Display Påmindelse-1 til Påmindelse-5 Vis kalender Vis muslimsk bønnetid Vis vejrinformation Vis Nyheder Vis råd Vis Bitcoin rate Display
Arduino Led Matrix -forbindelse med udsource: 9 trin (med billeder)
Arduino Led Matrix-forbindelse med udsource: En LED-matrix eller LED-skærm er en stor, lavopløselig form for dot-matrix-display, der er nyttig både til industrielle og kommercielle informationsdisplays såvel som til hobbyfolk mellem mennesker og maskiner. Den består af en 2-D diode matrix med deres kat
8x16 LED Matrix Pong Game (2 Paddles Per Player Version): 3 trin
8x16 LED Matrix Pong Game (2 Paddles Per Player Version): Jeg er blevet inspireret af mange variationer af det klassiske Pong -spil implementeret på Arduino ved hjælp af en 8x8 LED matrix. I denne instruktive vil jeg vise dig, hvordan du bygger min yndlings Pong -version, der har to padler - angriber og målmand - pr. Spiller
Kontrollerende LED Matrix Array med Arduino Uno (Arduino Powered Robot Face): 4 trin (med billeder)
Kontrol af LED Matrix Array med Arduino Uno (Arduino Powered Robot Face): Denne instruktør viser, hvordan du styrer en række 8x8 LED -matricer ved hjælp af en Arduino Uno. Denne vejledning kan bruges til at oprette en enkel (og relativt billig skærm) til dine egne projekter. På denne måde kan du vise bogstaver, tal eller brugerdefinerede animationer
LED Hat Display med Pong: 12 trin (med billeder)
LED Hat Display With Pong: For et stykke tid siden lavede jeg som mit første mikrokontrollerprojekt et Pong -spil på et 5x7 LED -display, men så blev der ikke noget af det. For nylig fik jeg en hård hat som en del af en uniform (til en ingeniørkonkurrence) og fik besked på at tilpasse den og huskede