Բովանդակություն:
Video: Flappy Bird ATtiny85- ի և OLED Display SSD1306- ի վրա. 6 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:48
Բարեւ բոլորին, Այսօր ես ձեզ ցույց կտամ իմ ստեղծած թռչունների հիմնական կլոնը, և թե ինչպես կարող եք նման խաղ պատրաստել: Ես ըստ էության ձեզ հետ կանցնեմ իմ ծածկագրով և կբացատրեմ, թե ինչպես է այն աշխատում ամեն քայլափոխի: Այս խաղը կառուցված է 1 ՄՀց հաճախականությամբ ATtiny85- ի վրա աշխատելու համար, I2C OLED էկրանով: Առաջ!
Քայլ 1: Սարքավորումը
Եթե ձեզ չի հետաքրքրում խաղի համար շրջան կառուցելը, բայց դրա հիմքում ընկած տեսությունը հասկանալը, կարող եք բաց թողնել այս քայլը:
Իմ խաղը պահանջում է երկու կոճակ ՝ ATtiny85, I2C OLED 128x64px էկրան և էներգիայի որոշ աղբյուր: Իմ հրահանգելի այցեքարտը/խաղային վահանակը. ATtiny85 և OLED էկրանը ցույց է տալիս, թե ինչպես կառուցել տախտակ, որի վրա կա ամեն ինչ, ինչ ձեզ հարկավոր է: Եթե դուք հետաքրքրված չեք իմ տախտակը պատրաստելով, դուրս եկեք ձեր տախտակից, և ես ձեզ կասեմ բնութագրերը: Դուք կարող եք օգտագործել ATtiny85- ի ցանկացած տարբերակ: Ես խորհուրդ եմ տալիս այսպիսի OLED էկրաններ ունենալ:
- Երկու AT կոճակների մի կողմը միացրեք ձեր ATtiny85- ի 2 և 3 կապումներին: Այս լարերի վրա ավելացրեք նաև 10k ohm դիմադրություն, որը միացված է գետնին (ձգվող դիմադրություն):
- Միացրեք այս կոճակների մյուս կողմը լարման: Երբ կոճակը սեղմված չէ, քորոցային վիճակը ցածր կլինի: Երբ այն սեղմված է, քորոցային վիճակը բարձր կլինի:
- Միացրեք 7 -րդ կապը ձեր էկրանին SCL կապին և 5 -րդը ՝ ձեր էկրանին SDA կապին: Համապատասխանաբար լարեք էկրանի էլեկտրական կապերը (VCC և GND):
- Վերջապես, ATtiny- ի 4 -րդ կապը միացրեք գետնին, իսկ 8 -ը `լարման:
Քայլ 2: Softwareրագրակազմ:
Այստեղ կցված է թղթապանակ `բոլոր ֆայլերով, որոնք անհրաժեշտ են խաղը գործարկելու համար: Ֆայլերից երկուսը ՝ FlappyBird.ino- ն և WallFunctions.h- ը, շատ լավ մեկնաբանված են ձեր ընթերցանության հաճույքի համար: Դուք կարող եք FlappyBird.ino էսքիզը վերբեռնել ձեր ATtiny85 (1 ՄՀց հաճախականությամբ) և խաղալ հեռու: Եթե ձեզ հետաքրքրում է այս խաղի հիմքում ընկած տեսությունը, կամ ցանկանում եք պատրաստել ձեր սեփական խաղը, ապա կարդացեք:
Իմ խաղի հետ կապված դեռ մի քանի խնդիրներ կան: I2C- ը ոչ մի կերպ տվյալները փոխանցելու լավագույն միջոցը չէ: Այս գրառման համաձայն ՝ էկրանը կարող է ընդունել միայն 100 ԿՀց հաճախականությամբ տվյալներ, այնպես որ, նույնիսկ եթե ATtiny ժամացույցի արագությունը հասցնենք 8 ՄՀց -ի, I2C ալիքը, այնուամենայնիվ, կլինի խոչընդոտ: Էկրանը կարող է թողնել առավելագույնը 10 կ / վ արագություն: Որքան ավելի շատ առանձին պատկերներ պետք է նկարեն, այնքան դանդաղ է ամբողջ գործընթացը: Այսպիսով, իմ խաղը բավականին հեշտ է, քանի որ դուք չեք կարող ստիպել, որ պատերը շատ արագ շարժվեն էկրանի վրայով: Ստորև բերված են որոշ մարտահրավերներ ձեզ համար, եթե կարծում եք, որ դուք կատարել եք առաջադրանքը.
- Խաղը բարդացնելու համար տեսեք, թե արդյոք պատերի միջև եղած տարածությունը 4 -ի փոխարեն կարող է լինել 2 -ը: Այն չպետք է չափազանց դժվար լինի, երբ հասկանաք, թե ինչպես է աշխատում իմ ծրագիրը:): Խնդրում ենք տեղադրել մեկնաբանություններում, եթե կարողանաք այն աշխատել:
- Մեկ այլ բան, որ իմ խաղը բացակայում է, հաշիվների համակարգն է և հաշիվը ցուցադրելու և պահպանելու միջոց: Տեսեք ՝ կարո՞ղ եք մեկին իրականացնել:
- Վերջապես, ոչ թե պատերը միաժամանակ մեկ սյուն շարժեն, այլ ամեն շարժում ավելի սահուն փորձեք այնպես անել, որ յուրաքանչյուր պատ շարժի մեկ պիքսել:
Քայլ 3. Flappy Bird ATtiny85. Տեսություն
Չնայած այն բանին, որ մեր օգտագործած էկրանը 64 պիքսել բարձրություն ունի խաղի համար օգտագործելու համար, հնարավոր է միայն տարրերը տեղադրել 8 պիքսելանոց բլոկներում: Այսպիսով, կան ընդամենը 8 հնարավոր y- կոորդինատներ: Ամեն ինչ ավելի հեշտ դարձնելու համար ծրագրային ապահովման մեջ ես ամբողջ էկրանը բաժանեցի այսպես ՝ կազմելով 16 բլոկի ցանց 8 բլոկով, որտեղ յուրաքանչյուր բլոկը 8x8 պիքսել է: Յուրաքանչյուր բլոկ լրացնելու համար խաղի յուրաքանչյուր սպրայթ 8x8 պիքսել է: Սա հեշտացնում է ամեն ինչ շատ ավելի հեշտ կառավարել: Եթե նայեք վերևի պատկերին, կտեսնեք, թե ինչպես եմ ես բաժանել էկրանը: Յուրաքանչյուր պատ բաղկացած է 6 բլոկներից, 2 բլոկ բարձրության անցքով, յուրաքանչյուր պատի ընդհանուր բարձրությունը դարձնելով 8 բլոկ:
Րագրում յուրաքանչյուր պատ ներկայացվում է որպես ստրուկտ, որը կոչվում է Պատ: Յուրաքանչյուր պատի կառուցվածք ունի երկու հատկություն `holePosition և սյունակ: «holePosition»-ը 0-6 թիվն է, քանի որ 8 բլոկից բաղկացած պատի մեջ ընդամենը 7 հնարավոր դիրք կա `2 բլոկ բարձրության համար: «սյունակը» 0-15 թիվն է, քանի որ էկրանին հնարավոր է բլոկների 16 սյունակ:
Խորհուրդ ենք տալիս:
Muscle Powered Flappy Bird: 9 քայլ (նկարներով)
Մկաններով սնուցվող Flappy Bird. Դուք կարող եք հիշել, երբ Flappy Bird- ը փոթորկի ենթարկեց աշխարհը ՝ ի վերջո դառնալով այնքան հայտնի: Ստեղծողը այն հեռացրեց հավելվածների խանութներից `խուսափելու համար անցանկալի հրապարակայնությունից: Սա Flappy Bird- ն է, որը դուք երբևէ չէիք տեսել. դարակից մի քանիսը համատեղելով
Arduino Flappy Bird - Arduino 2.4 "TFT Touchscreen SPFD5408 Bird Game Project: 3 քայլ
Arduino Flappy Bird | Arduino 2.4 "TFT Touchscreen SPFD5408 Bird Game Project. Flappy Bird- ը շատ տարածված խաղ էր այնտեղ մի քանի տարի անց, և շատ մարդիկ այն ստեղծեցին իրենց ձևով, այնպես էլ ես: Սենսորային էկրան SPFD5408, ուստի եկեք սկսենք
Եղանակի վրա հիմնված երաժշտության գեներատոր (ESP8266 վրա հիմնված միջինի գեներատոր). 4 քայլ (նկարներով)
Եղանակի վրա հիմնված երաժշտության գեներատոր (ESP8266 Based Midi Generator). Բարև, այսօր ես կբացատրեմ, թե ինչպես պատրաստել ձեր սեփական եղանակի վրա հիմնված փոքր երաժշտության գեներատոր: Այն հիմնված է ESP8266- ի վրա, որը նման է Arduino- ին և արձագանքում է ջերմաստիճանին, անձրևին: և լույսի ուժգնություն: Մի ակնկալեք, որ այն ամբողջ երգեր կամ ակորդներ կհաղորդի
Գրաֆիկա SSD1306 I2C OLED 128x64 էկրանով ՝ միացումով Python Using Itsybitsy M4 Express. 13 քայլ (նկարներով)
SSD1306 I2C OLED 128x64 էկրանով գրաֆիկա CircuitPython- ը Itsybitsy M4 Express- ի միջոցով. SSD1306 OLED էկրանը փոքր (0.96 "), էժան, լայնորեն հասանելի, I2C, մոնոխրոմ գրաֆիկական ցուցադրում է 128x64 պիքսելով, որը հեշտությամբ միջերեսային է (ընդամենը 4 լարեր) միկրոպրոցեսորների զարգացման տախտակներին, ինչպիսիք են Raspberry Pi, Arduino կամ
Ինչպես միացնել MicroPython- ի որոնվածը ESP8266- ի վրա հիմնված Sonoff խելացի անջատիչի վրա. 3 քայլ (նկարներով)
Ինչպե՞ս միացնել MicroPython- ի որոնվածը ESP8266- ի վրա հիմնված Sonoff խելացի անջատիչի վրա. Այդ գծից ամենաճկուն և էժան սարքերից են Sonoff Basic- ը և Sonoff Dual- ը: Սրանք Wi-Fi- ով միացված անջատիչներ են ՝ հիմնված հիանալի չիպի ՝ ESP8266- ի վրա: Մինչդեռ