Orodha ya maudhui:
Video: Flappy Bird kwenye ATtiny85 na OLED Onyesha SSD1306: Hatua 6 (na Picha)
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:52
Halo kila mtu, Leo nitakuonyesha kiini cha msingi cha ndege ambacho nimeunda, na jinsi unaweza kufanya mchezo kama huo. Kwa kweli nitaenda kupitia nambari yangu na wewe na kuelezea jinsi inavyofanya kazi kila hatua. Mchezo huu umejengwa kukimbia kwenye ATtiny85 iliyowekwa saa 1MHz, na onyesho la I2C OLED. Endelea!
Hatua ya 1: Vifaa
Ikiwa haufurahii kweli kujenga mzunguko wa mchezo lakini ukielewa nadharia iliyo nyuma yake, unaweza kuruka hatua hii.
Mchezo wangu unahitaji vifungo viwili, ATtiny85, skrini ya I2C OLED 128x64px, na chanzo kingine cha nguvu. Kadi yangu ya Biashara inayoweza kufundishwa / Dashibodi ya Mchezo: Screen ya ATtiny85 na OLED inakuonyesha jinsi ya kujenga bodi ambayo ina kila kitu unachohitaji juu yake! Ikiwa huna hamu ya kutengeneza bodi yangu, toa bodi yako ya mkate na nitakuambia maelezo. Unaweza kutumia lahaja yoyote ya ATtiny85. Ninapendekeza maonyesho ya OLED kama hii.
- Waya upande mmoja wa vifungo viwili vya kushinikiza kwa pini 2 na 3 kwenye ATtiny85 yako. Kwenye waya hizi, ongeza kontena la 10k ohm lililounganishwa na ardhi (kontena la kuvuta-chini).
- Waya upande mwingine wa vifungo hivi vya kushinikiza kwa voltage. Kitufe kisipobanwa, hali ya siri itakuwa chini. Inapobanwa, hali ya pini itakuwa juu.
- Unganisha pini 7 kwenye pini ya SCL kwenye onyesho lako, na ubandike 5 kwenye pini ya SDA kwenye onyesho lako. Waya pini za umeme (VCC na GND) kwenye onyesho ipasavyo.
- Mwishowe, unganisha pini 4 kwenye ATTiny chini na ubandike 8 kwa voltage.
Hatua ya 2: Programu
Imeambatanishwa hapa ni folda na faili zote unazohitaji kuendesha mchezo. Faili mbili, FlappyBird.ino na WallFunctions.h, zimetolewa maoni vizuri kwa raha yako ya kusoma. Unaweza kupakia mchoro wa FlappyBird.ino kwa ATtiny85 yako (kwa 1MHz), na ucheze mbali! Ikiwa kujifunza nadharia nyuma ya mchezo huu kunakuvutia, au unataka kutengeneza mchezo wako mwenyewe, kisha soma!
Bado kuna shida kadhaa na mchezo wangu. I2C sio njia bora ya kusambaza data kwa njia yoyote. Kulingana na chapisho hili, onyesho linaweza tu kukubali data karibu 100KHz, kwa hivyo hata ikiwa tutapiga kasi ya saa ya ATTiny hadi 8MHz kituo cha I2C bado kitakuwa kizuizi. Onyesho linaweza kutoa juu ya kiwango cha juu cha 10fps. Picha tofauti zaidi ambazo onyesho linahitaji kuchora, polepole mchakato mzima ni. Kwa hivyo, mchezo wangu ni rahisi sana kwani huwezi kupata kuta kusonga haraka sana kwenye skrini! Hapa chini kuna changamoto kadhaa kwako ikiwa unafikiria unakamilisha jukumu hili:
- Ili kufanya mchezo kuwa mgumu, angalia ikiwa unaweza kupata nafasi kati ya kuta kuwa 2 badala ya 4. Haipaswi kuwa ngumu sana mara tu utakapoelewa jinsi programu yangu inavyofanya kazi:). Tafadhali weka maoni ikiwa unaweza kuifanya iweze kufanya kazi!
- Kitu kingine mchezo wangu unakosa ni mfumo wa alama na njia ya kuonyesha alama na kuiokoa. Angalia ikiwa unaweza kutekeleza moja!
- Mwishowe, badala ya kuta kuhama safuwima moja kwa wakati, jaribu kupata kila ukuta kusogeza pikseli moja kwa wakati kwa mwendo laini.
Hatua ya 3: Flappy Bird ATtiny85: Nadharia
Ingawa onyesho tunalotumia lina saizi 64 za urefu wa kutumia kwa mchezo, inawezekana tu kuweka vitu kwenye vizuizi vya saizi 8. Kwa hivyo, kuna kuratibu 8 tu zinazowezekana. Ili kufanya mambo iwe rahisi, katika programu hiyo niligawanya skrini nzima kwa njia hii, nikitengeneza gridi ya vitalu 16 kwa vitalu 8, ambapo kila block ni saizi 8x8. Ili kujaza kila block, kila sprite kwenye mchezo ni saizi 8x8. Hii inafanya kila kitu rahisi kudhibiti. Ukiangalia picha hapo juu, unaweza kuona jinsi niligawanya skrini. Kila ukuta unajumuisha vitalu 6, na shimo 2 vifuniko kwa urefu, na kufanya urefu wa jumla wa kila ukuta uwe na vitalu 8.
Katika programu, kila ukuta unawakilishwa kama muundo, unaoitwa Ukuta. Kila muundo wa Ukuta una mali mbili - Nafasi ya shimo na safu. 'holePosition' ni namba 0-6, kwani kuna nafasi 7 tu kwenye ukuta wa vitalu 8 kwa shimo 2 vitalu juu. 'safu' ni nambari 0-15, kwani kuna safu 16 za vizuizi kwenye skrini.
Ilipendekeza:
Onyesha Nakala kwenye OLED Kupitia Mtandao: Hatua 9
Onyesha Nakala kwenye OLED Kupitia Mtandao: Halo na Karibu, Mafunzo haya mafupi yatakufundisha kuonyesha maandishi kwenye Magicbit ukitumia Magicblocks.Kuna njia kuu 2 za kufikia lengo hili; Kwa kutumia Inject Block. Kwa kutumia Dashibodi. Kwanza kabisa ingia kwenye Magicb yako
Onyesha MUDA wa CPU kwenye ESP Wemos D1 OLED: Hatua 7
Onyesha MUDA wa CPU kwenye ESP Wemos D1 OLED: Katika mafunzo haya tutatumia ESP Wemos D1 OLED na Visuino kuonyesha Wakati wa CPU kwenye onyesho la OLED. Tazama video ya onyesho
Cheza Mchezo wa PONG na Arduino Uno na OLED 0.96 SSD1306 Onyesha: Hatua 6
Cheza Mchezo wa PONG na Arduino Uno na OLED 0.96 SSD1306 Onyesho: Halo jamani leo tutafanya Mchezo wa PONG na Arduino. Tutatumia onyesho la oled la adafruit la 0.96 kuonyesha mchezo & kushinikiza vifungo kudhibiti mchezo
Graphics kwenye SSD1306 I2C OLED 128x64 Onyesha Na CircuitPython Kutumia Itsybitsy M4 Express: Hatua 13 (na Picha)
Graphics kwenye SSD1306 I2C OLED 128x64 Onyesha na CircuitPython Kutumia Itsybitsy M4 Express: Onyesho la SSD1306 OLED ni dogo (0.96 "), ghali, inapatikana sana, I2C, onyesho la picha la monochrome na saizi 128x64, ambayo inaingiliana kwa urahisi (4 tu waya) kwa bodi za maendeleo ya microprocessor kama vile Raspberry Pi, Arduino au
Onyesha Picha Mbali na PSP / Simu ya Mkononi kwenye Picha ya Dijitali: Hatua 3
Onyesha Picha Mbali na PSP / Simu ya Mkononi kwenye fremu ya Picha ya Dijitali: Kweli … kichwa kinasema yote kweli … Hii ni rahisi kufundisha na haiitaji vifaa au programu yoyote zaidi ya vile unapaswa kuwa nayo Maswali Yoyote Yaniandikie Maoni au Maoni! Sio lazima ufanye marekebisho yoyote kufanya th