4x4 Elektronisch schaakbord-prototype – RFID & Arduino-integratie
Onderdelen en benodigdheden
| Halffectsensor (A1126LUA-T, omnidirectioneel) | 16 |
| Solderloos breadboard (volledige grootte) | 1 |
| LED (standaard 5mm) | 16 |
| RFID-lezer (125 kHz, met antenne) | 1 |
| Arduino Mega 2560 | 1 |
| RFID-tag 3M | 2 |
Benodigde tools en machines
- Plexiglas
- Glossy papier
- Houten latten
- Acrylverf (donkergroen en crème) x2
- 10 mm ronde magnetjes
- Pion en Koningin schaakstukken
- Solderbout en soldeermateriaal
Apps en online diensten
- Arduino IDE
Over dit project
Hallo makers,
Ik ben Tahir Miriyev, 2018-afgestudeerde van de Middle East Technical University, Ankara/Turkije. Ik studeerde Toegepaste Wiskunde, maar ik hou altijd van maken, vooral als het handwerk met elektronica, ontwerp en programmering betreft. Dankzij een uniek prototyping-cursus aan de afdeling Industriële Ontwerp, kreeg ik de kans om iets echt interessants te maken. Het project kan worden gezien als een semesterlange opdracht (4 maanden). Studenten kregen de taak om een creatieve benadering te vinden voor het ontwerpen van bestaande producten/demo's en hun ideeën te realiseren met Arduino-microcontrollers en sensoren. Ik dacht aan schaak, en na onderzoek naar succesvolle projecten merkte ik dat makers in eerdere projecten voornamelijk kant-en-klare schaakengines gebruikten (waar alle zetjes van elk stuk in de core waren geprogrammeerd), samen met Raspberry Pi, MUXes, LEDs en reedschakelaars. In mijn project besloot ik om geen externe software (schaakengine) te gebruiken, maar een creatieve oplossing te zoeken voor het Stukkenherkenningsprobleem, met een RFID-lezer, Halffectsensoren en een Arduino Mega.

Eenvoudig gezegd: stel je een schaakbord met een "brein" = microcontroller, en je moet het bord laten begrijpen welk stuk je in je hand houdt en waar je het neerlegt. Dit is het Stukkenherkenningsprobleem. De oplossing is triviaal als je een schaakengine hebt met alle stukken op hun startposities. Voordat ik uitleg waarom, enkele opmerkingen.
Voor degenen die geïnteresseerd zijn in de werking: waarom reedschakelaars (of in mijn geval Halffectsensoren) nodig zijn: als je een magneet onder elk stuk plaatst en het oppakt van een vak (ervan uitgaande dat er een reedschakelaar onder elk vak zit), kan de controller door de aan/afwezigheid van het magnetisch veld boven de sensor begrijpen of er wel/niet een stuk op het vak staat. Toch vertelt dit de microcontroller nog niet welk stuk er precies staat. Hier komt het Stukkenherkenningsprobleem, dat opgelost kan worden met een schaakengine met alle stukken op startposities bij spelstart. Zo "weet" de microcontroller waar elk stuk staat vanaf het begin, met alle adressen vast in het geheugen. Maar dit brengt een grote beperking: je kunt niet willekeurig een aantal stukken kiezen en ze willekeurig plaatsen om een partij te analyseren. Je moet altijd vanaf het begin starten, alle stukken op het bord, anders kan de microcontroller hun locaties niet volgen zodra je een stuk optilt en ergens anders neerzet. Dit was het probleem dat ik opmerkte en waar ik aan werkte.
Mijn oplossing was simpel, maar creatief. Ik plaatste een RFID-lezer aan de voorzijde van het bord. Aan de stukken bevestigde ik niet alleen een magneet, maar ook een RFID-tag, elk met een unieke ID. Voordat je een stuk op een gewenst vak plaatst, houd je het eerst dicht bij de RFID-lezer om de ID te lezen, het stuk te identificeren, op te slaan in het geheugen, en daarna kun je het overal plaatsen. In plaats van reedschakelaars gebruikte ik Halffectsensoren om het schema te vereenvoudigen; deze werken vergelijkbaar, maar sturen 0 of 1 naar de microcontroller als digitale data, wat "er is" of "er is geen" stuk op het vak betekent. Ik voegde ook LEDs toe ( helaas niet allemaal dezelfde kleur), zodat wanneer je een stuk optilt, alle mogelijke vakken waar het neergezet kan worden oplichten. Zie dit als oefening voor schaakleerlingen :)
Ten slotte: ondanks verschillende technieken blijft het project eenvoudig en begrijpelijk, niet diep uitgewerkt of overgecompliceerd. Ik had geen tijd voor een 8x8 bord (ook omdat 64 Halffectsensoren duur zijn in Turkije, ik betaalde alle projectkosten zelf), daarom een 4x4-demoversie met slechts twee geteste stukken: Pion en Koningin. In plaats van een schaakengine schreef ik een Arduino-broncode die alles genereert.
Voordat we stap-voor-stap gaan: ik raad aan om een illustratieve video te bekijken voor een intuïtief begrip.
Opmerking #1: Een van de rode LEDs (eerste in de rij/van links naar rechts) is defect, geen probleem.
Opmerking #2: Hoewel RFID veel gebruikt wordt, is het uit mijn ervaring niet het beste voor DIY-toepassingen (als je alternatieven hebt). Voordat alles werkte, deed ik veel proefmetingen met stukken dicht bij de lezer en wachten tot de ID correct gelezen werd. De seriële poort moet daarvoor ingesteld worden, want de manier waarop de RFID-lezer de ID leest is een hoofdpijn. Men moet het zelf proberen om het probleem te begrijpen.








Lijst van alle gebruikte tools
Elektronische componenten:
- Breadboard (x1)
- Omnidirectionele A1126LUA-T (IC-1126 SW OMNI 3-SIP ALLEGRO) Halffectsensoren (x16)
- Basale 5mm LEDs (x16)
- Draadjes
- 125 kHz RFID-lezer en antenne (x1)
- Arduino Mega (x1)
- RFID 3M Tags (x2)
Overige materialen:
- Plexiglas
- Glossy papier
- Korte planken (hout)
- Acrylverf (donkergroen en crème) x2
- Dun karton
- 10 mm ronde magnetjes (x2)
- Pion en Koningin stukken
- Solderbout en soldeermateriaal

Stap-voor-stap bouwbeschrijving
- Neem een 21x21 cm karton, plus extra karton voor de wanden van het bovenste deel van het bord, om 16 vakken te maken met A B C D 1 2 3 4 genummerd. Omdat karton dun is, kun je 16 Halffectsensoren in elk vak prikken (3 poten elk) en 16 LEDs (2 poten elk).
- Na het plaatsen van de componenten moet je solderen: poten van Halffectsensoren en LEDs aan draadjes solderen. Kies kleurendraadjes slim om verwarring tussen + en - van LEDs, en VCC, GND, PIN van Halffectsensoren te voorkomen. Je kunt ook een PCB printen met sensoren en WS2812-LEDs al gesoldeerd, maar ik koos voor simpelheid en meer "handwerk". Bereid kabels en sensoren voor; later volg je het Fritzing-schema voor de eindverbindingen. Sommige draden gaan direct naar pinnen op de Arduino Mega (genoeg pinnen), anderen naar het breadboard, en alle GND's kunnen gesoldeerd worden aan een enkel stuk draad (gemeenschappelijke ground) die later op de GND van de Arduino aangesloten wordt. Belangrijk: Halffectsensoren zijn OMNIDIRECTIONEEL, dus het maakt niet uit welke pool van de magneet dichtbij de sensor komt; het stuurt 0 data terwijl er een magnetisch veld in de buurt is en 1 wanneer de magneet ver (verder dan ~5 cm) is.
- Bereid een vergelijkbaar 21x21 cm karton voor en bevestig de Arduino Mega en een lang breadboard. Je kunt ook 4 wanden van gewenste hoogte uit karton knippen en ze verticaal aan de twee lagen van 21x21 cm vierkante borden lijmen. Volg dan het Fritzing-schema om alles in te richten. Je kunt de RFID-lezer plaatsen nadat de LEDs en Halffectsensoren klaar zijn.
- Test of alle LEDs en sensoren werken, door signalen te sturen met basiscode. Sla deze stap niet over; het laat je testen of alles werkt voordat je verder bouwt.
- Bereid Pion en Koningin voor, met twee magnetjes van 10 cm straal eronder, en ronde RFID-tags. Later moet je de IDs van die tags uitlezen via de Seriële Monitor in de Arduino IDE.
- Als alles werkt, start de hoofdcoded en probeer dingen uit!
- (Optioneel) Je kunt artistiek werk met hout doen voor een natuurlijker uiterlijk. Dat staat aan jouw verbeelding.
Video's en foto's uit verschillende fasen














Bedankt voor jullie aandacht! Test alles en voel je vrij om in de reacties fouten, verbeteringen, suggesties te melden. Ik kijk uit naar jullie meningen. Als je hulp nodig hebt, mail me (miriyevt@gmail.com) of voeg me toe op Skype (tahir.miriyev9r1) voor een gesprek. Veel succes!
Code
#include
SoftwareSerial RFID(11, 12);
// ... (volledige code zoals in origineel, met commentaar)
// Let op: De code is afgekapt in de bron; download het volledige bestand voor de complete code.
Schema's
De schema's zijn wat complex, maar het idee moet duidelijk zijn. Het was mijn eerste keer Fritzing (zeer aan te raden), verbindingen kunnen wellicht nauwkeuriger getekend worden. Ik heb alles in de schema's genoteerd.
Opmerking: Ik kon het exacte model van de RFID-lezer niet vinden in de Fritzing-database. Het model dat ik gebruikte is 125kHz RFID module - UART. Op YouTube vind je tutorials over hoe je deze module met Arduino instelt.
4x4demo_q0nvG3T3nS.fzz
Productieproces
- Waarom snell prototypen essentieel is voor succesvolle productontwikkeling
- Elektronisch inkt: hoe het werkt, geschiedenis en toekomstige toepassingen
- Raspoulette: Zonnestroom-gevoede Autonome Koeienpoort Systeem Prototype
- Prototype vs. Productie spruitgietmaten: De juiste mat kiezen voor uw project
- De juiste PCB-prototypefabrikant kiezen: een uitgebreide gids
- Essentiële PCB-prototype termen: Deel 2 – Glasovergangstemperatuur uitgelegd
- Prototyping uitgelegd: De cruciale validatiestap voor start-ups
- Elektronische Pompen Uitgelegd: Typen, Gebruik en Toepassingen
- Elektronisch Ontstekingssysteem: Complete Werkgids
- Innovatieve elektronische huid nabootst menselijke pijnprikkeling in realtime
- RFID uitgelegd: Activaten tracking verbeteren met Radio-Frequentie ID