Arduino Sorta Sudoku խաղ. 3 քայլ (նկարներով)
Arduino Sorta Sudoku խաղ. 3 քայլ (նկարներով)
Anonim
Arduino Sorta Sudoku խաղ
Arduino Sorta Sudoku խաղ

Շատերը սիրում են խաղալ Սուդոկու, իսկ թոռները ՝ գուշակությամբ խաղեր, ուստի որոշեցի պատրաստել դյուրակիր «Սորտա Սուդոկու» խաղ: Իմ տարբերակում խաղը 4x4 ցանց է, բայց տրվում է միայն մեկ համար: Գաղափարն այն է, որ մնացած թվերը կռահել ամենաքիչ փորձերում: Դա պարզ խաղ է, բայց կարող է մի տեսակ կախվածություն առաջացնել, երբ հետամուտ ես 15 կատարյալ գնահատականին: Խաղը պահանջում է և՛ բախտի, և՛ տրամաբանության տարր, և մինչ այժմ տեսածս լավագույն գնահատականը 16 -ն է: եթե դուք շահագրգռված չեք խաղը կառուցելով, կարող են լինել ծրագրաշարի որոշ տարրեր, որոնք կարող եք օգտագործել ձեր սեփական նախագծերից մեկում:

Քայլ 1: Սարքավորումներ

Սարքավորումներ
Սարքավորումներ
Սարքավորումներ
Սարքավորումներ
Սարքավորումներ
Սարքավորումներ

Սարքավորումը կարող է հիմնված լինել գրեթե ցանկացած Arduino տարբերակի վրա: Ես պատրաստեցի նախատիպը ՝ օգտագործելով Nano- ն, այնուհետև ծածկագիրն այրեցի ATMega328 չիպի մեջ: Դա նույն չիպն է, որն օգտագործվում է Նանոյում, բայց ինքնին օգտագործելը թույլ է տալիս ավելի կոմպակտ կառուցվածք ունենալ և ավելի քիչ էներգիա ծախսել: Ինչպես տեսնում եք, ես միացումը կառուցեցի մի փոքրիկ տախտակի վրա, որը խոզուկներ էր դրել LCD մոդուլի վրա: Մյուս կողմը, որը տարբերվում է, այն է, որ Nano- ն աշխատում է 16 ՄՀց հաճախականությամբ ՝ օգտագործելով արտաքին բյուրեղ, բայց ես նախընտրեցի օգտագործել ներկառուցված 8 ՄՀց տատանում ՝ ATMega328 չիպի համար: Դա խնայում է մասերն ու ուժը:

2004 թվականի LCD- ն Arduino- ին միանում է այնպես, ինչպես 1602 LCD- ը: Հետաքրքիր տարբերություն ցուցադրման վայրերի հասցեավորման մեջ է: Ակնհայտ է, որ տարբերություն կա, քանի որ երկուսի փոխարեն կա չորս տող, բայց 2004 -ին երրորդ տողը առաջին տողի ընդլայնումն է, իսկ չորրորդը `երկրորդ տողի ընդլայնումը: Այլ կերպ ասած, եթե դուք ունենայիք թեստային ծրագիր, որը պարզապես մի շարք նիշ էր ուղարկում LCD- ին, 21 -րդ նիշը կհայտնվեր երրորդ տողի սկզբում, իսկ 41 -րդ նիշը կվերադառնա մինչև առաջին տողի սկիզբը: Differenceրագրակազմը այդ տարբերությունը կարգավորում է LCD հասցեների որոնման աղյուսակով:

Խաղի մուտքը տնական 4x4 անջատիչ մատրից է: Յուրաքանչյուր անջատիչ ուղղակիորեն համապատասխանում է էկրանին համարժեք գտնվելու վայրին: Կա նաև հոսանքի անջատիչ և վերակայման անջատիչ: Վերակայման անջատիչը մաքրում է հին խաղը և ստեղծում նոր խաղ:

Ես որոշեցի մարտկոցով աշխատեցնել իմ տարբերակը, այնպես որ ես օգտագործեցի սովորական 18650 Li-ion, 3.6 վոլտ մարտկոց: Դրա համար անհրաժեշտ էր ավելացնել մի փոքր տախտակ, որը թույլ կտա USB- ի լիցքավորումը, և մեկ այլ փոքր տախտակ `մարտկոցի լարումը մինչև 5 վոլտ LCD- ի և ATMega չիպի համար: Նկարները ցույց են տալիս իմ օգտագործած մոդուլները, բայց կան նաև բոլորը մեկում մոդուլներ, որոնք կատարում են երկու գործառույթները:

Քայլ 2: Softwareրագրակազմ

Theրագրակազմը նույնն է ինչպես Nano- ի, այնպես էլ ATMega328 չիպի համար: Տարբերությունը միայն ծրագրավորման մեթոդի մեջ է: Ես օգտագործում եմ LCD ծրագրաշարի իմ բոբիկ տարբերակը և ստեղնաշարի մատրիցի ապակոդավորման ծրագիրը: Սրանք նախագծի առանձին «ներառել» ֆայլեր են:

«Պատահական» և «պատահական սերմ» հրամանները օգտագործվում են խաղը ստեղծելու համար: Ես ավելացրել եմ EEPROM- ի «սերմի» պահուստը `ապահովելու համար, որ յուրաքանչյուր սնուցման ընթացքում ստեղծվի այլ հաջորդականություն: Հանելուկի տողերը ստացվում են 24 տարր փնտրող զանգվածից: Առաջին երեք տողերը պատահականորեն ընտրվում են աղյուսակից ՝ ստուգումներով ՝ համոզվելու համար, որ ընտրված տողը չի հակասում նախորդ տողին: Վերջին տողը լրացվում է ձեռքով, քանի որ այդ պահին կլինի միայն մեկ հնարավոր օրինաչափություն: Դրանից հետո պարզապես պետք է սկանավորել ստեղնաշարի մատրիցը և ստեղնային սեղմումները թվերի վերածել:

Թիվ գուշակելու համար մի քանի անգամ սեղմեք համապատասխան անջատիչը: Յուրաքանչյուր սեղմում ավելացնում է ցուցադրվող թիվը: Եթե գերազանցեք ձեր ուզած թիվը, պարզապես շարունակեք սեղմել: Եթե անջատիչը մի վայրկյան արձակեք, այն կողպված կլինի ցուցադրված վերջին համարի մեջ: Եթե համարը սխալ է, այն կջնջի թիվը և կարող եք նորից փորձել: Յուրաքանչյուր գուշակություն ավելացնում է ցուցադրվող հաշվիչը և երբ թիվը ճիշտ կռահում է, այդ մատրիցային անջատիչը արդյունավետ անջատված է:

Քայլ 3:.ուցադրում

Ուցադրում է
Ուցադրում է
Ուցադրում է
Ուցադրում է
Ուցադրում է
Ուցադրում է

Ահա մի քանի պատկեր տարբեր էկրաններից:

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