Sisällysluettelo:
Video: Arduino Space Race -pelin versio _1: 5 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:01
Hei ystävät. Tänään ı am ganna näyttää sinulle, kuinka voit tehdä Space Race Game LCD5110 -näytöllä ja joysticilla. Katsotaanpa vaiheita…
Vaihe 1: TARPEET
Tässä on luettelo osista, joita käytin tämän projektin tekemiseen:
- Arduino UNO
- Joystick -moduuli
- Hyppyjohdot (uros -uros ja uros -naaras)
- Leipälauta
Vaihe 2: SCHEMA
VCC -> Arduino 5V
BL -> Arduino -nasta 3
GND -> Arduino GND
CLK (SCLK) -> Arduino -nasta 8
DIN (MOSI) -> Arduino -nasta 9
DC -> Arduino -nasta 10
CE tai CS -> Arduino -nasta 12
RST (NOLLAUS) -> Arduino -nasta 11
Vaihe 3: KOODI
Koodissa on selitykset kooditoiminnoista. Ymmärrät sen helposti. Jos sinulla on ongelma, voit ottaa minuun yhteyttä.
#sisältää
LCD5110 lcd (8, 9, 10, 11, 12); // (clk, din, dc, rst, ce)
int BL = 3;
extern uint8_t SmallFont ; // kuvaile fontteja extern uint8_t MediumNumbers ; extern uint8_t arac ; // kuvaile muotoamme extern uint8_t dusman_araci ; // kuvata vihollisen muoto const int xpin = A0; // ohjaussauva x nasta char pozisyon = 2; // kuvaile sijainti, muodollamme aloituspaikka 2 boolean kontrol = true; boolean dusmanOldu = totta; int skor = 0; int hiz = 0; int dusmanKonumu1; // kuvaile vihollinen1 x sijainti int dusmanKonumu2; // kuvaile vihollista2 x sijainti int dusmaninYdeKonumu; // kuvaile vihollisia y sijaintia
void dusmanAraci (int yer, int asama) {// aseta vihollisen muotojen paikat
jos (yer == 1) {// jos sijainti = 1; lcd.drawBitmap (2, asama, dusman_araci, 12, 8); // piirtää vihollisen muoto} if (yer == 2) {lcd.drawBitmap (18, asama, dusman_araci, 12, 8); } jos (yer == 3) {lcd.drawBitmap (34, asama, dusman_araci, 12, 8); }}
void oyunBitti () {// jos epäonnistumme, peli päättyy
while (1) {viive (100); // odota 1 milisekunti lcd.clrScr (); // tyhjennä näyttö lcd.setFont (SmallFont); // aseta fontti lcd.print ("GAME OVER", CENTER, 20); // tulosta lcd.update (); // päivitä näyttö}}
void setup () {pinMode (BL, OUTPUT); // taustavalo Lähtö lcd. InitLCD (); // käynnistää lcd -näytön lcd.setContrast (55); // aseta kontrasti (0–127) Serial.begin (9600); // aloita sarjayhteys}
void loop () {
analogWrite (BL, 200);
// aseta pelinäyttö lcd.drawRect (0, 0, 47, 47); // piirrämme suorakulmion lcd.setFont (SmallFont); // aseta fontti lcd.print ("skor", 53, 0); // printf score lcd.setFont (MediumNumbers); // aseta fontti lcd.printNumI (skor, 59, 7); // hanki pisteet lcd.setFont (SmallFont); lcd.print ("hiz", 56, 25); // tulostusnopeus lcd.setFont (MediumNumbers); lcd.printNumI (hiz, 59, 32); // hanki nopeus lcd.update (); //päivittää
// aseta joyistickin sijainti int x = analogRead (xpin); if (x <300 && pozisyon! = 1 && kontrol == true) {// jos sijainti! = 1, x state600 && pozisyon! = 3 && kontrol == true) {// jos sijainti! = 3, x tila> 600 ja ohjaus on totta pozisyon ++; // lisätä sijaintia se tarkoittaa siirtää muotoa oikealle kontrol = false; } else if (x> 300 && x <600) {kontrol = true; } Sarja.println (x); // x -tilan oppimiseen // aseta muodon sijainti lcd.clrScr (); // tyhjennä näyttö, jos (pozisyon == 1) {// jos sijainti = 1; lcd.drawBitmap (2, 37, arac, 12, 8);} // piirrä aluksemme, jos (pozisyon == 2) {lcd.drawBitmap (18, 37, arac, 12, 8);}
jos (pozisyon == 3) {
lcd.drawBitmap (34, 37, arac, 12, 8);}
if (dusmanOldu) {// jos vihollisen muoto on kuollut, tarkista, ovatko he kuolleet
dusmanKonumu1 = pozisyon; // piirtää ensimmäisen vihollisen muoto dusmanKonumu2 = satunnainen (0, 4); // piirrä toinen vihollisen muoto jonnekin dusmaninYdeKonumu = 0; // tuoda vihollinen ylhäältä dusmanOldu = false;} // vihollinen luodaan uudelleen, jotta he eivät ole kuolleita dusmanAraci (dusmanKonumu1, dusmaninYdeKonumu); dusmaninYdeKonumu ++; // piirtää ensimmäinen vihollisen muoto ja saada se ylhäältä alas dusmanAraci (dusmanKonumu2, dusmaninYdeKonumu); dusmaninYdeKonumu ++; // piirtää toisen vihollisen muoto ja saada se ylhäältä alas, jos (dusmaninYdeKonumu> 22 && ((dusmanKonumu1 == pozisyon) || (dusmanKonumu2 == pozisyon)))) {// jos muoto koskettaa vihollisen muotoja oyunBitti ();} // peli on ohi, jos (dusmaninYdeKonumu> 40) {// jos muodomme pakenee vihollisilta dusmanOldu = true; // tappaa vihollisen muodot skor ++;} // lisää pisteitä yksi kerrallaan // lisää nopeutta pisteiden mukaan, jos (skor> = 0 && skor10 && skor20 && skor30 && skor <= 40) {hiz = 3; viive (40); }}
Vaihe 4: KOODA BITMAP
Lisäksi sinun on sisällytettävä bittikarttakuvat muodoille. Sen on oltava.c -tiedosto ja sama nimi koodinimellä, ja sen on oltava samassa tiedostossa.
// ------------------------------------------------ ------------------------------ // LCD Assistantin luoma tiedosto // https://en.radzio.dxp.pl /bitmap_converter/// --------------------------------------------- --------------------------------- #include // include ohjelmointitoimintoa varten
const unsigned char arac PROGMEM = {// muoto bittikartta
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
const unsigned char dusman_araci PROGMEM = {// vihollisen aluksen bittikartta
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
Vaihe 5: KIITOS KATSOESTA
Ennen kuin aloitin projektien jakamisen, olen koodannut turkkilaisilla sanoilla, joten en voinut saada kaikkia sanoja englanniksi.
Oyun = Peli
Arac = muoto
Dusman = Vihollinen
kontrol = ohjaus
Konum, Yer = Sijainti
Oyun Bitti = Game Over
Skor = Pisteet
Hiz = nopeus
Suositeltava:
E-dohicky Russin laservirtamittarin elektroninen versio Dohicky: 28 vaihetta (kuvilla)
E-dohicky Russin laser-tehomittarin elektroninen versio Dohicky: Laser-sähkötyökalu. E-dohicky on Russ SADLERin dohickyn sähköinen versio. Russ animoi erittäin hyvän SarbarMultimedia-YouTube-kanavan https://www.youtube.com/watch?v=A-3HdVLc7nI&t=281sRuss SADLER esittelee helpon ja halvan lisälaitteen
ThreadBoard (ei-3D-tulostettu versio): E-Textile Rapid Prototyping Board: 4 vaihetta (kuvilla)
ThreadBoard (ei-3D-tulostettu versio): E-Textile Rapid Prototyping Board: ThreadBoard V2: n 3D-painetun version Instructable löytyy täältä. ThreadBoardin versio 1 löytyy täältä. matkustaminen, pandemiat ja muut esteet, sinulla ei ehkä ole pääsyä 3D -tulostimeen, mutta haluat
Arduino -volttimittari (0-100 V DC) - Versio 2 (parempi): 3 vaihetta
Arduino-volttimittari (0-100 V DC)-Versio 2 (parempi): Tässä ohjeessa olen rakentanut voltimittarin mittaamaan suurjännitteitä DC (0-100v) suhteellisen tarkasti ja tarkasti käyttämällä Arduino Nano ja ADS 1115 ADC .Tämä on toinen versio voltimittarista, jota käytin edellisellä ohjeellani täällä: https: // ww
ARDUINO SOLAR CHARGE CONTROLLER (versio-1): 11 vaihetta (kuvilla)
ARDUINO SOLAR CHARGE CONTROLLER (versio-1): [Play Video] Edellisissä ohjeissani kuvailin yksityiskohtia aurinkokunnan ulkopuolisen aurinkokunnan energianvalvonnasta.Olen myös voittanut 123D-piirikilpailun. Lopuksi julkaisen uuden version 3 latauksen
Sanakello - Arduino -versio: 11 vaihetta (kuvilla)
Sanakello - Arduino -versio: ****************************************** ******************************** Tärkeitä päivityksiä - Paljon parempi kotelo tälle kellolle on suunniteltu - katso https:/ /www.instructables.com/id/The-Wordclock-Grew-Up/