Orodha ya maudhui:

Digital Chess - Fuatilia Mchezo wako wa Chess Mkondoni: Hatua 5
Digital Chess - Fuatilia Mchezo wako wa Chess Mkondoni: Hatua 5

Video: Digital Chess - Fuatilia Mchezo wako wa Chess Mkondoni: Hatua 5

Video: Digital Chess - Fuatilia Mchezo wako wa Chess Mkondoni: Hatua 5
Video: HITMAN | Full Game - Longplay Walkthrough Gameplay (No Commentary) 100% Stealth / Silent Assassin 2024, Novemba
Anonim
Digital Chess - Fuatilia Mchezo wako wa Chess Mkondoni
Digital Chess - Fuatilia Mchezo wako wa Chess Mkondoni

Nimekuwa nikicheza chess nyingi tangu nilipokuwa mchanga, na kwa kuwa wavuti ina tovuti nyingi za kucheza chess dhidi ya kompyuta au wapinzani wa moja kwa moja, sijawahi kupata tovuti ambayo inafuatilia mchezo wako wa chess ambao wewe ni kucheza kweli katika maisha halisi. Kwa hivyo na mradi huu nina matumaini ya kutambua hilo!

Natumaini:

  • Kuwa na uwezo wa kufuatilia harakati za vipande vya chess
  • Tazama bodi zingine za wanaoongoza kuhusu michezo iliyopita.
  • Fuatilia wakati na ucheze haraka kama mchezo wa kitaalam.

Ni mradi mgumu sana kwani ukikamilika utahitaji sensorer 64 nyepesi na chips 8 kusoma. Ambayo tayari ni kazi kubwa na hata hatuhesabu sensorer nyingine yoyote.

Chuo changu kilitupa orodha kubwa ya mambo ya kufanya:

  1. Unda skimu kwa mradi wetu
  2. Unda hifadhidata ya kuhifadhi na kupata data.
  3. Buni wavuti ukitumia Adobe XD
  4. Rudisha tovuti hii na CSS na HTML
  5. Soma sensorer na chatu
  6. Onyesha data ya sensorer kwenye wavuti ukitumia chupa.

Katika mafunzo haya nitakuongoza kwenye safari yangu, na shida zote na wakati wa wokovu nimepitia wiki hizi za mwisho.

Hatua ya 1: Ugavi / Zana

Ugavi, vifaa na zana ni hatua ya kwanza kwa mradi unaofanikiwa!

Zana:

  • Chuma cha kulehemu
  • Kuunganisha Bati
  • Vipeperushi
  • Mashine ya kuchimba visima
  • Tape

Ugavi:

  • Raspberry Pi na kadi ndogo ya SD (4GB inapaswa kuwa ya kutosha)
  • Mtengenezaji wa Rasberry Pi T
  • Bodi ya Chess na vipande
  • Onyesho la sehemu 7 (TM 1637)
  • Sensorer za kugusa (TTP223B)
  • Msomaji wa RFID na kadi (MFRC522)
  • MCP3008 (Kulingana na umbali gani unataka kwenda, kwa kila MCP unaweza kusoma kuratibu za Chess 8)
  • Aina ya Mpingaji anayetegemea Mwanga 5288 (8 kwa kila MCP unayo)
  • Vichwa (Mwanamume kwa Mwanamume na Mwanamke hadi Mwanaume)

Ikiwa unahitaji kununua kila kitu, bei ya makadirio ya gharama inapaswa kuwa karibu euro 125 pamoja na gharama za usafirishaji (Ugavi tu)!

Kuna faili ya Excel iliyounganishwa na viungo na bei kwa kila kitu unachohitaji!

Hatua ya 2: Skematiki na Mipango

Skimatiki na Mipango!
Skimatiki na Mipango!
Skimu na Mipango!
Skimu na Mipango!

Hatua inayofuata katika mradi huu ni kuunda skimu. Nilitengeneza 2: Moja kwenye mkate na moja ya elektroniki. Tutahitaji skimu hii kuweka kila kitu safi na hakikisha hatuunganishi vitu vyovyote visivyo vya lazima!

Nilitumia programu iitwayo "Fritzing" kuunda hesabu hizi ikiwa kuna mtu anavutiwa.

Uwekaji rangi kwa rangi:

  • Nyekundu = usambazaji wa umeme
  • Kijani = unganisho
  • Bluu = ardhi

