Sadržaj:

4x4 Demo elektroničke šahovske ploče/ s Arduino Mega + RFID čitačem + Hall-senzorima: 7 koraka
4x4 Demo elektroničke šahovske ploče/ s Arduino Mega + RFID čitačem + Hall-senzorima: 7 koraka

Video: 4x4 Demo elektroničke šahovske ploče/ s Arduino Mega + RFID čitačem + Hall-senzorima: 7 koraka

Video: 4x4 Demo elektroničke šahovske ploče/ s Arduino Mega + RFID čitačem + Hall-senzorima: 7 koraka
Video: 4x4 chess#chess #chesstraps #viralshort 2024, Studeni
Anonim
4x4 demonstracija elektroničke šahovske ploče/ s Arduino Mega + RFID čitačem + senzorima Hall-efekta
4x4 demonstracija elektroničke šahovske ploče/ s Arduino Mega + RFID čitačem + senzorima Hall-efekta

Pozdrav tvorci, Ja sam Tahir Miriyev, diplomirao 2018. na Srednjeistočnom tehničkom sveučilištu, Ankara/ Turska. Diplomirao sam primijenjenu matematiku, ali uvijek sam volio izrađivati stvari, posebno kad se radilo o ručnom radu s elektronikom, dizajnom i programiranjem. Zahvaljujući jedinstvenom tečaju o prototipiranju, koji se nudi na našem odjelu za industrijski dizajn, dobio sam priliku napraviti nešto zaista zanimljivo. Projekt se može tretirati kao ročni projekt, trajao je cijeli semestar (4 mjeseca). Učenici su dobili zadatak pronaći kreativan pristup dizajniranju već postojećih proizvoda/demonstracija i realizirati svoje ideje pomoću Arduino mikrokontrolera i senzora. Razmišljao sam o šahu, a nakon što sam proveo istraživanje o uspješnim projektima, primijetio sam da su u prethodnim projektima tvorci u osnovi koristili gotove šahovske strojeve (gdje su svi potezi svake figure programirani u jezgri), zajedno s Raspberry Pi-om, nekim MUX-om 'es, LED diode i trska. Ipak, u svom sam se projektu odlučio riješiti bilo kojeg vanjskog softvera u smislu šahovske mašine i pronaći kreativno rješenje za problem prepoznavanja likova, koristeći RFID čitač, Hall-efektne senzore i Arduino Mega.

Korak 1: Što je problem prepoznavanja slike i kako sam ga riješio

Što je problem prepoznavanja slike i kako sam ga riješio
Što je problem prepoznavanja slike i kako sam ga riješio

Jednostavnije rečeno, pretpostavimo da imate šahovsku ploču s "mozgom" = mikrokontrolerom i morate svoju tablu razumjeti koju ste figuru držali u ruci i gdje ste je stavili. To je problem prepoznavanja slike. Rješenje ovog problema je trivijalno ako imate šahovski stroj sa svim figurama koje stoje na svojim početnim pozicijama na ploči. Prije nego što objasnim zašto je to tako, dopustite mi da dam nekoliko napomena.

Za one koji su oduševljeni kako ovdje stvari funkcioniraju, moram pojasniti zašto su nam potrebni prekidači od trske (ili sam u svom slučaju koristio Hall-ove senzore): ako postavite magnet ispod svakog komada i pokupite ga s kvadrat na ploči (pod pretpostavkom da se ispod svakog kvadrata nalazi trskasta sklopka) zbog postojanja/nepostojanja magnetskog polja iznad senzora, možete svom kontroloru dati do znanja postoji li/ne stoji komad na kvadratu. Međutim, još uvijek ništa ne govori mikrokontroleru o tome koji komad stoji na kvadratu. On samo govori da na kvadratu postoji/nema komada. U ovom smo trenutku suočeni licem u lice s problemom prepoznavanja figura, koji se može riješiti pomoću šahovske mašine, sa svim figurama postavljenim na početne položaje kada počne šahovska igra. Na taj način mikrokontroler "zna" gdje svaki komad stoji od početka, sa svim adresama fiksnim u memoriji. Ipak, ovo nam donosi veliko ograničenje: ne možete odabrati, recimo, bilo koji broj komada i nasumično ih postaviti bilo gdje na ploču i početi analizirati igru. Uvijek morate početi od početka, svi komadi trebaju biti na ploči izvorno, jer je to jedini način da mikrokontroler prati njihovu lokaciju nakon što podignete komad i postavite ga na neki drugi kvadrat. U biti, to je bio problem koji sam primijetio i odlučio raditi na tome.

Moje rješenje je bilo prilično jednostavno, iako kreativno. Postavio sam RFID čitač na prednju stranu ploče. U međuvremenu sam ispod komada pričvrstio ne samo magnet, već i RFID oznaku, pri čemu je svaki komad imao jedinstveni ID. Stoga, prije nego što postavite figuru na bilo koji željeni kvadrat, najprije možete držati komad blizu RFID čitača i pustiti ga da pročita ID, identificirati komad, spremiti ga u memoriju, a zatim ga možete postaviti gdje god želite. Također, umjesto reed prekidača, radi pojednostavljenja dizajna sklopa, upotrijebio sam senzore s Hall-efektima, koji rade na sličan način, s jedinom razlikom što 0 ili 1 šalju u mikrokontroler kao digitalni podatak, što znači "postoji" ili "nema" niti jednog komada na kvadratu. Dodao sam i LED diode (nažalost nisu iste boje, nisu ih imale), tako da će, kad podignete komad, zasvijetliti sva kvadratna mjesta na koja bi se mogao staviti podignuti komad. Zamislite to kao obrazovnu praksu za učenike šaha:)

Na kraju, želio bih napomenuti da je unatoč činjenici da sam koristio nekoliko tehnika, projekt ostao jednostavan i razumljiv, nije duboko razrađen niti previše kompliciran. Nisam imao dovoljno vremena da nastavim sa šahovskom pločom 8x8 (također zato što su 64 senzora s efektom dvorane skupi u Turskoj, pokrio sam sve troškove vezane uz projekciju), zato sam napravio 4x4 demo verziju sa samo dva testirana komada: Kraljica. Umjesto da koristim šahovski stroj, napisao sam izvorni kod za Arduino, koji generira sve što ćete vidjeti u donjem videu.

Korak 2: Kako stvari funkcioniraju

Image
Image

Prije nego što pređemo na korak-po-korak objašnjenje kako je projekt izveden, mislim da bi bilo bolje pogledati ilustrativni video i steći neku intuitivnu ideju o čemu govorim.

Napomena #1: jedna od crvenih LED dioda (prva u nizu/ slijeva nadesno) je izgorjela, nema veze.

Napomena #2: iako se široko koristi, iz svog iskustva mogu reći da RFID tehnologija nije najbolja ideja za korištenje u DIY aplikacijama (naravno ako imate alternative). Prije nego što je sve uspjelo, napravio sam mnogo pokušaja stavljajući šahovske figure blizu čitača i čekajući da ispravno pročita ID. Za to je potrebno postaviti serijski port jer način na koji RFID čitač čita ID samo je glavobolja. Trebao bi sam pokušati razumjeti problem. Ako vam je potrebna dodatna pomoć, pošaljite mi poruku ([email protected]) ili dodajte na skype (tahir.miriyev9r1), kako bismo mogli zakazati razgovor i detaljno razgovarati o stvarima, sve ću vam detaljno objasniti.

Korak 3: Alati i komponente

Alati i komponente
Alati i komponente
Alati i komponente
Alati i komponente
Alati i komponente
Alati i komponente

Evo popisa svih alata koje sam koristio za projekt: Elektroničke komponente:

  • Oglasna ploča (x1)
  • Svesmjerni A1126LUA-T (IC-1126 SW OMNI 3-SIP ALLEGRO) Hall-ovi senzori (x16)
  • Osnovne LED diode od 5 mm (x16)
  • Kratkospojne žice
  • RFID čitač i antena od 125 kHz (x1)
  • Arduino Mega (x1)
  • RFID 3M oznake (x2)

Ostali materijali:

  • Pleksiglas
  • Svjetlucavi papir
  • kratke daske (drvene)
  • Akrilna boja (tamnozelena i krem) x2
  • Tanki karton
  • Okrugli magneti 10 mm (x2)
  • Komadi zaloga i kraljice
  • Lemilica i materijali za lemljenje

Korak 4: Sheme (fritzing)

Sheme (Fritzing)
Sheme (Fritzing)

Sheme su malo komplicirane, znam, ali ideja bi trebala biti jasna. To je bio prvi put da sam koristio Fritzing (usput preporučeno), vjerojatno bi se veze mogle točnije izvući. U svakom slučaju, zabilježio sam sve unutar shema. Napomena: Nisam mogao pronaći točan model RDIF čitača među komponentama u bazi podataka Fritzinga. Model koji sam koristio je 125Khz RFID modul - UART. Na Youtubeu možete pronaći upute o tome kako postaviti ovaj modul s Arduinom.

Korak 5: Obrada

Postupak
Postupak

Vrijeme je da objasnite kako su stvari nastale. Slijedite detaljni opis:

1. Uzmite karton dimenzija 21x21 cm, kao i dodatni karton za rezanje i lijepljenje stijenki gornjeg dijela ploče, kako biste napravili 16 kvadrata s nabrojanim A B C D 1 2 3 4. Budući da je karton tanak, u svaki kvadrat možete ubaciti 16 senzora s Hall efektom, sa po 3 nožice i 16 LED dioda s po 2 noge.

2. Nakon što postavite komponente, morat ćete izvršiti malo lemljenja, za lemljenje nogu Hall-ovih senzora i LED dioda na kratkospojnike. U ovom trenutku preporučio bih odabir žica u boji na pametan način kako se ne biste zbunili sa + i - nogama LED dioda, također VCC, GND i PIN nogama Hall -ovih senzora. Naravno, moglo bi se ispisati PCB sa senzorima, pa čak i već zalemljenim LED diodama tipa WS2812, ali odlučio sam projekt pojednostaviti i učiniti još "ručnog rada". U ovom trenutku sve što trebate učiniti je pripremiti kabele i senzore. U kasnijim fazama slijedeći Fritzing shemu možete vidjeti gdje trebate pričvrstiti kraj svake žice. Ubrzo će neki od njih otići izravno na PIN -ove na Arduino Mega -i (ima ih dovoljno na Arduinu), drugi na matičnu ploču i svi GND -ovi mogu se lemiti na jedan komad kabela (čineći zajednički temelj) koji će kasnije treba spojiti na GND na Arduino ploči. Jedna važna napomena ovdje: Hall senzori su OMNIDIRKCIONALNI, što znači da nije važno koji pol magneta će se držati blizu senzora, on će poslati 0 podataka dok je u blizini neko magnetsko polje, a 1 kada nema, naime, magnet je udaljen (dalje od recimo 5 cm) od senzora.

3. Pripremite sličan karton dimenzija 21x21 cm i na njega pričvrstite Arduino Mega i dugu ploču. Također možete ponovno izrezati 4 zida bilo koje željene visine iz kartona i zalijepiti ih okomito s ta dva sloja kvadratnih ploča 21x21 cm. Zatim slijedite sheme Fritzing kako biste postavili stvari. RFID čitač možete postaviti i nakon što završite sa LED diodama i Hall-efektnim senzorima.

4. Provjerite rade li sve LED i senzori slanjem signala pomoću osnovnih kodova. Nemojte izbjegavati ovaj korak jer će vam omogućiti da provjerite radi li sve ispravno i preći na daljnju izgradnju ploče.

5. Pripremite Zalagaonicu i Kraljicu, s dolje pričvršćena dva magneta polumjera 10 cm, kao i okrugle RFID oznake. Kasnije ćete morati pročitati ID -ove tih oznaka sa serijskog zaslona na Arduino IDE -u.

6. Ako sve radi odlično, možete pokrenuti glavni kod i isprobati stvari!

7 (izborno). Možete raditi neke umjetničke radove s drvetom što će vašem demo -u dati prirodniji izgled. To ovisi o vašoj volji i mašti.

Korak 6: Neke fotografije i video zapisi iz različitih faza

Image
Image
Nekoliko fotografija i video zapisa iz različitih faza
Nekoliko fotografija i video zapisa iz različitih faza
Nekoliko fotografija i video zapisa iz različitih faza
Nekoliko fotografija i video zapisa iz različitih faza

Korak 7: Izvorni kod

Izvorni kod
Izvorni kod

Sada, kad završimo s prototipom, spremni smo oživjeti ga s Arduino kodom u nastavku. Pokušao sam ostaviti što više komentara kako bih proces analize koda učinio razumljivim. Da budem iskren, logika bi se na prvi pogled mogla učiniti pomalo složenom, ali ako dublje uđete u logiku koda, ona će izgledati opsežnije.

Napomena: Slično kao kod prave šahovske ploče, apstraktno sam numerirao kvadrate kao A1, A2, A3, A4, B1,…, C1,…, D1,.., D4. Međutim, u kodu nije praktično koristiti ovaj zapis. Stoga sam koristio nizove i predstavljao kvadrate kao 00, 01, 02, 03, 10, 11, 12, 13,…, 32, 33 respektivno.

Hvala vam na pažnji! Testirajte sve i budite slobodni pisati u komentarima o bilo kakvim greškama koje sam propustio, poboljšanjima, prijedlozima itd. Radujem se što ću čuti mišljenja o projektu. Ako vam je potrebna bilo kakva pomoć u vezi projekta, pošaljite mi poruku ([email protected]) ili dodati na skype (tahir.miriyev9r1), tako da možemo zakazati razgovor i detaljno razgovarati o stvarima. Sretno!