Мазмұны:

Цифрлық шахмат - Онлайн шахмат ойынын бақылаңыз: 5 қадам
Цифрлық шахмат - Онлайн шахмат ойынын бақылаңыз: 5 қадам

Бейне: Цифрлық шахмат - Онлайн шахмат ойынын бақылаңыз: 5 қадам

Бейне: Цифрлық шахмат - Онлайн шахмат ойынын бақылаңыз: 5 қадам
Бейне: 11.02.2021 - 2-5 сыныптар 2024, Қараша
Anonim
Цифрлық шахмат - шахмат ойынын онлайн бақылау
Цифрлық шахмат - шахмат ойынын онлайн бақылау

Мен жас кезімнен көп шахмат ойнадым, ал компьютерде немесе тірі қарсыластарда шахмат ойнауға арналған көптеген веб -сайттар болғандықтан, мен сіздің шахмат ойыныңызды бақылайтын веб -сайтты ешқашан таппадым. шынайы өмірде ойнайды. Сондықтан мен бұл жобаны жүзеге асырамын деп үміттенемін!

Мен үміттенемін:

  • Шахмат фигураларының қозғалысын бақылай білу
  • Өткен ойындар туралы бірнеше кестені қараңыз.
  • Уақытты қадағалаңыз және кәсіби ойын сияқты жылдам ойнаңыз.

Бұл өте күрделі жоба, өйткені оны аяқтау үшін 64 жарық сенсоры мен 8 чипті оқу қажет болады. Бұл қазірдің өзінде үлкен міндет және біз басқа сенсорларды есептемейміз.

Менің колледжіміз бізге үлкен істер тізімін берді:

  1. Біздің жобаның схемасын жасаңыз
  2. Деректерді сақтауға және алуға арналған мәліметтер базасын құру.
  3. Adobe XD көмегімен веб -сайт жасаңыз
  4. Бұл веб -сайтты CSS және HTML көмегімен қайта жасаңыз
  5. Питонмен сенсорларды оқыңыз
  6. Сенсорлық деректерді колбаның көмегімен веб -сайтта көрсетіңіз.

Бұл нұсқаулықта мен сені өз саяхатыма бағыттаймын, мен барлық қиындықтар мен құтқарылу сәттерін осы соңғы екі аптада бастан өткердім.

1 -қадам: Жабдықтар/құралдар

Жабдықтар, материалдар мен құралдар - табысты жобаның алғашқы қадамы!

Құралдар:

  • Пісіру темірі
  • Пісіру қалайы
  • Қысқыштар
  • Бұрғылау машинасы
  • Таспа

Жабдықтар:

  • Micro SD картасы бар Raspberry Pi (4 ГБ жеткілікті болуы керек)
  • Расберри Пи аяқ киім
  • Шахмат тақтасы
  • 7 сегментті дисплей (TM 1637)
  • 2 сенсорлық сенсорлар (TTP223B)
  • Карталары бар RFID оқу құралы (MFRC522)
  • MCP3008 (қаншалықты барғыңыз келетініне байланысты, әрбір MCP үшін 8 шахмат координатын оқи аласыз)
  • Жарыққа тәуелді резистор түрі 5288 (сізде әрбір MCP үшін 8)
  • Тақырыптар (еркектен еркекке және әйелден еркекке)

Егер сізге бәрін сатып алу қажет болса, онда болжамды бағасы жеткізу бағасын қосқанда шамамен 125 еуро болуы керек (тек жеткізілім)!

Сізге қажет нәрсенің сілтемелері мен бағасы бар Excel файлы бар!

2 -қадам: Схема және жоспарлау

Схема және жоспарлау!
Схема және жоспарлау!
Схема және жоспарлау!
Схема және жоспарлау!

Бұл жобаның келесі қадамы - схеманы құру. Мен 2 жасадым: біреуі тақтада, екіншісі таза электронды. Бізге барлығын таза ұстау және қажет емес заттарды қоспау үшін осы схема қажет болады!

Егер біреу қызығушылық танытса, мен осы схемаларды құру үшін «Fritzing» атты бағдарламаны қолдандым.

Түсті кодтау:

  • Қызыл = қуат көзі
  • Жасыл = байланыс
  • Көк = жер

Raspberry Pi байланыстары:

  • 3V3 => ВК желісі нан тақтасында, бәрін қуаттандырады
  • 5V => 7 сегментті дисплейдің VCC
  • GND:

    • Нан тақтасындағы жер
    • 7 сегментті дисплейдің негізі
  • GPIO4 => Сағат MCP3008 түйреуішін таңдаңыз
  • GPIO10 => MCP3008 MOSI түйреуі
  • GPIO9 => MCP3008 MISO түйреуі
  • GPIO11 => MCP3008 CLK түйреуіші
  • GPIO7 => MFRC522 SDA түйреуіші
  • GPIO19 => Бірінші сенсор сенсорының DIG түйреуіші
  • GPIO26 => екінші сенсорлық сенсордың DIG түйреуіші
  • GPIO20 => жеті сегментті дисплейдің CLK түйреуі
  • GPIO21 = жеті сегментті дисплейдің DIO түйрегіші

Ерлі -зайыптылар схемаға назар аударады:

  • Бұл схемада тек 1 MCP бар, бұл тек 8 координатты толық оқуға болатынын білдіреді.
  • Мен GPIO түйреуіштерін чип таңдау ретінде қолданамын. Ықтимал 8 MCP бар тек 2 чипті таңдау түйреуіштері бар болғандықтан.
  • 7 сегментті дисплей мұғалім ұсынған, тек 4 сым қажет, себебі ол өзінің хаттамасымен жұмыс істейді.
  • Сенсорлық датчиктердің цифрлық түйреуішіндегі резисторлар толық қажет емес, бірақ оларға кеңес беріледі.

Компоненттерді түсіндіру:

  • Жарық сенсорлары бар MCP:

    • MCP3008 - бұл 8 каналды 10 биттік ADC:

      • MCP3008 жарық сенсорларының аналогтық мәнін оқиды, бұл мән сенсорда қазіргі уақытта жарық түсетін шамаға байланысты.
      • Менің питон кодында мен аналогты мәнді қабылдаймын және оны 1 немесе 0 -ге түрлендіремін
  • Сенсорлық сенсорлар:

    Түйме сияқты жұмыс істейді, мен бұл үшін кері шақыру әдісімен сыныпты қолданамын. Бұл туралы толығырақ кейінірек

    RFID оқу құралы (MFRC 522):

    • Орнатылған пакеті бар арнайы протоколды (SPI) қолданады.
    • Орнатылған пакетпен кодтау қиын емес
    • Тегті оқиды және тегтің мәнін қайтарады
    • Сіз сондай -ақ тегке мән жаза аласыз, сондықтан он алтылық мәнді қайтарудың орнына ол атауды қайтарады

    7 сегмент (TM1637)

    • Сондай -ақ, кодтауды жеңілдету үшін орнатылған пакетті пайдаланады
    • Бүтін мәні бар айнымалы құрыңыз, содан кейін оны 4 таңбадан бөліңіз және сол таңбаларды көрсетіңіз

3 -қадам: SQL мәліметтер базасы

SQL мәліметтер қоры
SQL мәліметтер қоры

Бұл жобаның үшінші қадамы - 3NF қалыпқа келтірілген SQL мәліметтер базасын құру!

Бізге бұл қажет болады:

  • Деректерді енгізу
  • Деректерді алу және оны біздің веб -сайтта көрсету
  • Қазіргі шахмат ойынында қанша бұрылыс болғанын көре білу!

Кестелер түсіндірді:

  • Ойындар

    • Бұл белгілі бір ойында кім жеңгенін және ойын қашан болғанын көрсетеді
    • Мұндағы негізгі кілт - бұл GameID
    • Күн ағымдағы күннің стандартты мәніне ие
    • Жеңімпаз бен ұпай ойын аяқталғаннан кейін қосылады!
  • Ойыншылар (голландиялық спелерлер)

    • Олар қолмен енгізіледі, бірақ RFID карта жүйесі арқылы да енгізілуі мүмкін.
    • Картаның атын жазыңыз, содан кейін картаны оқып, осы кестеге атауды енгізіңіз
    • Ол сонымен қатар веб -сайтта көрсетілетін әр ойыншының жеңіс / шығын рекордын бақылайды
  • Тарихшы (тарих)

    • Бұл бұрылыс тарихы
    • шахмат фигурасы жылжытылған кезде, ол мұнда жаңартылады
    • Онда 3 шетелдік кілт, ойыншы, ойын және шахмат бар
    • ReadDate (InleesDatum) - сенсордың оқылған күні
    • ReadTime ReadDate -пен бірдей, бірақ уақыт белгісімен
    • LocationID (LocatieID) - ол орналасқан координатаның атауы. мысалы, «а3»
  • Шахмат фигуралары (голландша Шаакстуккен)

    • Әрбір шахматта жеке куәлік, команда, аты мен мәртебесі бар
    • Команда 1 немесе 2, қара немесе ақ;
    • Кез келген туындының атауы «Ломбард 1» болар еді
    • Мәртебе туынды өлі немесе тірі екенін білдіреді!

4 -қадам: Жабдық

