POING! - Arduino Արկադային խաղ: 3 քայլ
POING! - Arduino Արկադային խաղ: 3 քայլ
Anonim
Image
Image
POING! - Arduino Արկադային խաղ
POING! - Arduino Արկադային խաղ

Մենք կառուցելու ենք PONG ոճով արկադային խաղ, որն օգտագործում է Elegoo Inc.- ի «Առավել ամբողջական մեկնարկային հավաքածու UNO R3 Project» հանդերձանքի մասերը:

Ամբողջական բացահայտում - Սույն հրահանգի համար մատակարարվող մասերի մեծ մասը հեղինակին է տրամադրվել Elegoo Inc.- ի կողմից:

Ես ցանկանում էի նախագիծ կառուցել ՝ օգտագործելով LED մատրիցային մոդուլ: Հիմնական 8x8 LED էկրանը պահանջում է լրացուցիչ հերթափոխի գրանցամատյանների օգտագործում, որպեսզի կարողանա անդրադառնալ մատրիցի առանձին LED- ներին: Փոխարենը, այս նախագիծը օգտագործում է MAX7219 8x8 LED մոդուլը: Դա շատ հեշտ մոդուլ է օգտագործման համար:

Ես կառաջարկեի, որ այս նախագծի էլեկտրագծերի միացման մեծ քանակի պատճառով այն դիտարկվեր որպես ՄԻ INՆԱԲԱ մակարդակի հրահանգ:

Եկեք սկսենք!

Պարագաներ

Օգտագործված Elegoo Starter Kit մասեր (https://rebrand.ly/dvjb3w8)

  • UNO R3 միկրոկոնտրոլեր
  • MAX7219 8x8 LED մոդուլ
  • LCD 16x2 ցուցադրման մոդուլ
  • 10K Trim պոտենցիոմետր և բռնիչ
  • Dupont Wires
  • 220R դիմադրություն
  • Պասիվ պիեզո ազդանշան
  • Էներգամատակարարման մոդուլ
  • 9V 1A ադապտեր - անհրաժեշտ է, քանի որ ՄԱԿ -ը չի կարող բավարար հոսանք ապահովել 8x8 LED մոդուլի համար
  • Breadboard

Անհրաժեշտ է լրացուցիչ մասեր

2 x 10K գծային պոտենցիոմետր - էժան և լայնորեն հասանելի eBay, AliExpress, Banggood և այլն:

Քայլ 1: Շղթայի միացում

Էլեկտրագծերի միացում
Էլեկտրագծերի միացում

Մալուխը միացրեք ըստ էլեկտրագծերի սխեմայի: Մի շտապեք. Երկու էկրանների համար պահանջվում են շատ կապեր:

Շրջանի լուսանկարում նշեք, որ հոսանքի մոդուլը կցված է տախտակի ձախ կողմում, իսկ 9V 1A DC ադապտերը միացված է էներգիայի մոդուլին, որպեսզի բավարար հոսանք մատակարարվի LED մատրիցին: UNO- ի 5V կապի և տախտակի միջև կապ չկա: ԲԱՅ,, UNO- ի GND կապը միացված է գրատախտակին GND- ին:

Կրկնակի և եռակի ստուգեք ձեր աշխատանքը:

Քայլ 2: Arduino կոդ

Սա ուսանելի է ենթադրում, որ դուք արդեն գիտեք, թե ինչպես ծրագրավորել Arduino- ում:

Ներբեռնեք կից Arduino էսքիզը: Համոզվեք, որ LedControl գրադարանում ավելացրել եք ձեր Arduino գրադարաններին: Ես օգտագործել եմ Էբերհարդ Ֆահլի տարբերակը: Պարզապես որոնեք MAX7219 Manage Libraries բրաուզերում և կգտնեք և կտեղադրեք այն:

Համոզվեք, որ pitches.h ֆայլը ձեր ուրվագծի թղթապանակում է: Այն օգտագործվում է խաղի հնչյունները նվագելու համար:

Մի քիչ ժամանակի մասին:

Քանի որ հետաձգման () հրամանը լիովին դադարեցնում է ձեր ուրվագծի կատարումը, երբ այն աշխատում է, մենք փոխարենը փնտրում ենք անցած ժամանակաշրջաններ, երբ տեղի ունենա էսքիզների անիմացիայի հետ կապված մասերի կատարումը: Մենք փնտրում ենք որոշակի ժամանակ, որը պետք է անցնի, նախքան ուրվագծի այնպիսի հատվածներ կատարելը, ինչպիսին է էկրանին գնդակի տեղադրության թարմացումը:

Ավելի էական է, որ delay () հրամանը իրականում կատարվում է միայն loop () մեթոդով: Այն սովորաբար չի գործում, ինչպես սպասվում էր այլ մեթոդներում: Այսպիսով, անիմացիայի հետ կապված բոլոր ժամանակը կատարվում է loop () մեթոդով:

Օրինակ:

Մենք սահմանում ենք «երկար» տիպի փոփոխականներ և մի քանի բուլյան, իսկ հետո դրանք տեղադրում ենք setup- ի վերջում ():

bThresh = 80; // ժամանակը գնդակի թարմացումների միջև միլիվայրկյանների ընթացքում

ballTime = millis (); // սահմանել ընթացիկ համակարգի ժամանակը

բոն = կեղծ; // միացված կամ անջատված է գնդակի LED- ը

ballReturn = կեղծ; // արդյո՞ք մենք գնդակ ենք վերադարձնում թիավարումից հետո:

Գնդակը նկարելու օղակում () մենք ունենք.

if ((millis () - ballTime> bThresh) && bon == false) {// եթե գնդակը անջատված է և բավական ժամանակ է անցել ballOn (); // միացնել գնդակը LED

բոն = ճշմարիտ; // գնդակը այժմ միացված է

ballTime = millis (); // վերականգնել ballTime- ը ընթացիկ ժամանակին

}

եթե ((millis () - ballTime> bThresh) && bon == true) {// եթե գնդակը միացված է և բավական ժամանակ է անցել

ballOff (); // անջատեք գնդակի LED- ը

բոն = կեղծ; // գնդակն այժմ OFF- ով է

ballTime = millis (); վերականգնել ballTIme ընթացիկ ժամանակը

}

Այս խաղը պատրաստելու շատ եղանակներ կան: Սրանք պարզապես իմ նախասիրություններն են:

Էսքիզը ամբողջությամբ փաստաթղթավորված է, ուստի ես հրավիրում եմ ձեզ կարդալ կոդը ՝ տեսնելու, թե ինչպես է այն աշխատում:

Ստուգեք, կազմեք և վերբեռնեք ձեր ծածկագիրը:

Վայելեք ձեր խաղը խաղալը:

Քայլ 3: Եզրակացություն

Եզրակացություն
Եզրակացություն
Եզրակացություն
Եզրակացություն

Շնորհակալություն եմ հայտնում Elegoo Inc- ին `այս նախագծում օգտագործված մեկնարկային հավաքածուն տրամադրելու համար: Դա մի շարք բազմազան մասեր և մոդուլներ է, որոնք ձեզ լավ կհասցնեն Arduino Maker աշխարհ:

Խորհուրդ ենք տալիս: