Съдържание:
- Стъпка 1: Консумативи/Инструменти
- Стъпка 2: Схеми и планиране
- Стъпка 3: SQL база данни
- Стъпка 4: Хардуер
- Стъпка 5: Софтуер
Видео: Дигитален шах - Проследете вашата игра на шах онлайн: 5 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
Играя много шах, откакто бях млад, и тъй като в мрежата има огромно количество уебсайтове, на които да играете шах срещу компютри или противници на живо, нито веднъж не намерих уебсайт, който проследява вашата игра на шах, че сте всъщност играе в реалния живот. Така че с този проект се надявам да го осъзная!
Надявам се да:
- Бъдете в състояние да проследите движението на шахматните фигури
- Вижте някои класации за минали игри.
- Проследявайте времето и играйте бързо като професионална игра.
Това е много сложен проект, тъй като ако бъде завършен, ще са необходими 64 светлинни сензора и 8 чипа за четене. Което вече е голяма задача и дори не броим никой от другите сензори.
Моят колеж ни даде голям списък от неща за вършене:
- Създайте схема за нашия проект
- Създайте база данни за съхранение и получаване на данни.
- Проектирайте уебсайт с помощта на Adobe XD
- Пресъздайте този уебсайт с CSS и HTML
- Прочетете сензорите с python
- Покажете данните на сензора на уебсайта с помощта на колба.
В тази инструкция ще ви водя по моето пътуване и всички неприятности и моменти на спасение, които съм преживял през последните няколко седмици.
Стъпка 1: Консумативи/Инструменти
Консумативите, материалите и инструментите са първата стъпка към успешен проект!
Инструменти:
- Поялник
- Калай за запояване
- Клещи
- Пробивна машина
- Лента
Консумативи:
- Raspberry Pi с микро SD карта (4GB трябва да са достатъчни)
- Rasberry Pi T-обущар
- Шахматна дъска с фигури
- 7 -сегментен дисплей (TM 1637)
- 2 сензора за докосване (TTP223B)
- RFID четец с карти (MFRC522)
- MCP3008 (В зависимост от това докъде искате да стигнете, за всеки MCP можете да прочетете 8 шахматни координати)
- Светлозависим резистор тип 5288 (8 за всеки MCP, който имате)
- Заглавки (мъжки към мъжки и женски към мъжки)
Ако трябва да купите всичко, прогнозната цена трябва да бъде около 125 евро, включително разходите за доставка (само консумативи)!
Има прикачен файл на Excel с връзки и цени към всичко, от което се нуждаете!
Стъпка 2: Схеми и планиране
Следващата стъпка в този проект е създаването на схема. Направих 2: Един на макет и един чисто електронен. Ще имаме нужда от тази схема, за да поддържаме всичко чисто и да не се свързваме с ненужни неща!
Използвах програма, наречена "Fritzing", за да създам тези схеми, ако някой се интересува.
Цветово кодиране:
- Червено = захранване
- Зелено = връзка
- Синьо = земята
Връзки на Raspberry Pi:
- 3V3 => VC линия на чертежа, захранваща всичко
- 5V => VCC на 7 -сегментен дисплей
-
GND:
- Заземени на дъската
- Основа на 7 -сегментния дисплей
- GPIO4 => Часовник Изберете щифт на MCP3008
- GPIO10 => MOSI щифт на MCP3008
- GPIO9 => MISO щифт на MCP3008
- GPIO11 => CLK щифт на MCP3008
- GPIO7 => SDA щифт на MFRC522
- GPIO19 => DIG щифт на първия сензор за докосване
- GPIO26 => DIG щифт на втория сензор за докосване
- GPIO20 => CLK щифт на седем сегментния дисплей
- GPIO21 = DIO извод на дисплея от седем сегмента
Няколко бележки за схемите:
- Тази схема съдържа само 1 MCP, това означава, че само 8 координати ще могат да бъдат прочетени напълно.
- Ще използвам GPIO щифтове като моя Chip Select. Тъй като са налични само 2 пина за избор на чип с потенциално 8 MCP.
- 7 -сегментният дисплей е предложен от учител, необходими са само 4 проводника, тъй като работи по собствен протокол.
- Резисторите на цифровия щифт на сензорите за докосване не са напълно необходими, но са препоръчани.
Обясняване на компонентите:
-
MCP със сензори за светлина:
-
MCP3008 е 8 -канален 10 -битов ADC:
- MCP3008 ще прочете аналоговата стойност на сензорите за светлина, тази стойност зависи от количеството светлина, която в момента свети върху сензора.
- В моя код на python ще получа тази аналогова стойност и ще я преобразувам в 1 или 0
-
- Използва специфичен протокол (SPI) с инсталиран пакет.
- Не е трудно да се кодира с инсталиран пакет
- Прочита етикета и връща стойността на маркера
- Можете също да напишете стойност в маркер, така че вместо да връща шестнадесетичната стойност, тя връща име например
- Използва и инсталиран пакет за лесно кодиране
- Създайте променлива с цяло число, след което я разделете на 4 знака и покажете тези знаци
Сензори за докосване:
Работи точно като бутон, използвам клас за това с метод за обратно повикване. Повече за това по -късно
RFID четец (MFRC 522):
7 сегмент (TM1637)
Стъпка 3: SQL база данни
Третата стъпка към този проект е създаването на 3NF нормализирана SQL база данни!
Ще имаме нужда от това за:
- Вмъкване на данни
- Получаване на данни и показването им на нашия уебсайт
- Да можеш да видиш колко оборота са минали в настоящата игра на шах!
Обяснени таблици:
-
Игри
- Това проследява кой е спечелил определена игра и кога е играна
- Първичният ключ тук е GameID
- Датата има стандартна стойност на текущата дата
- Победителят и резултатът ще бъдат добавени по -късно, след като играта приключи!
-
Играчи (играчи на холандски)
- Те се вмъкват ръчно, но могат да се поставят и с помощта на системата за RFID карти.
- Напишете име на вашата карта, след това прочетете картата и вмъкнете името в тази таблица
- Той също така проследява записа на печалба / загуба на всеки играч, който да бъде показан на уебсайта
-
Historiek (История)
- Това е историята на завоите
- когато шахматната фигура се премести, тя ще бъде актуализирана тук
- Той има 3 чуждестранни ключа, играч, игра и шахмат
- ReadDate (InleesDatum) е датата, на която сензорът е прочетен
- ReadTime е същото като ReadDate, но с времева отметка
- LocationID (LocatieID) е името на координатата, на която е позиционирана. например "a3"
-
Шахматни фигури (Schaakstukken на холандски)
- Всяка шахматна фигура има идентификационен номер, екип, име и статус
- Екипът е 1 или 2, черен или бял;
- Името на някое парче би било т.е. "Пешка 1"
- Състоянието означава, че парчето е живо или мъртво!
Стъпка 4: Хардуер
Сега, когато имаме всички правилни парчета на място, можем да започнем да създаваме нещо!
Нека разделим тази част на подетапи, тъй като ще бъде по -лесно да се обясни:
-
Стъпка 1: Искате да пробиете дупка във всяка координата на вашата шахматна дъска, както е показано на първата снимка, също така пробийте дупка, където искате да поставите сензорите за докосване, RFID четеца и 7 -сегментния дисплей.
Не забравяйте да пробиете някои дупки отстрани на дъската, те са за проводниците на различните компоненти отгоре на дъската. Много сондажи, знам
- Стъпка 2: Опитайте да свържете един или два сензора към Raspberry Pi, проверете дали работят. Искате да ги свържете към аналоговия четец на MCP, както е обяснено по -рано в Стъпка 2 (Схемите).
-
Стъпка 3: Това може да е сложно и да развали нервите, тъй като заглавките на джъмпера не са много залепени на място, може да искате да ги залепите всички върху дъската, поотделно или няколко наведнъж. Трябва да се уверите, че те остават залепени на шахматната дъска, в противен случай няма да можете да четете сензорите успешно
БАКШИШ! Ако това ви улеснява, някои лепила може действително да помогнат за запазването на сензорите на място, докато ги залепвате, открих това по трудния начин
Стъпка 5: Софтуер
След като сте направили хардуер, който можете да тествате, нека се опитаме да напишем малко код за него! Ако искате да разгледате моя код, моля, преминете към моя github.
Първо ще ни трябват няколко пакета за инсталиране, аз продължих и направих списък за вас:
-
колба
На това ще работи вашият код на python
-
Гнездо за колбаIO
За комуникация между предния и задния край
-
буца
Полезно за четене на светлинни сензори, работи с матрични
-
мрежови интерфейси
За да отпечатате свой собствен IP адрес на 7 -сегментния дисплей
-
Колба-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 (командос);
Получаваме списък от нашата back-end програма и поставяме тире между двете координати, след което използваме командата board.move, за да изпълним хода!
Това е моето обяснение за това, от което се нуждаем от плъгина chessboard.js, отидете в моя github, за да разгледате кода сами
Препоръчано:
Дигитален нивелир на дух „Модел за проекти„ направи си сам “от Electronicslovers: 6 стъпки
Дигитален нивелир за дух - модул за проекти „Направи си сам“от Electronicslovers: Има момент, в който трябва да монтирате мебел или нещо подобно във вашия дом, а за директен монтаж всеки обичайно използва нивелир. Техническият екип на ElectronicsLovers изгради този модул, който има една разлика от обичайния: i
ДИГИТАЛЕН МНОГОФУНКЦИОНЕН ИНСТРУМЕНТ: 21 стъпки (със снимки)
ДИГИТАЛЕН МНОГОФУНКЦИОНЕН ИНСТРУМЕНТ: Здравейте на всички. Винаги съм искал устройство, което да ми помогне при изравняване на леглото на 3D принтера и друго устройство, което да ми помогне да получа приблизителна дължина на извита повърхност, така че да мога лесно да изрязвам правилната дължина на стикера до
Arduino Game Controller със светлини, отговарящи на вашата Unity игра :: 24 стъпки
Arduino Game Controller със светлини, отговарящи на вашата Unity Game :: Първо написах това с дума. Това е първият път, когато използвам инструкции, така че когато казвам: напишете код така, че знайте, че имам предвид изображението в горната част на тази стъпка. В този проект използвам 2 arduino за изпълнение на 2 отделни бита
Дигитален сандък със съкровища: 6 стъпки (със снимки)
Дигитален сандък със съкровища: Уча технология за игри и взаимодействия в Университета по изкуствата в Утрехт. Има един проект, наречен " Ако това, тогава това " където се изисква да създадете интерактивен продукт. Трябва да използвате Arduino, да проектирате интересен интерактивен елемент
Дигитален контрол на вашите високоговорители: 5 стъпки
Цифрово управление на вашите високоговорители: Ако звуковата карта на вашия настолен компютър е свързана с външен усилвател и ви е писнало да я изключвате/включвате и включвате/изключвате, ще харесате тази инструкция