POiNG! - Arduino arkadna igra!: 3 koraka
POiNG! - Arduino arkadna igra!: 3 koraka
Anonim
Image
Image
POiNG! - Arduino arkadna igra!
POiNG! - Arduino arkadna igra!

Pravit ćemo arkadnu igru u stilu PONG-a koja koristi dijelove iz kompleta "Najcjelovitiji početni komplet UNO R3 projekta" iz Elegoo Inc.

Potpuno otkrivanje podataka - Većinu dijelova isporučenih za ovaj Instructable autor je dostavio Elegoo Inc.

Htio sam izgraditi projekt koristeći LED Matrix modul. Osnovni LED ekran 8x8 zahtijeva upotrebu dodatnih registara pomaka kako bi mogao adresirati pojedinačne LED diode u matrici. Umjesto toga, ovaj projekt koristi MAX7219 8x8 LED modul. To je vrlo jednostavan modul za upotrebu.

Predložio bih da se zbog velikog broja ožičenja na ovom projektu, smatra Srednjim nivoom za instruktore.

Hajde da počnemo!

Supplies

Korišteni dijelovi početnog kompleta Elegoo (https://rebrand.ly/dvjb3w8)

  • UNO R3 Mikrokontroler
  • MAX7219 8x8 LED modul
  • LCD 16x2 displej modul
  • 10K Trim potenciometar i dugme
  • Dupont Wires
  • 220R Resistor
  • Pasivni Piezo zujalica
  • Modul za napajanje
  • 9V 1A adapter - potreban jer UNO ne može isporučiti dovoljnu struju za 8x8 LED modul
  • Breadboard

Potrebni dodatni delovi

2 x 10K linearni potenciometar - jeftin i široko dostupan na eBayu, AliExpressu, Banggoodu itd.

Korak 1: Ožičenje kruga

Ožičenje kruga
Ožičenje kruga

Ožičite krug prema shemi ožičenja. Uzmi si vremena. Za dva ekrana potrebno je MNOGO veza.

Primijetite na fotografiji kruga da je modul za napajanje pričvršćen na lijevu stranu matične ploče, a 9V 1A istosmjerni adapter priključen u modul za napajanje tako da se dovoljna struja dovodi do LED matrice. NEMA veze između 5V pina na UNO -u i matične ploče. ALI, GND pin na UNO -u je spojen na GND na matičnoj ploči.

Dvaput i trostruko provjerite svoj rad.

Korak 2: Arduino kod

Ovo uputstvo pretpostavlja da već znate programirati u Arduinu.

Preuzmite priloženu Arduino skicu. Provjerite jeste li dodali u biblioteku LedControl u svoje Arduino biblioteke. Koristio sam verziju Eberharda Fahlea. Samo pretražite MAX7219 u pregledniku Manage Libraries i pronaći ćete ga i instalirati.

Uverite se da se datoteka pitches.h nalazi u fascikli vaše skice. Koristi se za reprodukciju zvukova u igri.

Malo o vremenu

Kako naredba delay () u potpunosti pauzira izvršavanje vaše skice dok se izvodi, umjesto toga tražimo protekle vremenske periode koji će nastupiti kada želimo izvršiti dijelove skice povezane s animacijom. Tražimo unaprijed određeno vrijeme koje treba proći prije nego što izvedemo dijelove skice, poput ažuriranja lokacije loptice na ekranu.

Još važnije, naredba delay () se zaista izvršava samo u metodi loop (). Obično se ne izvršava kako se očekuje u drugim metodama. Dakle, sve mjerenje vremena vezano za animaciju vrši se u metodi loop ().

Primjer:

Definiramo neke 'dugačke' varijable tipa i nekoliko logičkih vrijednosti, a zatim ih postavljamo na kraju setup ().

bThresh = 80; // vrijeme u milisekundama između ažuriranja loptice

ballTime = millis (); // postavljeno na trenutno sistemsko vrijeme

bon = false; // je li LED lopta uključena ili isključena

ballReturn = false; // vraćamo li loptu nakon udarca veslom?

U loop () za izvlačenje loptice imamo:

if ((millis () - ballTime> bThresh) && bon == false) {// ako je lopta isključena i prošlo je dovoljno vremena ballOn (); // uključite LED loptu

bon = true; // lopta je sada UKLJUČENA

ballTime = millis (); // resetiranje ballTime na trenutno vrijeme

}

if ((millis () - ballTime> bThresh) && bon == true) {// ako je lopta UKLJUČENA i prošlo je dovoljno vremena

ballOff (); // isključuje LED kuglu

bon = false; // lopta je sada OFF

ballTime = millis (); resetirajte loptu na trenutno vrijeme

}

Postoji mnogo načina da napravite ovu igru. Ovo su samo moje želje.

Skica je potpuno dokumentirana pa vas pozivam da pročitate kôd da vidite kako funkcionira.

Provjerite, sastavite i učitajte svoj kôd.

Uživajte igrajući svoju igru!

Korak 3: Zaključak

Zaključak
Zaključak
Zaključak
Zaključak

Zahvaljujem Elegoo Inc -u koji je pružio početni komplet korišten u ovom projektu. To je komplet s velikim brojem dijelova i modula koji će vas uvesti u svijet Arduino Maker -a.

Preporučuje se: