Obsah:

Ukážka elektronickej šachovnice 4x4/ so snímačom Arduino Mega + RFID + snímačmi s Hallovým efektom: 7 krokov
Ukážka elektronickej šachovnice 4x4/ so snímačom Arduino Mega + RFID + snímačmi s Hallovým efektom: 7 krokov

Video: Ukážka elektronickej šachovnice 4x4/ so snímačom Arduino Mega + RFID + snímačmi s Hallovým efektom: 7 krokov

Video: Ukážka elektronickej šachovnice 4x4/ so snímačom Arduino Mega + RFID + snímačmi s Hallovým efektom: 7 krokov
Video: Ram 1500 Things You Might Not Know #3 - Dealer Mode on the 12 inch Screen 2024, Júl
Anonim
Ukážka elektronickej šachovnice 4x4/ so snímačom Arduino Mega + RFID + snímačmi s Hallovým efektom
Ukážka elektronickej šachovnice 4x4/ so snímačom Arduino Mega + RFID + snímačmi s Hallovým efektom

Ahojte tvorcovia, Som Tahir Miriyev, absolvent 2018 technickej univerzity na Blízkom východe, Ankara/ Turecko. Vyštudoval som aplikovanú matematiku, ale vždy som rád robil veci, najmä keď to zahŕňalo ručnú prácu s elektronikou, návrhom a programovaním. Vďaka jedinečnému kurzu prototypu, ponúkanému na našom oddelení priemyselného dizajnu, som dostal šancu urobiť niečo skutočne zaujímavé. Projekt je možné považovať za termínový projekt, ktorý trval celý semester (4 mesiace). Študenti dostali za úlohu nájsť kreatívny prístup k navrhovaniu už existujúcich produktov/ukážok a realizovať svoje nápady pomocou mikrokontrolérov a senzorov Arduino. Rozmýšľal som o šachu a po vykonaní výskumu úspešných projektov som si všimol, že pri predchádzajúcich projektoch tvorcovia v zásade používali pripravené šachové motory (kde boli všetky pohyby každej figúry naprogramované v jadre) spolu s Raspberry Pi a niektorým MUX. LED, a jazýčkové spínače. V mojom projekte som sa však rozhodol zbaviť sa akéhokoľvek externého softvéru, pokiaľ ide o šachový engine, a nájsť kreatívne riešenie problému s rozpoznávaním obrázkov pomocou čítačky RFID, senzorov s Hallovým efektom a Arduino Mega.

Krok 1: Čo je problém rozpoznávania figúr a ako som to vyriešil

Čo je problém rozpoznávania figúr a ako som to vyriešil
Čo je problém rozpoznávania figúr a ako som to vyriešil

Zjednodušene povedané, predpokladajme, že máte šachovnicu s „mozgom“= mikrokontrolérom a musíte svojej doske dať pochopiť, ktorú figúrku ste držali v ruke a kam ste ju umiestnili. Toto je problém rozpoznávania figúr. Riešenie tohto problému je triviálne, ak máte šachový motor so všetkými figúrkami stojacimi na svojich počiatočných pozíciách na šachovnici. Predtým, ako vysvetlím, prečo je to tak, urobím niekoľko poznámok.

Pre tých, ktorí sú nadšení z toho, ako to tu funguje, musím objasniť, prečo potrebujeme jazýčkové spínače (alebo v mojom prípade som použil snímače s Hallovým efektom): ak pod každý kus umiestnite magnet a vyberiete ho z štvorec na doske (za predpokladu, že pod každým štvorcom je jazýčkový spínač) vzhľadom na existenciu/neexistenciu magnetického poľa nad senzorom, môžete nechať svoj ovládač pochopiť, či na námestí stojí/nie je kúsok. Mikrokontroléru však stále nič nehovorí o tom, ktorý kúsok presne stojí na námestí. Hovorí iba, že na námestí je/nie je kúsok. V tomto mieste stojíme tvárou v tvár problému s rozpoznávaním figúr, ktorý je možné vyriešiť pomocou šachového motora, pričom všetky figúrky sú pri zahájení šachovej partie umiestnené na svoje pôvodné pozície. Vďaka tomu mikrokontrolér „vie“, kde každý kus stojí od začiatku so všetkými adresami zafixovanými v pamäti. Napriek tomu nám to prináša obrovské obmedzenie: nemôžete vybrať, povedzme, ľubovoľný počet figúrok a umiestniť ich náhodne kdekoľvek na hraciu dosku a začať analyzovať hru. Vždy musíte začať od začiatku, všetky figúrky by mali byť pôvodne na doske, pretože toto je jediný spôsob, akým môže mikrokontrolér sledovať svoje polohy, akonáhle kus zdvihnete a umiestnite na iné pole. V podstate to bol problém, ktorý som si všimol a rozhodol som sa na ňom pracovať.

Moje riešenie bolo celkom jednoduché, aj keď kreatívne. Na prednú stranu dosky som umiestnil čítačku RFID. Medzitým som pod kusy pripevnil nielen magnet, ale aj štítok RFID, pričom každý kus mal jedinečné ID. Preto pred umiestnením figúrky na ľubovoľný požadovaný štvorec môžete figúrku najskôr podržať v blízkosti čítačky RFID a nechať ju prečítať ID, identifikovať kus, uložiť ho do pamäte a potom ho môžete umiestniť kdekoľvek chcete. Tiež namiesto jazýčkových spínačov som na zjednodušenie návrhu obvodu použil snímače s Hallovým efektom, ktoré fungujú podobne, iba s rozdielom medzi odoslaním 0 alebo 1 do mikrokontroléra ako digitálnych údajov, čo znamená „existuje“. alebo „nie je“žiadny kúsok na námestí, resp. Pridal som aj LED diódy (bohužiaľ nie rovnakej farby, žiadne nemali), aby sa pri zdvihnutí dielu rozsvietili všetky štvorcové miesta, kde je možné umiestniť zdvihnutý kus. Berte to ako vzdelávaciu prax pre študentov šachu:)

Nakoniec by som rád poznamenal, že napriek tomu, že som použil niekoľko techník, projekt zostáva jednoduchý a zrozumiteľný, nie je prepracovaný ani príliš komplikovaný. Nemal som dostatok času na pokračovanie šachovnice 8x8 (aj preto, že 64 senzorov s hallovým efektom je v Turecku nákladných, pokryl som všetky náklady súvisiace s projektorom), preto som urobil demo verziu 4x4, pričom boli testované iba dva kusy: pešiak a Kráľovná. Namiesto použitia šachového enginu som napísal zdrojový kód pre Arduino, ktorý generuje všetko, čo uvidíte na videu nižšie.

Krok 2: Ako veci fungujú

Image
Image

Predtým, ako prejdeme k podrobnému vysvetleniu toho, ako bol projekt realizovaný, si myslím, že by bolo lepšie pozrieť si ilustračné video a získať intuitívnu predstavu o tom, o čom hovorím.

Poznámka č. 1: jedna z červených diód LED (prvá v rade/ zľava doprava) zhorela, nevadí.

Poznámka č. 2: Napriek tomu, že je táto metóda široko používaná, môžem z vlastnej skúsenosti povedať, že technológia RFID nie je najvhodnejšia na použitie v domácich prácach (samozrejme ak máte alternatívy). Predtým, ako všetko fungovalo, urobil som mnoho pokusov s umiestnením šachových figúrok blízko čitateľa a čakal som, kým správne prečíta ID. Na to by mal byť nastavený sériový port, pretože spôsob, akým čítačka RFID číta ID, je len bolesť hlavy. Človek by sa mal pokúsiť sám porozumieť problému. Ak potrebujete ďalšiu pomoc, napíšte mi ([email protected]) alebo pridajte skype (tahir.miriyev9r1), aby sme si mohli naplánovať rozhovor a prediskutovať veci podrobne, všetko dôkladne vysvetlím.

Krok 3: Nástroje a súčasti

Nástroje a súčasti
Nástroje a súčasti
Nástroje a súčasti
Nástroje a súčasti
Nástroje a súčasti
Nástroje a súčasti

Tu je zoznam všetkých nástrojov, ktoré som na projekt použil: Elektronické súčiastky:

  • Breadboard (x1)
  • Všesmerové senzory A1126LUA-T (IC-1126 SW OMNI 3-SIP ALLEGRO) s Hallovým efektom (x16)
  • Základné 5 mm diódy LED (x16)
  • Prepojovacie vodiče
  • 125 kHz RFID čítačka a anténa (x1)
  • Arduino Mega (x1)
  • Značky RFID 3M (x2)

Ďalšie materiály:

  • Plexisklo
  • Lesklý papier
  • krátke dosky (drevené)
  • Akrylová farba (tmavozelená a krémová) x2
  • Tenká lepenka
  • 10 mm okrúhle magnety (x2)
  • Zástavky a figúrky kráľovnej
  • Spájkovačka a spájkovacie materiály

Krok 4: Schémy (Fritzing)

Schémy (Fritzing)
Schémy (Fritzing)

Schémy sú trochu komplikované, viem, ale myšlienka by mala byť jasná. Bolo to prvýkrát, čo som použil Fritzing (mimochodom veľmi odporúčané), pravdepodobne bolo možné presnejšie nakresliť spojenia. Každopádne som si poznamenal všetko, čo bolo v schémach. Poznámka: Medzi komponentmi v databáze Fritzing sa mi nepodarilo nájsť presný model čítačky RDIF. Model, ktorý som použil, je 125KHz modul RFID - UART. Na Youtube nájdete návody, ako tento modul nastaviť pomocou Arduina.

Krok 5: Proces

Proces
Proces

Čas vysvetliť, ako sa veci vyrábali. Postupujte podľa podrobného popisu:

1. Vezmite kartón 21 x 21 cm, ako aj ďalší kartón, ktorý rozrežte a prilepte steny hornej časti dosky, aby ste vytvorili 16 štvorcov s číslom A B C D 1 2 3 4. Pretože je lepenka tenká, môžete do každého štvorca vlepiť 16 senzorov s Hallovým efektom, každý s tromi nohami a 16 diód LED s dvoma nohami.

2. Potom, čo nastavíte súčiastky, budete musieť vykonať niekoľko spájkovaní, spájkovanie nožičiek senzorov s Hallovým efektom a diód LED na prepojovacie vodiče. V tomto mieste by som odporučil múdry výber farebných vodičov, aby ste sa nezamieňali s nohami + a - LED, tiež VCC, GND a PIN so snímačmi s Hallovým efektom. Samozrejme, dá sa vytlačiť doska plošných spojov so senzormi a dokonca už spájkované diódy LED typu WS2812, ale rozhodol som sa, že projekt bude jednoduchý a urobím viac „ručnej práce“. V tomto mieste stačí pripraviť káble a senzory, v neskorších fázach vyplývajúcich z Fritzingovej schémy vidíte, kam by ste mali pripevniť koniec každého drôtu. V krátkosti niektoré z nich prejdú priamo na PINy na Arduino Mega (na Arduine ich je dosť), iné na dosku a všetky GND je možné spájkovať na jeden kus kábla (ktorý vytvára spoločnú zem), ktorý neskôr by mal byť pripojený k GND na doske Arduino. Jedna dôležitá poznámka: Senzory s Hallovým efektom sú všesmerové, čo znamená, že nezáleží na tom, ktorý pól magnetu sa bude nachádzať v blízkosti snímača, pošle 0 údajov, pokiaľ je v blízkosti nejaké magnetické pole a 1, keď nie je, magnet je totiž vzdialený (povedzme 5 sm) od senzora.

3. Pripravte si podobnú lepenku 21 x 21 cm a pripevnite na ňu Arduino Mega a dlhú dosku. Z lepenky môžete tiež znova vystrihnúť 4 steny ľubovoľnej požadovanej výšky a zvisle ich prilepiť týmito dvoma vrstvami štvorcových dosiek 21 x 21 cm. Potom postupujte podľa Fritzing Schematics a nastavte veci. Čítačku RFID môžete nastaviť aj vtedy, keď skončíte s LED diódami a snímačmi s Hallovým efektom.

4. Odošlite signály pomocou základných kódov, či fungujú všetky diódy LED a senzory. Nevyhýbajte sa tomuto kroku, pretože vám umožní vyskúšať, či všetko funguje správne, a prejsť na ďalšiu stavbu dosky.

5. Pripravte si pešiaka a kráľovnú pomocou dvoch magnetov s priemerom 10 cm umiestnených nižšie a okrúhlych štítkov RFID. Neskôr budete musieť prečítať ID týchto značiek zo sériovej obrazovky v Arduino IDE.

6. Ak všetko funguje skvele, môžete začať hlavný kód a veci vyskúšať!

7 (voliteľné). Môžete urobiť nejakú umeleckú prácu s drevom, ktorá dodá vášmu demo prirodzenejší pohľad. To je na vašej vôli a predstavivosti.

Krok 6: Niektoré fotografie a videá z rôznych fáz

Image
Image
Niektoré fotografie a videá z rôznych fáz
Niektoré fotografie a videá z rôznych fáz
Niektoré fotografie a videá z rôznych fáz
Niektoré fotografie a videá z rôznych fáz

Krok 7: Zdrojový kód

Zdrojový kód
Zdrojový kód

Teraz, keď sme hotoví s prototypom, sme pripravení ho uviesť do života pomocou nižšie uvedeného kódu Arduino. Snažil som sa zanechať čo najviac komentárov, aby bol proces analýzy kódu zrozumiteľný. Úprimne povedané, logika sa môže na prvý pohľad zdať trochu zložitá, ale ak sa ponoríte do logiky kódu, bude to vyzerať komplexnejšie.

Poznámka: Podobne ako na skutočnej šachovnici som abstraktne čísloval štvorce ako A1, A2, A3, A4, B1, …, C1, …, D1,.., D4. V kóde však nie je praktické používať tento zápis. Preto som použil pole a reprezentoval štvorce ako 00, 01, 02, 03, 10, 11, 12, 13, …, 32, 33.

Ďakujem za tvoju pozornosť! Otestujte všetko a pokojne píšte do komentárov o akýchkoľvek chybách, ktoré som zmeškal, o vylepšeniach, návrhoch atď. Teším sa na vaše názory na projekt. Ak potrebujete s projektom akúkoľvek pomoc, napíšte mi (miriyevt@gmail).com) alebo pridajte skype (tahir.miriyev9r1), aby sme si mohli naplánovať rozhovor a prediskutovať veci podrobne. Veľa šťastia!