Inhoudsopgave:
Video: POiNG! - Arduino Arcade Game!: 3 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:15
We gaan een arcadespel in PONG-stijl bouwen dat gebruikmaakt van onderdelen uit de "The Most Complete Starter Kit UNO R3 Project"-kit van Elegoo Inc.
Volledige openbaarmaking - De meeste onderdelen die voor deze Instructable zijn geleverd, zijn aan de auteur verstrekt door Elegoo Inc.
Ik wilde een project bouwen met een LED Matrix-module. Het basis 8x8 LED-display vereist het gebruik van extra schuifregisters om de individuele LED's in de matrix te kunnen adresseren. In plaats daarvan gebruikt dit project de MAX7219 8x8 LED-module. Het is een heel makkelijke module om te gebruiken.
Ik zou willen voorstellen dat vanwege het grote aantal bedradingsverbindingen op dit project, het als een INTERMEDIATE niveau Instructable zou worden beschouwd.
Laten we beginnen!
Benodigdheden
Gebruikte onderdelen Elegoo Starter Kit (https://rebrand.ly/dvjb3w8)
- UNO R3-microcontroller
- MAX7219 8x8 LED-module
- LCD 16x2 weergavemodule
- 10K Trim Potentiometer en knop
- Dupont-draden
- 220R Weerstand:
- Passieve piëzo-zoemer
- Voedingsmodule
- 9V 1A-adapter - nodig omdat de UNO niet voldoende stroom kan leveren voor de 8x8 LED-module
- Breadboard
Extra onderdelen nodig
2 x 10K lineaire potentiometer - goedkoop en overal verkrijgbaar op eBay, AliExpress, Banggood enz.
Stap 1: Bedrading van het circuit
Sluit het circuit aan volgens het bedradingsschema. Neem je tijd. Er zijn VEEL aansluitingen nodig voor de twee displays.
Merk op de foto van het circuit op dat de voedingsmodule aan de linkerkant van het breadboard is bevestigd en dat de 9V 1A DC-adapter in de voedingsmodule is gestoken, zodat er voldoende stroom wordt geleverd aan de LED-matrix. Er is GEEN verbinding tussen de 5V-pin op de UNO en het breadboard. MAAR, de GND-pin op de UNO is verbonden met GND op het breadboard.
Dubbel- en driedubbelcheck je werk.
Stap 2: Arduino-code
Deze instructable gaat ervan uit dat je al weet hoe je in Arduino moet programmeren.
Download de bijgevoegde Arduino-schets. Zorg ervoor dat je de LedControl-bibliotheek hebt toegevoegd aan je Arduino-bibliotheken. Ik gebruikte de versie van Eberhard Fahle. Zoek gewoon naar MAX7219 in de browser Bibliotheken beheren en u zult het vinden en installeren.
Zorg ervoor dat het pitches.h-bestand zich in de map van je schets bevindt. Het wordt gebruikt voor het spelen van de geluiden in het spel.
Een beetje over timing
Omdat de opdracht delay() de uitvoering van uw schets volledig pauzeert wanneer deze wordt uitgevoerd, zoeken we in plaats daarvan naar verstreken tijdsperioden die optreden wanneer we animatiegerelateerde delen van de schets willen uitvoeren. We zoeken naar een vooraf ingestelde hoeveelheid tijd voordat we delen van de schets uitvoeren, zoals het bijwerken van de locatie van de bal op het scherm.
Belangrijker is dat de opdracht delay() eigenlijk alleen wordt uitgevoerd in de methode loop(). Het wordt meestal niet uitgevoerd zoals verwacht in andere methoden. Dus alle animatiegerelateerde timing wordt gedaan in de loop()-methode.
Voorbeeld:
We definiëren enkele 'lange' typevariabelen en een paar booleans en stellen ze vervolgens in aan het einde van setup().
bThresh = 80; // de tijd in milliseconden tussen balupdates
ballTime = millis();// ingesteld op de huidige systeemtijd
bon = vals; // is de bal-LED aan of uit
ballReturn = onwaar; // geven we een bal terug na een peddelhit?
In loop() voor het tekenen van de bal hebben we:
if ((millis() - ballTime > bThresh) && bon == false) {// als de bal UIT is en er genoeg tijd is verstreken ballOn();// zet de bal-LED aan
bon = waar; // de bal is nu AAN
ballTime = millis(); // reset de ballTime naar de huidige tijd
}
if ((millis() - ballTime > bThresh) && bon == true) { // als de bal AAN is en er voldoende tijd is verstreken
ballOff(); // zet de bal-LED uit
bon = vals; // de bal is nu UIT
ballTime = millis(); reset de ballTIME naar de huidige tijd
}
Er zijn veel manieren om dit spel te maken. Dit zijn slechts mijn voorkeuren.
De schets is volledig gedocumenteerd, dus ik nodig u uit om de code te lezen om te zien hoe het werkt.
Controleer, compileer en upload uw code.
Veel plezier met het spelen van je spel!
Stap 3: Conclusie
Mijn dank gaat uit naar Elegoo Inc voor het verstrekken van de starterkit die in dit project wordt gebruikt. Het is een kit met een grote verscheidenheid aan onderdelen en modules waarmee je goed in de Arduino Maker-wereld terechtkomt.
Aanbevolen:
Game Design in Flick in 5 stappen: 5 stappen
Game-ontwerp in Flick in 5 stappen: Flick is een heel eenvoudige manier om een game te maken, vooral zoiets als een puzzel, visuele roman of avonturengame
Cyclone LED Arcade Game - Ajarnpa
Cyclone LED Arcade Game: De bedoeling van dit project was om een eenvoudig spel te maken met een Arduino dat interactief en vermakelijk zou zijn voor kinderen. Ik herinner me dat het Cyclone-arcadespel een van mijn favoriete arcade-spellen was toen ik jonger was, dus besloot ik het te repliceren. T
Stackers Arcade Game - Ajarnpa
Stackers Arcade Game: Hallo allemaal, vandaag wil ik dit geweldige arcadespel met jullie delen dat je kunt maken met een heleboel Ws2812b LED's en een microcontroller/FPGA. Zie Stack Overflow - onze hardware-implementatie van een klassiek arcadespel. Wat begon als een schoolproject qui
Arcade Game Machine met Raspberry Pi - Ajarnpa
Arcade Game Machine met Raspberry Pi: verhaal maken: Arcade game machine met retro pi (raspberry pi3)
Hoe u kunt controleren of een game op uw computer kan worden uitgevoerd voordat u de game koopt: 4 stappen
Hoe u kunt controleren of een game op uw computer kan worden uitgevoerd voordat u de game koopt.: Ik heb onlangs Call of Duty 4 van een vriend gekocht (gratis zou ik kunnen toevoegen) omdat hij niet op zijn computer zou draaien. Wel, zijn computer is vrij nieuw, en het verbaasde me waarom hij niet zou werken. Dus na een paar uur zoeken op internet kwam ik