Мазмұны:
- 1 -қадам: Жабдықтар/құралдар
- 2 -қадам: Схема және жоспарлау
- 3 -қадам: SQL мәліметтер базасы
- 4 -қадам: Жабдық
- 5 -қадам: Бағдарламалық қамтамасыз ету
Бейне: Цифрлық шахмат - Онлайн шахмат ойынын бақылаңыз: 5 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:25
Мен жас кезімнен көп шахмат ойнадым, ал компьютерде немесе тірі қарсыластарда шахмат ойнауға арналған көптеген веб -сайттар болғандықтан, мен сіздің шахмат ойыныңызды бақылайтын веб -сайтты ешқашан таппадым. шынайы өмірде ойнайды. Сондықтан мен бұл жобаны жүзеге асырамын деп үміттенемін!
Мен үміттенемін:
- Шахмат фигураларының қозғалысын бақылай білу
- Өткен ойындар туралы бірнеше кестені қараңыз.
- Уақытты қадағалаңыз және кәсіби ойын сияқты жылдам ойнаңыз.
Бұл өте күрделі жоба, өйткені оны аяқтау үшін 64 жарық сенсоры мен 8 чипті оқу қажет болады. Бұл қазірдің өзінде үлкен міндет және біз басқа сенсорларды есептемейміз.
Менің колледжіміз бізге үлкен істер тізімін берді:
- Біздің жобаның схемасын жасаңыз
- Деректерді сақтауға және алуға арналған мәліметтер базасын құру.
- Adobe XD көмегімен веб -сайт жасаңыз
- Бұл веб -сайтты CSS және HTML көмегімен қайта жасаңыз
- Питонмен сенсорларды оқыңыз
- Сенсорлық деректерді колбаның көмегімен веб -сайтта көрсетіңіз.
Бұл нұсқаулықта мен сені өз саяхатыма бағыттаймын, мен барлық қиындықтар мен құтқарылу сәттерін осы соңғы екі аптада бастан өткердім.
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 -ге түрлендіремін
-
- Орнатылған пакеті бар арнайы протоколды (SPI) қолданады.
- Орнатылған пакетпен кодтау қиын емес
- Тегті оқиды және тегтің мәнін қайтарады
- Сіз сондай -ақ тегке мән жаза аласыз, сондықтан он алтылық мәнді қайтарудың орнына ол атауды қайтарады
- Сондай -ақ, кодтауды жеңілдету үшін орнатылған пакетті пайдаланады
- Бүтін мәні бар айнымалы құрыңыз, содан кейін оны 4 таңбадан бөліңіз және сол таңбаларды көрсетіңіз
Сенсорлық сенсорлар:
Түйме сияқты жұмыс істейді, мен бұл үшін кері шақыру әдісімен сыныпты қолданамын. Бұл туралы толығырақ кейінірек
RFID оқу құралы (MFRC 522):
7 сегмент (TM1637)
3 -қадам: 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 плагиніне не қажет екенін түсіндіремін, кодты өзіңіз қарау үшін менің гитубыма өтіңіз.
Ұсынылған:
IoT ESP8266 сериясы: 2- ThingSpeak.com арқылы деректерді бақылаңыз: 5 қадам
IoT ESP8266 сериясы: 2- ThingSpeak.com арқылы деректерді бақылаңыз: бұл IoT ESP8266 сериясының екінші бөлігі. Бірінші бөлімді көру үшін IoT ESP8266 сериялы нұсқаулықты қараңыз: 1 WIFI маршрутизаторына қосылыңыз, бұл бөлім сенсорлық деректерді әйгілі IoT ақысыз бұлт қызметінің біріне қалай жіберу керектігін көрсетуге бағытталған https: //thingspeak.com
NodeMCU & Blynk -те AM2301 көмегімен температура мен ылғалдылықты бақылаңыз: 3 қадам
NodeMCU & Blynk -те AM2301 көмегімен температура мен ылғалдылықты бақылаңыз: өнеркәсіптің көп бөлігінде температура, ылғалдылық, қысым, ауа сапасы, су сапасы және т. Бағалау кезінде ескерту жүйелері болуы керек
DIY: автокөліктің батареясын бақылаңыз: код және орнату: 8 қадам
DIY: автокөліктің аккумуляторын бақылаңыз: код және орнату: автокөліктің аккумуляторын бақылау мүмкіндігі кейбір жағымсыз тосын оқиғалардың алдын алады. Мен сізге аппараттық құралдарды қалай құрастырғанымды, бағдарламалық жасақтаманы жүктегенімді және мониторды машинама қалай орнатқанымды көрсетемін. Мен Wemos D1 Mini деп аталатын ESP8266 тақтасын қолданамын
ESP8266 бойынша COVID-19 өршуін бақылаңыз: 11 қадам (суреттермен)
ESP8266 бойынша COVID-19 өршуін бақылаңыз: Бұл шағын гаджет сізге коронавирустың таралуы мен сіздің елдегі жағдай туралы хабардар болуға көмектеседі. Бұл IoT негізіндегі жоба, ол коронавирустың (COVID-19) жағдайлары, қайтыс болғандар мен сауығып кеткендердің нақты уақытын көрсетеді
Grafana мен Raspberry Pi көмегімен ауа сапасын бақылаңыз: 7 қадам
Grafana мен Raspberry Pi көмегімен ауа сапасын қадағалаңыз: Мен кішігірім IOT жобасын іздедім және досым осы оқулықты қарап шығуды ұсынды: https: //dzone.com/articles/raspberry-pi-iot-sensor … бақылау үшін Raspberry Pi орнатуды жалғастыру үшін оқулықты орындауды ұсынамыз