Älyshakkilaudan suunnittelu ja toteutus
Sippola, Joonas (2026)
Sippola, Joonas
2026
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2026052115184
https://urn.fi/URN:NBN:fi:amk-2026052115184
Tiivistelmä
Fyysisellä shakkilaudalla pelaaminen on hankalampaa kuin verkkoshakissa, jossa lailliset siirrot näytetään automaattisesti ja sääntöjä valvotaan ohjelmallisesti. Tämän opinnäytetyön tavoitteena oli rakentaa fyysinen shakkilauta, joka tuo nämä ominaisuudet perinteiselle laudalle tunnistamalla nappuloiden sijainnit, näyttämällä lailliset siirrot LED-valoilla ja hylkäämällä laittomat siirrot.
Työn tietoperusta kattaa shakin säännöt sekä sulautettujen järjestelmien ja käytettyjen komponenttien perusteet. Järjestelmä toteutettiin STM32L152RE-mikrokontrollerilla, Hall-efektiantureilla, TCA9555 GPIO-laajentimilla ja WS2812B-LED-nauhalla. Ohjelmisto kirjoitettiin C-kielellä STM32CubeIDE-ympäristössä ja se rakentuu tilakonemalliin, shakkimoottoriin sekä erillisiin anturi- ja LED-moduuleihin.
Työn tuloksena valmistui toimiva prototyyppi, joka läpäisi sekä moduuli- että integraatiotestauksen. Järjestelmä tunnistaa nappuloiden sijainnit luotettavasti, näyttää lailliset siirrot oikein ja käsittelee virhetilanteet odotetusti. Jatkokehityskohteiksi tunnistettiin muun muassa pelikello, tekoälyvastustaja sekä verkkopelitoiminnallisuus.
Työn tietoperusta kattaa shakin säännöt sekä sulautettujen järjestelmien ja käytettyjen komponenttien perusteet. Järjestelmä toteutettiin STM32L152RE-mikrokontrollerilla, Hall-efektiantureilla, TCA9555 GPIO-laajentimilla ja WS2812B-LED-nauhalla. Ohjelmisto kirjoitettiin C-kielellä STM32CubeIDE-ympäristössä ja se rakentuu tilakonemalliin, shakkimoottoriin sekä erillisiin anturi- ja LED-moduuleihin.
Työn tuloksena valmistui toimiva prototyyppi, joka läpäisi sekä moduuli- että integraatiotestauksen. Järjestelmä tunnistaa nappuloiden sijainnit luotettavasti, näyttää lailliset siirrot oikein ja käsittelee virhetilanteet odotetusti. Jatkokehityskohteiksi tunnistettiin muun muassa pelikello, tekoälyvastustaja sekä verkkopelitoiminnallisuus.
