Բովանդակություն:
- Քայլ 1: Սարքավորումներ/գործիքներ
- Քայլ 2: Սխեմաներ և պլանավորում:
- Քայլ 3: SQL տվյալների շտեմարան
- Քայլ 4: Սարքավորումներ
- Քայլ 5: Softwareրագրակազմ
Video: Թվային շախմատ - Հետևեք ձեր շախմատի խաղին առցանց ՝ 5 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:48
Ես պատանի հասակից շատ շախմատ եմ խաղում, և քանի որ համացանցում կան բազմաթիվ կայքեր, որոնցում կարելի է շախմատ խաղալ համակարգիչների կամ կենդանի հակառակորդների դեմ, ես ոչ մի անգամ չեմ գտել մի կայք, որը հետևի ձեր շախմատային խաղին իրականում խաղում է իրական կյանքում: Այսպիսով, այս նախագծով ես հույս ունեմ դա գիտակցել:
Ես հույս ունեմ ՝
- Կարողանալ հետևել շախմատի խաղաքարերի շարժմանը
- Տեսեք մի քանի առաջատար խաղատախտակների մասին ցուցատախտակներ:
- Հետևեք ժամանակին և արագ խաղացեք պրոֆեսիոնալ խաղի պես:
Դա շատ բարդ նախագիծ է, քանի որ ավարտին հասցնելու համար կպահանջվի 64 լուսային տվիչ և 8 չիպ: Ինչն արդեն մեծ խնդիր է, և մենք նույնիսկ չենք հաշվում մյուս սենսորներից որևէ մեկը:
Իմ քոլեջը մեզ տվեց անելիքների մեծ ցուցակ.
- Ստեղծեք սխեմա մեր նախագծի համար
- Ստեղծեք տվյալների պահեստավորման և ստացման տվյալների բազա:
- Նախագծեք կայք ՝ օգտագործելով Adobe XD
- Ստեղծեք այս կայքը CSS- ով և HTML- ով
- Կարդացեք սենսորները պիթոնով
- Flaույց տվեք սենսորների տվյալները վեբ կայքում `օգտագործելով շիշ:
Այս ուսանելի ուսուցմամբ ես ձեզ կառաջնորդեմ իմ ճանապարհորդության ընթացքում, և փրկության բոլոր դժվարություններն ու պահերը, որոնք ես ապրել եմ այս վերջին երկու շաբաթների ընթացքում:
Քայլ 1: Սարքավորումներ/գործիքներ
Պիտույքները, նյութերն ու գործիքները հաջողակ ծրագրի առաջին քայլն են:
Գործիքներ:
- Sոդման երկաթ
- Sոդման անագ
- Տափակաբերան աքցան
- Հորատման մեքենա
- Կասետային
Պարագաներ:
- Raspberry Pi միկրո SD քարտով (4 ԳԲ -ն պետք է բավարար լինի)
- Rasberry Pi T-cobbler
- Շախմատի տախտակ խաղաքարերով
- 7 հատվածի էկրան (TM 1637)
- 2 հպման տվիչ (TTP223B)
- RFID ընթերցող ՝ քարտերով (MFRC522)
- MCP3008 (Կախված նրանից, թե որքան հեռու եք ուզում գնալ, յուրաքանչյուր MCP- ի համար կարող եք կարդալ 8 շախմատային կոորդինատներ)
- Լույսից կախված դիմադրության տիպ 5288 (8 ձեր յուրաքանչյուր MCP- ի համար)
- Վերնագրեր (Արականից արական և իգականից տղամարդու)
Եթե Ձեզ անհրաժեշտ է ամեն ինչ գնել, ապա մոտավոր արժեքը պետք է լինի մոտ 125 եվրո, ներառյալ առաքման ծախսերը (միայն մատակարարումներ):
Կա Excel ֆայլ, որը կցված է հղումներով և գներով այն ամենի համար, ինչ ձեզ հարկավոր է:
Քայլ 2: Սխեմաներ և պլանավորում:
Այս նախագծի հաջորդ քայլը սխեմատիկ ձևավորումն է: Ես պատրաստել եմ 2 ՝ մեկը հացահատիկի վրա, մեկը ՝ զուտ էլեկտրոնային: Այս սխեմաները մեզ պետք կգան ՝ ամեն ինչ մաքուր պահելու և համոզվելու համար, որ մենք չենք միացնում ոչ մի ավելորդ իր:
Ես օգտագործել եմ «Fritzing» անունը կրող ծրագիրը ՝ այս սխեմաները ստեղծելու համար, եթե որևէ մեկին հետաքրքրում է:
Գույնի կոդավորում
- Կարմիր = սնուցման աղբյուր
- Կանաչ = կապ
- Կապույտ = գետնին
Raspberry Pi կապեր
- 3V3 => VC գիծ տախտակի վրա, սնուցելով ամեն ինչ
- 5V => 7 հատվածի ցուցադրման VCC
-
GND:
- Հողի սեղանի վրա
- 7 հատվածի ցուցադրման հիմք
- GPIO4 => ockամացույց Ընտրեք MCP3008- ի քորոցը
- GPIO10 => MCP3008- ի MOSI կապում
- GPIO9 => MISP3008 MISO փին
- GPIO11 => MCP3008 CLK կապում
- GPIO7 => MFRC522 SDA քորոց
- GPIO19 => Առաջին Touch սենսորի DIG կապ
- GPIO26 => Երկրորդ Touch սենսորի DIG կապ
- GPIO20 => Յոթ հատվածի ցուցադրման CLK կապ
- GPIO21 = Յոթ հատվածի ցուցադրման DIO կապում
Մի քանի նշումներ սխեմատիկայի վերաբերյալ
- Այս սխեման պարունակում է ընդամենը 1 MCP, սա նշանակում է, որ ընդամենը 8 կոորդինատները կկարողանան ամբողջությամբ կարդալ:
- Ես օգտագործելու եմ GPIO կապում որպես Chip Select: Քանի որ միայն 2 չիպերի ընտրված կապում են հասանելի պոտենցիալ 8 MCP- ով:
- 7 հատվածի ցուցադրումը ուսուցչի առաջարկածն է, անհրաժեշտ է ընդամենը 4 լար, քանի որ այն աշխատում է իր սեփական արձանագրության վրա:
- Հպման տվիչների թվային քորոցի դիմադրությունները լիովին անհրաժեշտ չեն, բայց խորհուրդ են տրվում:
Բաղադրիչների բացատրություն.
-
MCP լուսային տվիչներով.
-
MCP3008- ը 8 ալիք 10 բիթանոց ADC է.
- MCP3008- ը կարդալու է լույսի տվիչների անալոգային արժեքը, այս արժեքը կախված է սենսորից ներկայումս շողացող լույսի քանակից:
- Իմ պիթոնի ծածկագրում ես կստանամ այդ անալոգային արժեքը և այն կվերածեմ 1 -ի կամ 0 -ի
-
- Օգտագործում է հատուկ արձանագրություն (SPI) `տեղադրված փաթեթով:
- Տեղադրված փաթեթով կոդավորելը դժվար չէ
- Կարդում է պիտակը և վերադարձնում պիտակի արժեքը
- Դուք կարող եք նաև արժեք գրել պիտակի վրա, ուստի տասնվեցական արժեքը վերադարձնելու փոխարեն այն վերադարձնում է անուն, օրինակ
- Նաև օգտագործում է տեղադրված փաթեթ ՝ հեշտ կոդավորման համար
- Ստեղծեք փոփոխական ամբողջ արժեքով, այնուհետև բաժանեք այն 4 նիշի և ցույց տվեք այդ նիշերը
Հպման տվիչներ
Աշխատում է այնպես, ինչպես կոճակը, ես դրա համար դաս եմ օգտագործում հետադարձ կապի մեթոդով: Այս մասին ավելի ուշ
RFID ընթերցող (MFRC 522):
7 հատված (TM1637)
Քայլ 3: SQL տվյալների շտեմարան
Այս ծրագրի երրորդ քայլը 3NF նորմալացված SQL տվյալների բազայի ստեղծումն է:
Սա մեզ պետք կգա հետևյալի համար.
- Տվյալների տեղադրում
- Տվյալների ստացում և ցուցադրում մեր կայքում
- Կարողանալ ճշգրիտ տեսնել, թե քանի շրջադարձ է կատարվել շախմատի ընթացիկ պարտիայում:
Աղյուսակները բացատրված են
-
Խաղեր
- Սա հետևում է, թե ով է հաղթել որոշակի խաղ և երբ է խաղացել
- Այստեղ առաջնային բանալին GameID- ն է
- Ամսաթիվն ունի ընթացիկ ամսաթվի ստանդարտ արժեք
- Հաղթողն ու հաշիվը կավելացվեն ավելի ուշ ՝ խաղի ավարտից հետո:
-
Խաղացողներ (հոլանդերեն լեզվով խոսողներ)
- Սրանք տեղադրվում են ձեռքով, բայց կարող են տեղադրվել նաև RFID քարտային համակարգի միջոցով:
- Գրեք անուն ձեր քարտին, ապա կարդացեք քարտը և տեղադրեք անունը այս աղյուսակում
- Այն նաև հետևում է յուրաքանչյուր խաղացողի հաղթանակի / պարտության գրանցմանը, որը կցուցադրվի կայքում
-
Պատմություն (պատմություն)
- Սա հերթի պատմությունն է
- երբ շախմատի կտորը տեղափոխվում է, այն կթարմացվի այստեղ
- Այն ունի 3 արտաքին բանալիներ, խաղացող, խաղ և շախմատ
- ReadDate (InleesDatum) ամսաթիվն է, երբ սենսորը կարդացվել է
- ReadTime- ը նույնն է, ինչ ReadDate- ը, բայց ունի ժամկետային նշան
- LocationID (LocatieID) կոորդինատի անունն է, որտեղ այն տեղադրված է: օրինակ «a3»
-
Շախմատի կտորներ (Schaakstukken հոլանդերեն)
- Շախմատի յուրաքանչյուր կտոր ունի ID, թիմ, անուն և կարգավիճակ
- Թիմը կա՛մ 1 է, կա՛մ 2, սև կամ սպիտակ;
- Երբևէ կտորի անունը կլինի «Գրավ 1»
- Կարգավիճակը նշանակում է, որ կտորը կենդանի է կամ մահացած:
Քայլ 4: Սարքավորումներ
Այժմ, երբ մենք ունենք բոլոր ճիշտ կտորները տեղում, կարող ենք սկսել ինչ -որ բան ստեղծել:
Եկեք այս մասը բաժանենք ենթաքայլերի, քանի որ ավելի հեշտ կլինի բացատրել.
-
Քայլ 1. wantանկանում եք ձեր շախմատային տախտակի յուրաքանչյուր կոորդինատում անցք բացել, ինչպես ցույց է տրված առաջին նկարում, ինչպես նաև անցք, որտեղ ցանկանում եք տեղադրել հպման տվիչները, RFID ընթերցողը և 7 հատվածի ցուցադրումը:
Մի մոռացեք տախտակի կողքին մի քանի անցք անել, դրանք տախտակի վերևում գտնվող տարբեր բաղադրիչների լարերի համար են: Շատ հորատումներ, ես գիտեմ:
- Քայլ 2. Փորձեք մեկ կամ երկու տվիչ միացնել Raspberry Pi- ին, ստուգեք, արդյոք դրանք աշխատում են: Դուք ցանկանում եք դրանք միացնել MCP անալոգային ընթերցողին, ինչպես բացատրվել է Քայլ 2 -ում ավելի վաղ (սխեմաները):
-
Քայլ 3: Սա կարող է բարդ լինել և շատ նյարդայնացնող, քանի որ ցատկերի վերնագրերը շատ խրված չեն տեղում, գուցե ցանկանաք դրանք բոլորը կպցնել տախտակին `առանձին կամ միանգամից: Դուք պետք է համոզվեք, որ նրանք խրված են մնում շախմատային տախտակին, հակառակ դեպքում դուք չեք կարողանա հաջողությամբ կարդալ սենսորները
ԽՈՐՀՈՐԴ! Եթե դա ձեզ համար ավելի դյուրին է դարձնում, ինչ -որ սոսինձ կարող է իրականում օգնել սենսորներն ավելի ամր պահել տեղում, երբ դրանք կպչում եք, ես դա դժվար ճանապարհով հայտնաբերեցի:
Քայլ 5: Softwareրագրակազմ
Սարքավորումներ պատրաստելուց հետո, որոնք կարող եք փորձարկել, եկեք փորձենք դրա համար ինչ -որ կոդ գրել: Եթե ցանկանում եք նայել իմ ծածկագրին, խնդրում ենք անցնել իմ github- ին:
Սկզբում մենք պետք է տեղադրենք մի քանի փաթեթ, ես առաջ գնացի և ձեզ համար ցուցակ կազմեցի.
-
շիշ
Սա այն է, ինչի վրա կաշխատի ձեր պիթոնի կոդը
-
Flask-socketIO
Առջևի և հետևի միջև հաղորդակցվելու համար
-
թմրած
Օգտակար է լույսի տվիչների ընթերցման համար, աշխատում է մատրիցով
-
ցանցային դեմքեր
7 հատվածի էկրանին ձեր սեփական IP հասցեն տպելու համար
-
Flask-CORS
Տարբեր ծագման ռեսուրսների փոխանակում, թույլ է տալիս փաթեթները կիսել տարբեր տիրույթներում:
Դրան զուգահեռ, ես գրել եմ մի քանի դաս, և դուք ազատ եք դրանք օգտագործել:
Դիմային մաս
Կայքի կոդը հասանելի է նաև իմ github էջում:
Առջևի մասում ես կօգտագործեմ Chessboard.js- ը: Սա տեղադրում է հեշտ օգտագործման շախմատային տախտակ ՝ հեշտ տեղաշարժվող կտորներով:
Գրատախտակին ամեն ինչ հարմարեցված է, այնպես որ զվարճացեք: Վերջին տարբերակը ներբեռնելուց հետո դուք պետք է ֆայլերը քաշեք ձեր նախագծի մեջ և դրանք կապեք այն էջին, որտեղ ցանկանում եք ցուցադրել շախմատի տախտակ:
Դրանից հետո, եկեք փորձենք տախտակ ստեղծել, այնքան էլ դժվար չի թվում
Նախ, ձեր html- ում
Երկրորդ, ձեր javascript ֆայլում
board1 = ChessBoard ('board1', 'start');
և ահա այն, այժմ պետք է կարողանաք տեսնել շախմատի տախտակ: Ազատորեն հարմարեցրեք տախտակը CSS ֆայլերում:
Այժմ մենք ցանկանում ենք որոշ քայլեր տեսնել շախմատի տախտակի վրա ՝ ոչ շատ կոշտ: Բայց մենք պետք է այն անհատականացնենք, որպեսզի շարժման հրամանը ուղարկվի back-end- ով: Չեմ մանրամասնի շատ, բայց մենք ուզում ենք անել հետևյալը.
new_lijst = [Data.data [0], Data.data [1]; commando = new_lijst [0].concat ('-', new_lijst [1]); տախտակ 1. շարժվել (հրամանատար);
Մենք ստանում ենք ցուցակ մեր back-end ծրագրից և երկու կոորդինատների միջև ընկնում ենք մի գծիկ, այնուհետև օգտագործում ենք board.move հրամանը `քայլը կատարելու համար:
Դա իմ բացատրությունն է այն բանի, թե ինչ է մեզ պետք շախմատային տախտակ. Js plugin- ի համար
Խորհուրդ ենք տալիս:
Գրպանային շախմատ ՝ 4 քայլ
Գրպանային շախմատ. Դա շախմատ է: Գրպանումդ: Այս նախագիծը նպատակ ունի ստեղծել մի փոքր սարք, որը կարող է վարել փոքր խաղեր, ինչպիսիք են օձը, pac-man- ը, tetris- ը և նույնիսկ շախմատը
Պահպանեք մոլորակը և ձեր գրպանը: $$ Փոխակերպեք ձեր էժան P&S թվային ֆոտոխցիկը վերալիցքավորվող. 4 քայլ (նկարներով)
Պահպանեք մոլորակը և ձեր գրպանը: $$ Փոխարկեք ձեր էժան P&S թվային ֆոտոխցիկը վերալիցքավորվող. Տարիներ առաջ ես գնեցի Dolphin Jazz 2.0 Megapixel թվային ֆոտոխցիկ: Այն ուներ լավ հնարավորություններ և գին: Այն նաև ախորժակ ուներ AAA Bateries- ի համար: Ոչ մեկը, ով չի հեռանա մարտահրավերից, ես մտածեցի, որ այն կփոխեմ ՝ վերալիցքավորվող մարտկոց օգտագործելու համար, որպեսզի դադարեմ վատնել
Ինչպես կպչել ավագ դպրոցի խաղին (լավ). 6 քայլ (նկարներով)
Ինչպես կպչել ավագ դպրոցի խաղը (լավ). Բարև ձեզ. Ավագ դպրոցում իմ ամբողջ կյանքի ընթացքում ես իսկապես ներգրավված էի դրամատիկական ծրագրում, մասնավորապես ՝ անձնակազմի հետ: Սկսեցի շինարարությունից, անցա վազքի, այնուհետև լուսավորության, և այժմ, երբ ավարտել եմ, հետ քաշվեցի, որպեսզի օգնեի լուսավորությանը
Ներբեռնեք և խաղացեք Flash խաղեր առցանց կամ առցանց ՝ 5 քայլ
Ներբեռնեք և խաղացեք Ֆլեշ խաղեր առցանց կամ առցանց Սա հիանալի է ուղևորությունների և այլ բաների համար, եթե դուք չեք կարող ստանալ wi-fi
Առցանց կրկնօրինակում ՝ օգտագործելով ձեր Gmail հաշիվը ՝ 4 քայլ
Առցանց կրկնօրինակում ՝ օգտագործելով ձեր Gmail հաշիվը ՝ http://www.softpedia.com/progDownload/GMail-Drive-shell-extension-Download-15944.htmlGmail փոստը Windows- ի օպերացիոն համակարգի համար նախատեսված փոքրիկ ծրագիր է, որը ձեր Gmail հաշիվը դարձնում է առցանց: պահեստային ?. Դուք կարող եք օգտագործել ձեր Gmail հաշիվը ՝ պահպանելու համար անհրաժեշտ ֆայլերը