Uunganisho wa Raspberry Pi:

  • 3V3 => VC laini kwenye ubao wa mkate, ikiwasha kila kitu
  • 5V => VCC ya onyesho la sehemu 7
  • GND:

    • Chini kwenye ubao wa mkate
    • Ardhi ya onyesho la sehemu 7
  • GPIO4 => Saa Chagua pini ya MCP3008
  • GPIO10 => Pini ya MOSI ya MCP3008
  • GPIO9 => Pini ya MISO ya MCP3008
  • GPIO11 => CLK pini ya MCP3008
  • GPIO7 => pini ya SDA ya MFRC522
  • GPIO19 => DIG siri ya sensorer ya kwanza ya Kugusa
  • GPIO26 => DIG siri ya sensorer ya pili ya Kugusa
  • GPIO20 => Pini ya CLK ya onyesho la sehemu saba
  • GPIO21 = pini ya DIO ya onyesho la sehemu saba

Maelezo kadhaa juu ya hesabu:

  • Mpangilio huu una MCP 1 tu, hii inamaanisha kuwa ni uratibu 8 tu ndio utaweza kusoma kikamilifu.
  • Nitatumia pini za GPIO kama Chaguo langu la Chip. Kwa kuwa pini 2 tu za kuchagua Chip zinapatikana na uwezekano wa 8 MCP.
  • Uonyesho wa sehemu 7 ni moja iliyopendekezwa na mwalimu, waya 4 tu zinahitajika kwani inafanya kazi kwa itifaki yake mwenyewe.
  • Vipinga kwenye pini ya dijiti ya sensorer za kugusa hazihitajiki kabisa, lakini hushauriwa.

Kuelezea vifaa:

  • MCP na sensorer nyepesi:

    • MCP3008 ni kituo 8 cha ADC kidogo:

      • MCP3008 itasoma thamani ya sensorer za sensorer nyepesi, dhamana hii inategemea kiwango cha taa inayoangaza sasa kwenye sensa.
      • Katika nambari yangu ya chatu nitapokea nambari hiyo ya analog na kuibadilisha kuwa 1 au 0
  • Sensorer za kugusa:

    Inafanya kazi kama kitufe, ninatumia darasa kwa hii kwa njia ya kupiga tena simu. Zaidi juu ya hii baadaye

    Msomaji wa RFID (MFRC 522):

    • Inatumia itifaki maalum (SPI) na kifurushi kilichowekwa.
    • Sio ngumu kuweka nambari na kifurushi kilichosanikishwa
    • Husoma kitambulisho na kurudisha thamani ya kitambulisho
    • Unaweza pia kuandika thamani kwenye lebo, kwa hivyo badala ya kurudisha thamani ya hexadecimal, inarudi jina kwa mfano

    Sehemu ya 7 (TM1637)

    • Pia hutumia kifurushi kilichosanikishwa kwa usimbuaji rahisi
    • Unda ubadilishaji na nambari kamili, kisha ugawanye kwa herufi 4 na uonyeshe wahusika hao

Hatua ya 3: Hifadhidata ya SQL

Hifadhidata ya SQL
Hifadhidata ya SQL

Hatua ya tatu kuelekea mradi huu ni kuunda hifadhidata ya kawaida ya SQL ya 3NF!

Tutahitaji hii kwa:

  • Kuingiza data
  • Kupata data na kuionyesha kwenye wavuti yetu
  • Kuweza kuona ni zamu ngapi zimepita katika mchezo wa sasa wa chess!

Jedwali lilielezea:

  • Michezo

    • Nyimbo hizi ni nani alishinda mchezo fulani na wakati mchezo ulichezwa
    • Kitufe cha msingi hapa ni GameID
    • Tarehe ina thamani ya kawaida ya tarehe ya sasa
    • Mshindi na alama zitaongezwa baadaye, baada ya mchezo kumaliza!
  • Wachezaji (Spelers katika dutch)

    • Hizi zinaingizwa kwa mikono, lakini pia zinaweza kuingizwa kwa kutumia mfumo wa kadi ya RFID.
    • Andika jina kwenye kadi yako, kisha soma kadi hiyo na uweke jina kwenye meza hii
    • Pia inafuatilia rekodi ya kushinda / kupoteza ya kila mchezaji, kuonyeshwa kwenye wavuti
  • Historia (Historia)

    • Hii ni historia ya zamu
    • kipande cha chess kikihamishwa, kitasasishwa hapa
    • Inayo funguo 3 za kigeni, kichezaji, mchezo na chesspiece
    • ReadDate (InleesDatum) ni tarehe ambayo sensor ilisomwa
    • Wakati wa kusoma ni sawa na ReadDate lakini kwa muhuri wa muda
    • LocationID (LocatieID) ni jina la uratibu ambapo imewekwa. kwa mfano "a3"
  • Vipande vya Chess (Schaakstukken katika dutch)

    • Kila kipande cha chess kina kitambulisho, timu, jina na hadhi
    • Timu hiyo ni 1 au 2, nyeusi au nyeupe;
    • Jina la kipande chochote itakuwa "Pawn 1"
    • Hali hiyo inamaanisha kipande hicho kiko hai au kimekufa!

