Përmbajtje:
Video: Arduino Space Rocks Lojë: 3 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:17
Pavarësisht nëse luhen në një kompjuter, në një telefon, në një tastierë lojërash, ose në një kuti të pavarur, shumë video lojëra përfshijnë një element të shmangies së pengesave. Sigurisht, mund të jepen pikë për mbledhjen e shenjave ose gjetjen e rrugës tuaj nëpër një labirint, por jini të sigurt se ndoshta ka diçka në lojë qëllimi i vetëm i të cilit është t'ju parandalojë ta bëni këtë. Loja e parë video ishte Pong, por pas kësaj lojërat më të njohura ishin gjëra të tilla si "Asteroidet" ose "Pac-Man". Një ndryshim më i fundit do të ishte loja e thjeshtë por problematike e "Flappy Birds".
Kohët e fundit pashë që dikush kishte bërë një version të thjeshtë me dy nivele të "Flappy Bird" që luhej në një LCD të zakonshëm 1602. Mendova se do të ishte diçka që nipërit dhe mbesat mund ta pëlqejnë, kështu që vendosa të bëj ndryshimin tim nga e para. Versioni 1602 ka vetëm dy nivele, kështu që vendosa të përdor një LCD 2004 (20x4) në vend që të rris pak vështirësinë e lojës. Unë gjithashtu zgjodha ta bëj atë më shumë si "Asteroidët" duke e detyruar lojtarin të drejtojë një "anije" përmes një labirinti të "shkëmbinjve hapësinorë". Edhe nëse nuk jeni të interesuar në ndërtimin e lojës, mund të ketë disa elementë të softuerit që mund t'i përdorni në një nga projektet tuaja.
Hapi 1: Pajisje kompjuterike
Pajisja mund të bazohet në pothuajse çdo version Arduino. Kam bërë prototipin duke përdorur një Nano dhe më pas e kam djegur kodin në një çip ATMega328. Ky është i njëjti çip i përdorur në Nano, por përdorimi i tij në vetvete lejon një ndërtim më kompakt dhe më pak konsum të energjisë. Siç mund ta shihni, unë e ndërtova qarkun në një dërrasë të vogël buke që ishte derrkuc në modulin LCD. Aspekti tjetër që është i ndryshëm është se Nano funksionon në 16-MHz duke përdorur një kristal të jashtëm, por unë zgjodha të përdor oshilatorin e integruar 8-MHz për çipin ATMega328. Kjo kursen pjesë dhe fuqi.
LCD 2004 ndërfaqet me Arduino në të njëjtën mënyrë si një LCD 1602. Një ndryshim interesant është në adresimin e vendeve të shfaqjes. Natyrisht që ka një ndryshim sepse ka katër rreshta në vend të dy, por, në vitin 2004, rreshti i tretë është një shtrirje e vijës së parë dhe rreshti i katërt është një shtrirje e vijës së dytë. Me fjalë të tjera, nëse do të kishit një program testimi që sapo dërgonte një varg karakteresh në LCD, personazhi i 21 -të do të shfaqej në fillim të rreshtit të tretë dhe personazhi i 41 -të mbyllet në fillim të rreshtit të parë. Unë e përdor atë karakteristikë në softuer për të dyfishuar në mënyrë efektive gjatësinë e labirintit.
Vendosa ta bëj versionin tim me bateri, kështu që përdor një bateri të zakonshme 18650 Li-ion, 3.6 volt. Kjo kërkoi që të shtoja një tabelë të vogël për të lejuar rimbushjen USB dhe një tabelë tjetër të vogël për të rritur tensionin e baterisë në 5 volt për LCD dhe çipin ATMega. Fotografitë tregojnë modulet që kam përdorur, por ka edhe module të gjitha në një që bëjnë të dy funksionet.
Hapi 2: Softueri
Softueri është i njëjtë si për çipin Nano ashtu edhe për ATMega328. Dallimi i vetëm është në metodën e programimit. Unë përdor versionin tim barebones të softverit 1602 LCD dhe softueri LCD në këtë projekt bazohet në këtë. Më duhej të shtoja aftësitë për të adresuar linjat shtesë të ekranit 2004 dhe gjithashtu shtova rutina për zhvendosjen e ekranit. Zhvendosja e ekranit siguron efektin e lëvizjes së "shkëmbinjve" përtej "anijes".
Siç u përmend më herët, rreshtat 1 dhe 3 formojnë një radhë rrethore dhe rreshtat 2 dhe 4 bëjnë gjithashtu. Kjo do të thotë që pas 20 ndërrimeve, linjat 1 dhe 3 ndërrohen dhe linjat 2 dhe 4 ndërrohen. Pas 40 ndërrimeve linjat kthehen në pozicionet e tyre origjinale. Për shkak të kësaj sjelljeje, labirinti origjinal me 20 karaktere bëhet krejtësisht i ndryshëm kur linjat ndërrohen. Kjo e bëri jetën interesante kur u përpoqa të krijoja një labirint. Më në fund sapo hapa një spreadsheet të Excel -it në mënyrë që të mund të përcaktoja rrugën pa pasur nevojë të ndryshoja vazhdimisht softuerin. Softueri i ofruar këtu ka dy versione të labirintit (njëri komentohet) kështu që ju mund të zgjidhni atë që dëshironi ose të krijoni tuajin.
Fillimisht doja që kjo të ishte mjaft e thjeshtë që nipërit e vegjël ta luanin atë, por gjithashtu doja që ajo të kishte ndonjë sfidë shtesë nëse ata (ose dikush tjetër) do të ishin shumë të mirë në të. Loja fillon me normën e ndërrimit të vendosur në 1 sekondë. Shkalla e brendshme e tikut është 50ms kështu që do të thotë se ka 20 intervale gjatë të cilave mund të shtypen butonat lart/poshtë. Në fakt, një buton i shtypur konsumon 2 tika sepse një interval prej 50ms përdoret për të zbuluar shtypjen dhe një interval tjetër 50ms përdoret për të pritur lëshimin. Me labirintin e paracaktuar, numri maksimal i shtypjeve të kërkuara para ndërrimit të ardhshëm është tre. Mënyra e thjeshtë për të rritur vështirësinë e lojës është të shkurtoni kohën midis ndërrimeve, kështu që disa rreshta të kodit e bëjnë këtë me rritjen e rezultatit. Shkalla e ndërrimit është vendosur të shpejtohet me 50ms çdo 20 ndërrime, me normën minimale të kufizuar në 500ms. Easyshtë e lehtë të ndryshosh këto parametra.
Përveç ndryshimit të shkallës së zhvendosjes, logjika kryesore në softuer është lëvizja e "anijes" dhe përcaktimi nëse "anija" është përplasur me një "shkëmb". Këto funksione përfitojnë nga grupi i përcaktuar "shkëmb/hapësirë" dhe gjithashtu grupin që përcakton vendet e kujtesës në ekran. Numërimi i ndërrimit korrespondon me gjatësinë e rreshtit të LCD (0-19) dhe përdoret si indeks në këto vargje. Logjika është disi e komplikuar nga fakti se linjat ndërrohen çdo 20 numërime të ndërrimit. Logjikë e ngjashme përdoret për të përcaktuar pozicionin e "anijes" e cila mund të jetë në cilëndo nga katër rreshtat.
Rezultati për secilën lojë është thjesht numërimi i numrit të ndërrimeve që ndodhën dhe rezultati i lartë ruhet në EEROM të brendshëm të mikrokontrolluesit. Biblioteka EEPROM përdoret për të lexuar dhe shkruar në këtë kujtesë. Rutinat e disponueshme lejojnë që një byte të lexojë/shkruajë dhe lexojë/shkruajë vlera të pikave lundruese. Një vlerë prej 0xA5 ruhet në vendin e parë të EEROM për të treguar që një rezultat i lartë është ruajtur. Nëse kjo vlerë është e pranishme gjatë fuqizimit, atëherë vlera e pikës lundruese për pikën e lartë lexohet dhe shfaqet. Nëse vlera 0xA5 nuk është e pranishme, atëherë thirret një rutinë për të inicializuar rezultatin e lartë në një vlerë 1. E njëjta rutinë quhet nëse dëshironi një rivendosje të rezultatit të lartë. Rezultati i lartë kthehet në vlerën 1 duke mbajtur të shtypur njërën nga butonat lart/poshtë dhe më pas duke shtypur në çast butonin e rivendosjes.
Hapi 3: Luajtja e lojës
Kur aplikohet fuqia, shfaqet rezultati i lartë aktual. Pasi shfaqet rezultati i lartë, labirinti i "shkëmbinjve" dhe "anijes" shfaqen, atëherë loja fillon disa sekonda më vonë. Kur "anija" godet një "shkëmb" mesazhi "RRESH DHE Djeg" ndizet disa herë para se të shfaq rezultatin për lojën. Nëse bëhet një rezultat i ri i lartë, atëherë ai mesazh shfaqet gjithashtu. Një lojë e re fillon duke shtypur butonin e rivendosjes.
Recommended:
Mini lojë "Guess the Number" Lojë me mikro: bit: 10 hapa
Mini Makina e lojës "Guess the Number" me Micro: bit: A keni luajtur ndonjëherë " Guess the Number "? Kjo është një makinë lojërash shumë e thjeshtë për t’u ndërtuar që luan " Guess the Number " me ty Ne e projektuam këtë projekt DIY për të inkurajuar lojën fizike dhe për t'i ndihmuar fëmijët të mësojnë programim. Ai përdor një MU
Arduino Space Gara lojë Versioni _1: 5 hapa
Arduino Space Garë Lojë Versioni _1: Hej miq. Sot jam në ganna t'ju tregoj se si mund të bëni një Lojë Gara e Hapësirës me ekran LCD5110 dhe me gëzim. Le të shikojmë hapat
Arduino Flappy Bird - Projekt lojë Arduino 2.4 "TFT Touchscreen SPFD5408 Bird Game: 3 hapa
Arduino Flappy Bird | Arduino 2.4 "TFT Touchscreen SPFD5408 Bird Project Project: Flappy Bird ishte lojë shumë e popullarizuar atje në pak vite dhe shumë njerëz e krijuan atë në mënyrën e tyre, ashtu edhe unë, krijova versionin tim të zogut flappy me Arduino dhe 2.4 të lirë" TFT " Ekran me prekje SPFD5408, Pra, le të fillojmë
Lojë Microbit Tic Tac Toe Lojë: 4 hapa (me fotografi)
Microbit Tic Tac Toe Lojë: Për këtë projekt, bashkëpunëtori im - @descartez dhe unë krijuam një lojë të mrekullueshme tic tac toe duke përdorur radio funksionalitetin e mikrobitëve. Nëse nuk keni dëgjuar më parë për mikrobit, ata janë një mikrokontrollues i mrekullueshëm i krijuar për t'u mësuar fëmijëve programimin. Ata
ROCKS TRASH - Eliminoni plehrat e pak riciklueshme: 8 hapa
ROCKS TRASH - Eliminoni plehrat e pak riciklueshme: Për të bërë një shkëmb plehrash, një thes së pari qepet nga rrjeta. Shtë e mbushur me plehra dhe e suvatuar me çimento. Predhat që rezultojnë janë unike në formë dhe duken shumë të natyrshme. Shkëmbinjtë e plehrave janë një estetikisht i këndshëm dhe konstruktiv