Аппараттық құрал
Аппараттық құрал
Аппараттық құрал
Аппараттық құрал
Аппараттық құрал
Аппараттық құрал

Енді бізде барлық дұрыс бөлшектер бар, біз бір нәрсе жасауға кірісе аламыз!

Бұл бөлікті ішкі қадамдарға бөлейік, себебі түсіндіру оңай болады:

  • 1 -қадам: Сіз бірінші суретте көрсетілгендей шахмат тақтасының әр координатына тесік бұрғыңыз келеді, сонымен қатар сенсорлық сенсорларды, RFID оқу құралы мен 7 сегментті дисплейді орналастырғыңыз келетін тесікті бұрғыңыз келеді.

    Тақтаның бүйіріндегі тесіктерді бұрғылауды ұмытпаңыз, олар тақтаның үстіндегі әр түрлі компоненттердің сымдарына арналған. Бұрғылау көп, мен білемін

  • 2 -қадам: Raspberry Pi -ге бір немесе екі сенсорды қосуға тырысыңыз, олардың жұмыс істейтінін тексеріңіз. Сіз оларды 2 -қадамда (схемалар) бұрын түсіндірілген MCP аналогты оқу құралына қосқыңыз келеді.
  • 3 -қадам: Бұл күрделі және жүйкені бұзуы мүмкін, себебі секіргіштердің тақырыптары бір -біріне жабысып қалмағандықтан, олардың барлығын жеке немесе бірнеше рет тақтаға жапсырғыңыз келуі мүмкін. Сіз олардың шахмат тақтасында тұрып қалуын қадағалауыңыз керек, әйтпесе сенсорларды сәтті оқи алмайсыз

    КЕҢЕС! Егер бұл сізге жағдайды жеңілдетсе, онда желім сенсорларды таспалау кезінде орнында ұстауға көмектеседі, мен мұны қиын жолмен таптым

5 -қадам: Бағдарламалық қамтамасыз ету

Бағдарламалық қамтамасыз ету
Бағдарламалық қамтамасыз ету

Сіз тестілеуге болатын жабдықты жасағаннан кейін, оған код жазуға тырысайық! Егер сіз менің кодты қарағыңыз келсе, менің github -ға өтіңіз.

Артқы жағы Біріншіден, бізге бірнеше пакет орнату қажет болады, мен алға шығып, сізге тізім жасадым:

  • колба

    Бұл сіздің питон коды жұмыс істейтін болады

  • Колбаның розеткасы

    Алдыңғы және артқы арасындағы байланыс үшін

  • ессіз

    Жарық сенсорларын оқу үшін пайдалы, матрицамен жұмыс істейді

  • желі беттері

    7 сегменттік дисплейде жеке IP мекенжайын басып шығару

  • Колба-CORS

    Кросс -ресурспен бөлісу, пакеттерді әр түрлі домендерде бөлісуге мүмкіндік береді

Оның жанында мен бірнеше сабақтар жаздым, сіз оларды еркін пайдалана аласыз.

Алғы жақ

Веб -сайт коды менің github бетінде де бар!

Алдыңғы жағында мен Chessboard.js қолданамын. Бұл қарапайым шахмат тақтасын кірістіруге оңай бөлшектері бар кірістіреді!

Тақтада бәрі реттеледі, сондықтан көңілді болыңыз! Соңғы нұсқаны жүктегеннен кейін, сіз файлдарды жобаңызға апарып, шахмат тақтасын көрсеткіңіз келетін бетке байланыстыруыңыз керек!

Осыдан кейін, тақта жасауға тырысайық, қатты көрінбейді:

Біріншіден, сіздің html -де:

Екіншіден, сіздің JavaScript файлыңызда:

board1 = ChessBoard ('board1', 'start');

және онда сізде шахмат тақтасын қазір көру керек! CSS файлдарында тақтаны реттеуге болады!

Енді біз шахмат тақтасында тым қатты емес кейбір қимылдарды көргіміз келеді. Бірақ біз оны реттеуіміз керек, сондықтан жылжыту командасы артқы жағынан жіберіледі. Мен егжей -тегжейлі айтпаймын, бірақ біз келесідей нәрсені жасағымыз келеді:

new_lijst = [Data.data [0], Data.data [1]; commando = new_lijst [0].concat ('-', new_lijst [1]); board1.move (командо);

Біз бағдарламаны тізімнен аламыз және екі координатаның арасына сызықша қоямыз, содан кейін жылжыту үшін board.move пәрменін қолданыңыз!

Бұл маған chessboard.js плагиніне не қажет екенін түсіндіремін, кодты өзіңіз қарау үшін менің гитубыма өтіңіз.

Ұсынылған: