Obsah:

Demo 4x4 elektronické šachovnice/ s Arduino Mega + čtečkou RFID + senzory s Hallovým efektem: 7 kroků
Demo 4x4 elektronické šachovnice/ s Arduino Mega + čtečkou RFID + senzory s Hallovým efektem: 7 kroků

Video: Demo 4x4 elektronické šachovnice/ s Arduino Mega + čtečkou RFID + senzory s Hallovým efektem: 7 kroků

Video: Demo 4x4 elektronické šachovnice/ s Arduino Mega + čtečkou RFID + senzory s Hallovým efektem: 7 kroků
Video: 4x4 HDMI Matrix Switcher with auto and seamless switching, video wall function and App control 2024, Červenec
Anonim
Ukázka 4x4 elektronické šachovnice/ s Arduino Mega + čtečkou RFID + senzory s Hallovým efektem
Ukázka 4x4 elektronické šachovnice/ s Arduino Mega + čtečkou RFID + senzory s Hallovým efektem

Ahoj tvůrci, Jsem Tahir Miriyev, absolvent 2018 Střední technické univerzity v Ankaře/ Turecko. Vystudoval jsem aplikovanou matematiku, ale vždy jsem rád vyráběl věci, zvláště když to zahrnovalo nějakou ruční práci s elektronikou, designem a programováním. Díky jedinečnému kurzu prototypování, nabízenému na našem oddělení průmyslového designu, jsem dostal šanci udělat něco opravdu zajímavého. Projekt lze považovat za termínový projekt, který trval celý semestr (4 měsíce). Studenti dostali za úkol najít kreativní přístup k navrhování již existujících produktů/ukázek a realizovat své nápady pomocí mikrokontrolérů a senzorů Arduino. Přemýšlel jsem o šachu a poté, co jsem provedl průzkum úspěšných projektů, jsem si všiml, že v předchozích projektech tvůrci v zásadě používali hotové šachové motory (kde byly všechny tahy každé figury naprogramovány v jádru), spolu s Raspberry Pi, některými MUX LED diody a jazýčkové spínače. V mém projektu jsem se však rozhodl zbavit se jakéhokoli externího softwaru, pokud jde o šachový engine, a najít kreativní řešení problému s rozpoznáváním obrázků pomocí čtečky RFID, snímačů s Hallovým efektem a Arduino Mega.

Krok 1: Co je problém rozpoznávání obrázku a jak jsem ho vyřešil

Co je problém rozpoznávání obrázku a jak jsem ho vyřešil
Co je problém rozpoznávání obrázku a jak jsem ho vyřešil

Jednoduše řečeno, předpokládejme, že máte šachovnici s „mozkem“= mikrokontrolérem, a musíte své desce dát najevo, kterou figuru jste drželi v ruce a kam jste ji umístili. Toto je problém rozpoznávání obrázků. Řešení tohoto problému je triviální, když máte šachový motor se všemi figurkami, které stojí na svých počátečních pozicích na šachovnici. Než vysvětlím, proč tomu tak je, dovolte mi několik poznámek.

Pro ty, kteří jsou nadšení z toho, jak to tady funguje, musím objasnit, proč potřebujeme jazýčkové spínače (nebo v mém případě jsem použil snímače s Hallovým efektem): pokud pod každý kus umístíte magnet a vyzvednete jej z čtverec na desce (za předpokladu, že pod každým čtvercem je jazýčkový spínač) vzhledem k existenci/neexistenci magnetického pole nad senzorem, můžete nechat ovladač pochopit, zda na čtverci stojí/není kousek. Mikroprocesoru to však stále nic neříká o tom, který kousek stojí na náměstí. Říká pouze, že na náměstí je/není žádný kus. V tuto chvíli stojíme tváří v tvář problému s rozpoznáváním figur, který lze vyřešit pomocí šachového enginu, přičemž všechny figurky jsou umístěny na svých počátečních pozicích, když šachová partie začíná. Mikrokontrolér tímto způsobem „ví“, kde každý kus stojí od samého začátku, se všemi adresami zafixovanými v paměti. Přesto nám to přináší obrovské omezení: nemůžete vybrat, řekněme, libovolný počet figurek a umístit je náhodně kamkoli na hrací plochu a začít analyzovat hru. Vždy musíte začít od začátku, všechny figurky by měly být původně na desce, protože toto je jediný způsob, jak může mikrokontrolér sledovat jejich umístění, jakmile kus zvednete a umístíte na jiné políčko. V podstatě to byl problém, kterého jsem si všiml a rozhodl jsem se na něm pracovat.

Moje řešení bylo celkem jednoduché, i když kreativní. Na přední stranu desky jsem umístil čtečku RFID. Mezitím jsem pod kousky připevnil nejen magnet, ale také tag RFID, přičemž každý kus měl jedinečné ID. Než tedy umístíte figurku na libovolné požadované políčko, můžete figurku nejprve podržet v blízkosti čtečky RFID a nechat ji přečíst ID, identifikovat figurku, uložit ji do paměti a poté ji můžete umístit kamkoli budete chtít. Také jsem místo použití jazýčkových spínačů za účelem zjednodušení návrhu obvodu použil snímače s Hallovým efektem, které fungují podobně, jen s tím rozdílem, že jako digitální data posílá 0 nebo 1 do mikrokontroléru, což znamená „existuje“nebo „není“žádný kousek na náměstí, resp. Přidal jsem také LED diody (bohužel ne stejné barvy, žádné neměly), takže když kus zvednete, rozsvítí se všechna čtvercová místa, kam lze umístit zvednutý kus. Berte to jako vzdělávací praxi pro studenty šachu:)

Nakonec bych rád poznamenal, že navzdory skutečnosti, že jsem použil několik technik, zůstává projekt jednoduchý a srozumitelný, není hluboce propracovaný ani příliš komplikovaný. Na šachovnici 8x8 jsem neměl dost času (také proto, že 64 senzorů s Hallovým efektem je v Turecku nákladných, pokryl jsem všechny výdaje související s projektorem), proto jsem udělal demo verzi 4x4 s pouze dvěma testovanými kusy: Pěšec a Královna. Místo šachového enginu jsem napsal zdrojový kód pro Arduino, který generuje vše, co uvidíte na videu níže.

Krok 2: Jak věci fungují

Image
Image

Než přejdeme k podrobnému vysvětlení, jak byl projekt proveden, myslím si, že by bylo lepší se podívat na názorné video a získat intuitivní představu o tom, o čem mluvím.

Poznámka č. 1: jedna z červených LED diod (první v řadě/ zleva doprava) shořela, nevadí.

Poznámka č. 2: přestože je široce používán, ze své zkušenosti mohu říci, že technologie RFID není nejlepší použít v kutilských aplikacích (samozřejmě pokud máte alternativy). Než vše fungovalo, udělal jsem mnoho pokusů s umístěním šachových figurek blízko čtečky a čekal, až správně načte ID. K tomu by měl být nastaven sériový port, protože způsob, jakým čtečka RFID čte ID, je jen bolest hlavy. Člověk by se měl pokusit sám porozumět problému. Pokud potřebujete další pomoc, pošlete mi prosím e -mail ([email protected]) nebo přidejte skype (tahir.miriyev9r1), abychom mohli naplánovat konverzaci a probrat věci podrobně, vše důkladně vysvětlím.

Krok 3: Nástroje a součásti

Nástroje a součásti
Nástroje a součásti
Nástroje a součásti
Nástroje a součásti
Nástroje a součásti
Nástroje a součásti

Zde je seznam všech nástrojů, které jsem pro projekt použil: Elektronické součástky:

  • Breadboard (x1)
  • Všesměrové snímače A1126LUA-T (IC-1126 SW OMNI 3-SIP ALLEGRO) Hallovy snímače (x16)
  • Základní 5 mm LED (x16)
  • Propojovací vodiče
  • 125 kHz čtečka RFID a anténa (x1)
  • Arduino Mega (x1)
  • Značky RFID 3M (x2)

Další materiály:

  • Plexisklo
  • Lesklý papír
  • krátká prkna (dřevěná)
  • Akrylová barva (tmavě zelená a krémová) x2
  • Tenká lepenka
  • 10 mm kulaté magnety (x2)
  • Figurky pěšce a královny
  • Páječka a pájecí materiály

Krok 4: Schémata (Fritzing)

Schémata (Fritzování)
Schémata (Fritzování)

Vím, že schémata jsou trochu komplikovaná, ale myšlenka by měla být jasná. Bylo to poprvé, co jsem použil Fritzing (mimochodem velmi doporučeno), pravděpodobně bylo možné vykreslit spojení přesněji. Každopádně jsem si poznamenal všechno uvnitř schémat. Poznámka: Přesný model RDIF Readeru jsem mezi komponenty v databázi Fritzing nenašel. Model, který jsem použil, je 125KHz RFID modul - UART. Na Youtube najdete návody, jak tento modul nastavit pomocí Arduina.

Krok 5: Proces

Proces
Proces

Čas vysvětlit, jak se věci vyráběly. Postupujte podle podrobného popisu:

1. Vezměte lepenku o rozměrech 21 x 21 cm a několik dalších kartonů, které nařízněte a přilepte stěny horní části desky, abyste vytvořili 16 čtverců s výčtem A B C D 1 2 3 4. Protože je lepenka tenká, můžete do každého čtverce vložit 16 senzorů s Hallovým efektem, každý se 3 nohami a 16 LED se 2 nohami.

2. Poté, co nastavíte součástky, budete muset provést pájení, pájet nohy senzorů s Hallovým efektem a LED diody na propojovací vodiče. V tuto chvíli bych doporučil chytře vybírat barevné vodiče, abyste se nenechali zmást s + a - nohami LED diod, také VCC, GND a PIN nožiček senzorů s Hallovým efektem. Samozřejmě lze vytisknout desku plošných spojů se senzory a dokonce již připájené LED diody typu WS2812, ale rozhodl jsem se, že projekt bude jednoduchý a udělám další „ruční práci“. V tuto chvíli stačí připravit kabely a senzory, v pozdějších fázích vyplývajících z Fritzingova schématu vidíte, kam byste měli připevnit konec každého drátu. Brzy některé z nich přejdou přímo na PINy na Arduino Mega (na Arduinu je jich dost), jiné na prkénko a všechny GND lze připájet na jeden kus kabelu (tvořící společnou zem), který později by měl být připojen k GND na desce Arduino. Jedna důležitá poznámka: Senzory s Hallovým efektem jsou OMNIDIRECTIONAL, což znamená, že nezáleží na tom, který pól magnetu bude držen v blízkosti senzoru, odešle 0 dat, když je poblíž nějaké magnetické pole a 1, když není, jmenovitě magnet je od senzoru (dále než řekněme 5 sm).

3. Připravte si podobný karton 21x21 cm a připevněte na něj Arduino Mega a dlouhý breadboard. Z lepenky můžete také znovu vystřihnout 4 stěny libovolné požadované výšky a svisle je přilepit těmi dvěma vrstvami čtvercových desek 21x21 cm. Poté postupujte podle pokynů Fritzing Schematics a proveďte nastavení. Čtečku RFID můžete také nastavit poté, co skončíte s LED diodami a senzory s Hallovým efektem.

4. Otestujte, zda všechny LED a senzory fungují, odesláním signálů pomocí základních kódů. Nevyhýbejte se tomuto kroku, protože vám umožní vyzkoušet, zda vše funguje správně, a přejít k další konstrukci desky.

5. Připravte si pěšce a královnu pomocí dvou magnetů o poloměru 10 cm připojených níže a kulatých štítků RFID. Později budete muset přečíst ID těchto značek ze sériové obrazovky na Arduino IDE.

6. Pokud vše funguje skvěle, můžete spustit hlavní kód a věci vyzkoušet!

7 (volitelně). Můžete udělat nějakou uměleckou práci se dřevem, která dodá vašemu demo přirozenější pohled. To je na vaší vůli a fantazii.

Krok 6: Některé fotografie a videa z různých fází

Image
Image
Několik fotografií a videí z různých fází
Několik fotografií a videí z různých fází
Několik fotografií a videí z různých fází
Několik fotografií a videí z různých fází

Krok 7: Zdrojový kód

Zdrojový kód
Zdrojový kód

Nyní, když jsme hotovi s prototypem, jsme připraveni jej uvést v život pomocí níže uvedeného kódu Arduino. Snažil jsem se zanechat co nejvíce komentářů, aby byl proces analýzy kódu srozumitelný. Abych byl upřímný, logika se může na první pohled zdát trochu složitá, ale pokud se hlouběji zabýváte logikou kódu, bude vypadat komplexněji.

Poznámka: Podobně jako na skutečné šachovnici jsem abstraktně čísloval čtverce jako A1, A2, A3, A4, B1, …, C1, …, D1,.., D4. V kódu však není praktické používat tento zápis. Proto jsem použil pole a reprezentoval čtverce jako 00, 01, 02, 03, 10, 11, 12, 13,…, 32, 33.

Děkuji za pozornost! Vyzkoušejte vše a můžete do komentářů psát o jakýchkoli chybách, které jsem zmeškal, o vylepšeních, návrzích atd. Těšíme se na názory ohledně projektu. Pokud potřebujete s projektem jakoukoli pomoc, napište mi (miriyevt@gmail).com) nebo přidat na skype (tahir.miriyev9r1), abychom mohli naplánovat konverzaci a probrat věci podrobně. Hodně štěstí!