Hatua ya 4: Vifaa

Vifaa
Vifaa
Vifaa
Vifaa
Vifaa
Vifaa

Sasa kwa kuwa tumepata vipande vyote sahihi mahali, tunaweza kuanza kuunda kitu!

Wacha tugawanye sehemu hii katika hatua ndogo kwani itakuwa rahisi kuelezea:

  • Hatua ya 1: Unataka kuchimba shimo kwenye kila uratibu wa chessboard yako kama inavyoonekana kwenye picha ya kwanza, pia chimba shimo ambapo unataka kuweka sensorer za kugusa, msomaji wa RFID na onyesho la sehemu 7.

    Usisahau kuchimba mashimo kadhaa kando ya ubao, hizi ni kwa waya za vifaa tofauti juu ya ubao. Uchimbaji mwingi, najua

  • Hatua ya 2: Jaribu kuweka waya moja au mbili kwenye Raspberry Pi, angalia ikiwa zinafanya kazi. Unataka kuwaunganisha na msomaji wa Analog ya MCP kama ilivyoelezewa hapo awali katika Hatua ya 2 (Hesabu).
  • Hatua ya 3: Hii inaweza kuwa ngumu na ya ujasiri sana, kwani vichwa vya kuruka havijakwama mahali, unaweza kutaka kuzitia mkanda zote kwa bodi, moja kwa moja au nyingi mara moja. Lazima uhakikishe kuwa wanakaa kwenye chessboard, vinginevyo hautaweza kusoma sensorer kwa mafanikio

    USHAURI! Ikiwa inafanya iwe rahisi kwako, gundi zingine zinaweza kusaidia kuweka sensorer zaidi wakati wa kuzigonga, niligundua hii kwa njia ngumu

Hatua ya 5: Programu

Programu
Programu

Baada ya kutengeneza vifaa ambavyo unaweza kujaribu, wacha tujaribu kuandikia nambari kadhaa! Ikiwa unataka kuangalia nambari yangu, tafadhali nenda kwa github yangu.

Kwanza-mwisho tutahitaji vifurushi kadhaa kusanikishwa, niliendelea na kukuandalia orodha:

  • chupa

    Hii ndio nambari yako ya chatu itaendelea

  • Flask-socketIO

    Kuwasiliana kati ya mwisho-mbele na nyuma-mwisho

  • numpy

    Muhimu kwa kusoma sensorer nyepesi, inafanya kazi na matrix

  • nyavu

    Ili kuchapisha anwani yako ya IP kwenye onyesho la sehemu 7

  • Flask-CORS

    Kushiriki kwa njia ya asili ya msalaba, inaruhusu vifurushi kugawanywa katika vikoa tofauti

Karibu na hayo, nimeandika madarasa kadhaa na uko huru kuyatumia.

Mbele-mbele

Nambari ya wavuti inapatikana pia kwenye ukurasa wangu wa github!

Kwa mwisho-mwisho nitatumia Chessboard.js. Hii inaingiza chessboard rahisi kutumia na vipande rahisi kusonga!

Kila kitu kwenye bodi kinaweza kubadilishwa kwa hivyo furahiya! Baada ya kupakua toleo la hivi karibuni, itabidi uburute faili kwenye mradi wako na uziunganishe na ukurasa ambao unataka kuonyesha chessboard!

Baada ya hapo, wacha tujaribu kuunda bodi, haionekani kuwa ngumu sana:

Kwanza, katika html yako:

Pili, katika faili yako ya javascript:

bodi1 = ChessBoard ('board1', 'anza');

na hapo unayo, unapaswa kuona sanduku la chess sasa! Jisikie huru kubadilisha bodi kwenye faili za CSS!

Sasa, tunataka kuona hatua kadhaa kwenye ubao wa chess, sio ngumu sana. Lakini tunahitaji kuibadilisha ili amri ya kusonga itumwe na mwisho-nyuma. Sitaenda kwa undani sana, lakini tunataka kufanya kitu kama hiki:

new_lijst = [Data.data [0], Data.data [1]; commando = new_lijst [0].concat ('-', new_lijst [1]); bodi1.songa (komandoo);

Tunapokea orodha kutoka kwa programu yetu ya mwisho-nyuma, na weka mwanya kati ya kuratibu mbili, halafu tumia bodi.songa amri kutekeleza hoja!

Hayo ndiyo maelezo yangu ya kile tunachohitaji wa programu-jalizi ya chessboard.js, elekea kwa github yangu ili uangalie nambari mwenyewe

Ilipendekeza: