Kazalo:
- 1. korak: Zaloge/orodja
- 2. korak: Sheme in načrtovanje
- 3. korak: zbirka podatkov SQL
- 4. korak: Strojna oprema
- 5. korak: Programska oprema
Video: Digitalni šah - Sledite svoji šahovski igri na spletu: 5 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:05
Že od mladih nog igram veliko šaha in ker ima splet ogromno spletnih mest, na katerih lahko igrate šah proti računalnikom ali živim nasprotnikom, nikoli nisem našel spletnega mesta, ki bi spremljalo vašo šahovsko igro. dejansko igra v resničnem življenju. Zato upam, da bom s tem projektom to uresničil!
Upam, da:
- Znati slediti gibanju šahovskih figur
- Oglejte si lestvice najboljših o preteklih igrah.
- Spremljajte čas in igrajte hitro kot profesionalna igra.
To je zelo kompleksen projekt, saj bi za njegovo branje potreboval 64 svetlobnih senzorjev in 8 čipov, če bi bil dokončan. Kar je že velika naloga in sploh ne štejemo nobenega drugega senzorja.
Moja fakulteta nam je dala velik seznam stvari za početi:
- Ustvarite shemo za naš projekt
- Ustvarite bazo podatkov za shranjevanje in pridobivanje podatkov.
- Oblikujte spletno mesto s programom Adobe XD
- Ponovno ustvarite to spletno mesto s CSS in HTML
- Preberite senzorje s pythonom
- Podatke senzorja na spletnem mestu pokažite s pomočjo bučke.
V tem navodilu vas bom vodil na moji poti in vse težave in trenutke odrešenja, ki sem jih preživel v zadnjih nekaj tednih.
1. korak: Zaloge/orodja
Zaloge, materiali in orodja so prvi korak do uspešnega projekta!
Orodja:
- Spajkalnik
- Spajkalna pločevina
- Klešče
- Vrtalni stroj
- Trak
Zaloge:
- Raspberry Pi z mikro SD kartico (4 GB bi moralo biti dovolj)
- T-čevljar Rasberry Pi
- Šahovska deska s kosi
- 7 -segmentni zaslon (TM 1637)
- 2 senzorja na dotik (TTP223B)
- Bralnik RFID s karticami (MFRC522)
- MCP3008 (odvisno od tega, kako daleč želite iti, za vsak MCP lahko preberete 8 šahovskih koordinat)
- Svetlobno odvisen upor tipa 5288 (8 za vsak MCP, ki ga imate)
- Glave (moški do moški in ženske do moški)
Če morate kupiti vse, bi morala biti ocenjena cena približno 125 evrov, vključno s stroški pošiljanja (samo zaloge)!
Priložena je datoteka Excel s povezavami in cenami za vse, kar potrebujete!
2. korak: Sheme in načrtovanje
Naslednji korak v tem projektu je izdelava sheme. Naredil sem 2: enega na krovu in enega čisto elektronskega. Te sheme bomo potrebovali, da bo vse čisto in da ne bomo povezali nepotrebnih stvari!
Če koga zanima, sem uporabil program, imenovan "Fritzing".
Barvno kodiranje:
- Rdeča = napajanje
- Zelena = povezava
- Modra = zemlja
Povezave Raspberry Pi:
- 3V3 => VC linija na plošči, ki napaja vse
- 5V => VCC 7 -segmentnega zaslona
-
GND:
- Ozemljeno na plošči
- Osnova 7 -segmentnega zaslona
- GPIO4 => Ura Izberite pin pin MCP3008
- GPIO10 => MOSI pin MCP3008
- GPIO9 => MISO pin MCP3008
- GPIO11 => CLK pin MCP3008
- GPIO7 => SDA pin MFRC522
- GPIO19 => DIG pin prvega senzorja na dotik
- GPIO26 => DIG pin drugega senzorja na dotik
- GPIO20 => CLK pin sedem segmentnega zaslona
- GPIO21 = DIO zatič zaslona sedem segmentov
Nekaj opomb o shemah:
- Ta shema vsebuje samo 1 MCP, kar pomeni, da bo mogoče v celoti prebrati le 8 koordinat.
- Za izbiro čipa bom uporabljal zatiče GPIO. Ker sta na voljo samo 2 zatiča za izbiro čipov s potencialno 8 MCP -ji.
- 7 -segmentni zaslon je eden, ki ga predlaga učitelj, le 4 žice so potrebne, saj deluje po lastnem protokolu.
- Upori na digitalnem zatiču senzorjev na dotik niso v celoti potrebni, vendar so priporočljivi.
Razlaga komponent:
-
MCP s svetlobnimi senzorji:
-
MCP3008 je 8 -kanalni 10 -bitni ADC:
- MCP3008 bo prebral analogno vrednost svetlobnih senzorjev, ta vrednost je odvisna od količine svetlobe, ki trenutno sije na senzor.
- V svoji kodi python bom prejel to analogno vrednost in jo pretvoril v 1 ali 0
-
- Uporablja poseben protokol (SPI) z nameščenim paketom.
- Kodiranje z nameščenim paketom ni težko
- Prebere oznako in vrne vrednost oznake
- V oznako lahko napišete tudi vrednost, zato namesto vrnitve šestnajstiške vrednosti vrne na primer ime
- Za enostavno kodiranje uporablja tudi nameščen paket
- Ustvarite spremenljivko s celo število, nato jo razdelite na 4 znake in pokažite te znake
Senzorji na dotik:
Deluje tako kot gumb, za to uporabljam razred z metodo povratnega klica. Več o tem kasneje
Bralnik RFID (MFRC 522):
7 segment (TM1637)
3. korak: zbirka podatkov SQL
Tretji korak k temu projektu je ustvarjanje 3NF normalizirane baze podatkov SQL!
To bomo potrebovali za:
- Vstavljanje podatkov
- Pridobivanje podatkov in njihovo prikazovanje na naši spletni strani
- Lahko natančno vidite, koliko obratov je preteklo v trenutni šahovski igri!
Razložene tabele:
-
Igre
- Ta sledi, kdo je zmagal v določeni igri in kdaj je bila igra odigrana
- Primarni ključ tukaj je GameID
- Datum ima standardno vrednost trenutnega datuma
- Zmagovalec in rezultat bosta dodana kasneje, po končani igri!
-
Igralci (igralci v nizozemščini)
- Te vstavite ročno, lahko pa jih vstavite tudi s sistemom kartic RFID.
- Na kartico napišite ime, nato preberite kartico in vnesite ime v to tabelo
- Prav tako sledi zapisu zmag / porazov vsakega igralca, ki bo prikazan na spletnem mestu
-
Historiek (zgodovina)
- To je zgodovina obratov
- ko se šahovska figura premakne, bo tukaj posodobljena
- Ima 3 tuje ključe, igralca, igro in šahovnico
- datum branja (InleesDatum) je datum, ko je senzor prebran
- ReadTime je enak ReadDate, vendar s časovno oznako
- LocationID (LocatieID) je ime koordinate, na kateri je nameščena. na primer "a3"
-
Šahovske figure (Schaakstukken v nizozemščini)
- Vsaka šahovska figura ima osebno izkaznico, ekipo, ime in status
- Ekipa je 1 ali 2, črna ali bela;
- Ime ivernega kosa bi bilo npr. "Pawn 1"
- Status pomeni, da je kos živ ali mrtev!
4. korak: Strojna oprema
Zdaj, ko imamo vse pravilne kose, lahko začnemo nekaj ustvarjati!
Ta del razdelimo na pod korake, saj bo lažje razložiti:
-
1. korak: V vsako koordinato šahovnice želite izvrtati luknjo, kot je prikazano na prvi sliki, izvrtajte tudi luknjo, kamor želite postaviti senzorje na dotik, čitalnik RFID in 7 -segmentni zaslon.
Ne pozabite izvrtati nekaj lukenj na strani plošče, to je za žice različnih komponent na vrhu plošče. Veliko vrtanja, vem
- 2. korak: Poskusite priključiti enega ali dva senzorja na Raspberry Pi, preverite, ali delujejo. Želite jih povezati z analognim bralnikom MCP, kot je razloženo prej v 2. koraku (Sheme).
-
3. korak: To je lahko težavno in zelo uničuje živce, saj glave skakalcev niso zelo zataknjene, zato jih boste morda želeli pritrditi na ploščo, posamično ali več hkrati. Poskrbeti morate, da ostanejo obtičali na šahovnici, sicer senzorjev ne boste mogli uspešno prebrati
NAMIG! Če vam olajša, bi lahko nekaj lepila dejansko pomagalo, da so senzorji bolj na mestu, medtem ko jih lepil, to sem odkril na težji način
5. korak: Programska oprema
Ko naredite strojno opremo, ki jo lahko preizkusite, poskusimo napisati kodo zanjo! Če si želite ogledati mojo kodo, pojdite na moj github.
Najprej bomo morali namestiti nekaj paketov, jaz pa sem naredil seznam za vas:
-
bučko
Na tem bo delovala vaša koda python
-
Vtičnica za bučkoIO
Za komunikacijo med sprednjim in zadnjim delom
-
numpy
Uporabno za branje svetlobnih senzorjev, deluje z matrikami
-
netifaces
Če želite natisniti svoj lastni naslov IP na 7 -segmentnem zaslonu
-
Bučka-CORS
Skupna raba medsebojnega izvora omogoča izmenjavo paketov na različnih domenah
Poleg tega sem napisal nekaj razredov in jih lahko prosto uporabljate.
Sprednji del
Koda spletnega mesta je na voljo tudi na moji strani github!
Za sprednji del bom uporabljal Chessboard.js. Ta vstavi šahovsko tablo, ki je enostavna za uporabo, z enostavnimi premiki!
Vse na deski je prilagodljivo, zato se zabavajte! Ko prenesete najnovejšo različico, boste morali datoteke povleči v svoj projekt in jih povezati s stranjo, na kateri želite prikazati šahovnico!
Nato poskusimo ustvariti tablo, ki ne izgleda preveč težko:
Najprej v svojem html:
Drugič, v datoteki javascript:
board1 = ChessBoard ('board1', 'start');
in tukaj je, zdaj bi morali videti šahovnico! Prilagodite ploščo v datotekah CSS!
Zdaj želimo videti nekaj premikov na šahovnici, ne preveč težkih. Moramo pa ga prilagoditi, da bo zaledni ukaz poslal ukaz premik. Ne bom se preveč spuščal v podrobnosti, vendar želimo narediti nekaj takega:
new_lijst = [Data.data [0], Data.data [1]; commando = new_lijst [0].concat ('-', new_lijst [1]); board1.move (komandos);
Iz našega zalednega programa prejmemo seznam in med dvema koordinatama postavimo pomišljaj, nato pa z ukazom board.move izvedemo premik!
To je moja razlaga, kaj potrebujemo od vtičnika chessboard.js, pojdite na moj github, da si sami ogledate kodo
Priporočena:
Kako narediti varnostno omarico po naši igri - Naloga električnega ožičenja: 7 korakov
Kako narediti varnostno omarico po igri Med nami - Naloga električnega ožičenja: Danes vam bom pokazal, kako narediti varnostno omarico po igri Med nami - Naloga električnega ožičenja
Zapisovanje podatkov in izdelava grafa na spletu z uporabo NodeMCU, MySQL, PHP in Chartjs.org: 4 koraki
Zapisovanje podatkov in izdelava grafa na spletu z uporabo NodeMCU, MySQL, PHP in Chartjs.org: Ta navodila opisujejo, kako lahko uporabimo ploščo MCU vozlišča za zbiranje podatkov iz več senzorjev, pošiljanje teh podatkov v gostujočo datoteko PHP, ki nato podatke doda v bazo podatkov MySQL. Podatke si lahko nato ogledate na spletu kot graf z uporabo chart.js.A ba
Senzor megle - Foton delcev - Shranite podatke na spletu: 5 korakov (s slikami)
Senzor za meglo - Foton delcev - Shranite podatke na spletu: Za merjenje količine megle ali dima v zraku smo izdelali ta senzor za meglo. Meri količino svetlobe, ki jo LDR prejme od laserja, in jo primerja s količino svetlobe v okolici. Podatke objavlja v Googlovem listu v realnem času prek IFTTT
Prenesite in igrajte igre Flash na spletu ali brez povezave: 5 korakov
Prenos in igranje iger Flash na spletu ali brez povezave: V tem navodilu vas bom naučil, kako prenesti igre flash. To je super za igranje na izletih in stvari, kjer ne morete dobiti wi-fi
Ustvarite svojo orodno vrstico za brskanje po spletu: 5 korakov
Ustvarite svojo orodno vrstico za brskanje po spletu: Preden opravite vse spodnje korake o tem, kako sestavite svojo lastno orodno vrstico, poskusite najprej prikazati, kako deluje orodna vrstica, pojdite na to spletno mesto in prenesite Orodno vrstico. ourtoolbar.com/ Ni oglasne programske opreme, viruse