Innholdsfortegnelse:
- Trinn 1: Deler
- Trinn 2: Kabling
- Trinn 3: Alternativ ledning
- Trinn 4: Kode + Forklaring
- Trinn 5: Takk for at du leste
Video: Pongtennis med LED -matrise, Arduino og joysticks: 5 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:21
Dette prosjektet er beregnet på både nybegynnere og erfarne tinkerere. På et grunnleggende nivå kan det gjøres med et brødbrett, hoppetråder og festes til et stykke skrapmateriale (jeg brukte tre) med Blu-Tack og uten lodding. På et mer avansert nivå kan det imidlertid loddes til perf -bord eller et tilpasset PCB.
Siden dette var et låseprosjekt, hadde jeg ikke tilgang til mange verktøy eller materialer, og derfor festet det seg til et stykke tre som er litt for lite med Blu-Tack, men til tross for dette er det et morsomt prosjekt som kommer sammen raskt og består av allment tilgjengelige deler som kan finnes billig online.
Trinn 1: Deler
For å lage Pong -spillet trenger du;
- 1x En Arduino (hvilken som helst type vil fungere)
- 4x MAX7219 8x8 LED -matriser
- 2x styrespaker
- 1x Piezo -summer (valgfritt)
- 15x hun-ledninger for kvinner og kvinner (3x grupper på 5)
- 15x stikkontakter til menn og kvinner (3x grupper på 5)
- 18x mann-hann jumper ledninger
- 1x brødbrett
- 1x 220Ω motstand
I stedet for et Arduino Uno- eller Nano -brett kan du bruke et brødbrettbasert Arduino med;
- 1x ATmega328p 28pin IC
- 1x 16kHz krystalloscillator
- 2x 22pF keramiske kondensatorer
- 1x USB FTDI UART -omformer
- 1x 100uF elektrolytisk kondensator
- 1x Micro USB Breakout (valgfritt)
Verktøy;
- PC med Arduino IDE (og LedControl Library)
- Relevant USB -kabel for din Arduino
- Power Bank for å drive spillet vekk fra datamaskinen
Trinn 2: Kabling
Ledningene er veldig enkle, ettersom alt du trenger er jumper -ledninger for å koble overskriftene til matrisene og joystickene til Arduino. Den eneste komplikasjonen er strøm, ettersom Arduino Uno bare har 3 GND -tilkoblinger og en 5v -tilkobling. Det er her brødbrettet kommer inn og fungerer som en strømfordelingsskinne for alle komponentene. Hvis du bruker en NANO, vil brødbrettet tjene samme formål, så vel som at du kan koble alt til.
Følg disse tilkoblingene for ledninger.
- Venstre joystick - GND og 5v til sine respektive strømskinner. SW - pin 9, VRx - A0, VRy - A1.
- Høyre joystick - GND og 5v til sine respektive strømskinner. SW - pin 8, VRx - A2, VRy - A3.
- Høyre LED -matrise - GND og 5v til sine respektive strømskinner. DIN - 13, CS - 11, CLK - 12. (I henhold til linje 25)
- Alle de andre LED -matrisene kan være daisy chained av utgangen til den første som går fra høyre til venstre, slik at koden fungerer som den skal.
- Valgfri summer - Anode (+) gjennom 220Ω strømbegrensende motstand til pinne 10, katode (-) - GND.
Trinn 3: Alternativ ledning
Etter å ha koblet den til en Arduino UNO for å spare plass, bestemte jeg meg for å sette Arduino IC fra UNO på brødbrettet med en 16Mhz krystalloscillator og et par 22pF kondensatorer fra hver side til bakken. Jeg synes dette var en verdig modifikasjon ettersom det får prosjektet til å se penere og mer ferdig ut, men du må bruke en USB FTDI -programmerer for å oppdatere programmet.
Trinn 4: Kode + Forklaring
For å laste opp koden til Arduino, last ned LedControl -biblioteket fra GitHub her, github.com/wayoda/LedControl og legg til Zip -filen eller legg den til via Library Manager i IDE. Etter at du har åpnet den vedlagte skissen, velger du Arduino i brettet og portinnstillingene under verktøy og laster den opp til arduinoen.
Forklaring
Linje 1: Legger til biblioteket
Linje 5-23: Setter opp alle variablene, konstantene og pin-tallene.
Linje 25: Setter opp LED Martix og angir kontrollpinnene og hvor mange skjermer.
Linje 27: Konfigurerer tilbakestillingsfunksjonen.
Linje 30-35: Avstengningsfunksjon for å slå av/på alle skjermene sammen.
Linje 38-43: SetIntensity-funksjon for å stille lysstyrken til alle displayene sammen.
Linje 46-51: ClearAll-funksjon for å tørke alle skjermene sammen.
Linje 53-64: joystick Funksjon for å få posisjonen til styrespakene, kartlegg dem til de 7 mulige flaggermusposisjonene for å slå ballen og flytt deretter flaggermusen til den nye posisjonen.
Linje 67-435: Funksjon som flytter ballen til venstre spiller i angitt høyde og hastighet, kontrollerer om spilleren traff den og enten fortsetter og setter krasjstatusen til sann eller spretter ballen tilbake, legger 1 til poengsummen og øker farten.
Linje 438-811: Funksjon som flytter ballen til riktig spiller i angitt høyde og hastighet, kontrollerer om spilleren traff den og enten fortsetter og setter krasjstatusen til sann eller spretter ballen tilbake, legger 1 til poengsummen og øker farten.
Linje 813-823: Funksjon for visning av et smilefjes, kryss, kryss eller spørsmålstegn til det angitte displayet (0 til høyre til 3 til venstre).
Linje 861-979: Funksjon for visning av tallene 0-9 til det angitte displayet.
Linje 981-1047: Funksjon for å vise poengsummen til hver spillers side av skjermen.
Linje 1049-1064: Funksjon for å sjekke om spilleren er klar.
Linje 1066-1076: Oppsett Seksjon av koden for koden som kjøres en gang når programmet starter.
Linje 1078-1136: Main Loop-seksjon for spilllogikk der alle funksjonene brukes og hvor som vinner avgjøres, og deretter starter programmet på nytt etter 5 sekunder med å vise poengsummen.
Trinn 5: Takk for at du leste
Takk for at du leste dette Instructable. Det var et morsomt lockdown -prosjekt som kom sammen i løpet av et par dager etter hvert som jeg lærte mer om Arduino -programmering. Hvis du likte det, kan du stemme på det i Arduino -konkurransen.
Anbefalt:
Ta flotte bilder med en iPhone: 9 trinn (med bilder)
Ta flotte bilder med en iPhone: De fleste av oss har med oss en smarttelefon overalt i disse dager, så det er viktig å vite hvordan du bruker smarttelefonkameraet ditt til å ta flotte bilder! Jeg har bare hatt en smarttelefon i et par år, og jeg har elsket å ha et greit kamera for å dokumentere ting jeg
Slik gjør du det: Installere Raspberry PI 4 Headless (VNC) med Rpi-imager og bilder: 7 trinn (med bilder)
Howto: Installere Raspberry PI 4 Headless (VNC) Med Rpi-imager og bilder: Jeg planlegger å bruke denne Rapsberry PI i en haug med morsomme prosjekter tilbake i bloggen min. Sjekk det gjerne ut. Jeg ønsket å begynne å bruke Raspberry PI igjen, men jeg hadde ikke tastatur eller mus på min nye plassering. Det var en stund siden jeg konfigurerte en bringebær
Slik demonterer du en datamaskin med enkle trinn og bilder: 13 trinn (med bilder)
Slik demonterer du en datamaskin med enkle trinn og bilder: Dette er en instruksjon om hvordan du demonterer en PC. De fleste grunnkomponentene er modulære og fjernes lett. Det er imidlertid viktig at du er organisert om det. Dette vil bidra til å hindre deg i å miste deler, og også i å gjøre monteringen igjen
Iron-man med lavt polyetthet med Wifi-kontrollerte LED-striper: 8 trinn (med bilder)
Iron Man med lavt polyetthet med Wifi-kontrollerte LED-striper: Dette interaktive veggkunstverket er omtrent 39 " høy og 24 " bred. Jeg laserskåret treet ved Clemson University Student Makerspace, deretter håndmalte jeg alle trekanter og installerte lysene på baksiden av det. Dette instruerbare
PCB -design med enkle og enkle trinn: 30 trinn (med bilder)
PCB -design med enkle og enkle trinn: HELLO VENNER Den veldig nyttige og enkle opplæringen for de som ønsker å lære PCB -design, kan komme i gang