Elektroninen jätkänshakki

Alunperin julkaistu: 10.2.2017

Viimeksi muokattu: lauantai 9.12.2017

Innostuin tekemään tällaisen elektronisen jätkänshakin eräänä viikonloppuna tässä taannoin. Tämä oli sellainen mukava viikonloppuprojekti ja olihan tuo mielenkiintoista ja haasteellista tehdä jotain uutta, mitä ei ole aikaisemmin tehnyt. Eniten aikaa meni koodin tekemisessä ja "tekoälyn" kehittämisessä.

Homma lähti liikkeelle siitä, että ensin rakensin koekytkentäalustalleni kytkennän. Sen jälkeen testailin raudan, että kaikki kytkimet ja ledit toimivat oikein, jonka jälkeen aloitin koodauksen.

Kuvassa näkyy valmis laitos ja alla on lisää kuvia sekä video tuosta kyhäelmästä (pahoittelen huonoa laatua).

Youtube-video:

Hieman kuvausta laitteen/ohjelman toiminnasta:

Koneen valinnat ilmaistaan vilkkuvilla ledeillä ja omat valinnat palavat koko ajan. Voittajarivi vilkkuu jonka jälkeen peli alkaa noin sekunnin päästä uudestaan. Valinnat tehdään vuorotellen ja pelaaja aloittaa. Voittava rivi jää vilkkumaan. Jos tulee tasapeli, niin kaikki LED:it vilkkuvat kolmesti ja peli alkaa alusta. Voiton jälkeen peli alkaa myös alusta ja hävinnyt pelaaja aloittaa ensin. Eli perus ristinollan säännöt.

Koodin tekemiseen kului parikymmentä tuntia ja koodista tuli loppujen lopuksi melkoisen pitkä. Noin 600 riviä c-kielistä koodia. Koodista jäi kuitenkin vielä puuttumaan vinorivien estäminen "tekoälyllä". Kontrollerin ohjelmamuisti alkoi loppua kesken, enkä saanut aivan kaikkea tehtyä mitä olisin halunnut. Jonkinlaiset äänetkin olisivat olleet kivat, jos vain olisi muistia enemmän tuossa kontrollerissa. Noh, ensi syksynä varmaan rakennellaan isommalle kontrollerille ohjelmointi/testaus-kortti.

Ohjelman lähdekoodin voit ladata tästä.

Elektronisen jätkänshakkiin kului osia seuraavasti:

  • 9 kpl kytkimiä ja LED:ejä sekä vastuksia.
  • AVR Attiny2313 mikrokontrolleri
  • Kide (16 MHz)
  • 9 V:n neppari paristolle
  • 5 V:n jänniteregulaattori
  • 2 x 47 pF kondensaattorit (keraaminen)
  • 2 x 4,7 uF kondensaattorit
  • 2 x 1 uF kondensaattori
  • 10 uF kondensaattori
  • 74HC922 näppäimistö enkooderi
  •  "Näkkäriä" eli kuparinauha- tai kuparitäppälevyä

Suurin osa osista on saatu vanhoista laitteista purkamalla (kondensaattorit, regulaattori, kide, kytkimet) ja muut on itse hankittuja, joten kovin hintavakaan ei tämä tekele ollut. Arvioisin, että komponenteille tulee hintaa 8 € uutena.