Programozott játékok: Simon mondja
Négy LED villogtatásával egy igazán szórakoztató memória-játékot készíthetünk, cikkünkben végigvezetünk a folyamaton.
A digitális játékok forradalma előtt bizony számtalan olyan gép készült, melyek az apró nyomtatott áramköri lapkájukra felszerelt néhány megabyteos memóriájukkal és a ma már megmosolyogtató számítási kapacitásukkal is képes volt órákon át lekötni a felhasználókat. Ezek az apró lapkák pedig sokszor hatalmas mechanikus monstrumok belsejében működtették a pattogó golyók körüli effekteket, vagy zsebméretű kis eszközökben kínáltak szórakozást.
Ma már a könnyedén beszerezhető programozó lapkáknak köszönhetően viszonylag egyszerűen elkészíthetjük a saját játékainkat, vagy újraalkothatunk időtlen klasszikusokat. Cikkünkben az utóbbival próbálkozunk, és megmutatjuk, hogy miként alkothatjuk meg a Simon mondja játék DIY változatát. Mivel ez alapvetően egy kevéssé eszközigényes projekt itt sokkal inkább a kódolási kihívások sorával kell majd szembe néznünk. Az elkészítendő játékban az Arduino mikrokontroller mellett szükségünk lesz négy különböző színű LED-re, 4 gombra, egy tesztlapra, valamint a megfelelő csatlakoztatáshoz kábelekre, illetve ellenállásokra. Amennyiben ez mind a rendelkezésünkre áll már kezdhetjük is projektünket.
Gombokat nyomkodunk
A játék lényege, hogy a tesztlapunkra rögzített LED-ek mellé egy-egy gombot rendelünk, és az indítást követően a felvillanó LED-hez tartozót lenyomjuk és a megfelelő sorrendben visszajátszuk a mikrokontroller által generált villanásokat. A világító lámpák száma minden egyes körben folyamatosan nő, a lényeg pedig, hogy a lehető leghosszabb szekvenciát képesek legyünk megismételni, hisz amint hibázunk, kezdhetjük elölről memóriánk tornáztatását. Ezt a játéklogikát igyekszük átemelni a kódunkba is. Programunk elkészítéséhez indítsuk el az Arduino fejlesztői környezetét, melynek felületén hozzunk létre egy új kódot.
Ezek után ellenőrizzük a számítógépünkhöz csatlakoztatott Arduino és a szoftverünk közötti kommunikáció létrejöttét, melyet a legegyszerűbben az üres kódunk feltöltésével tehetünk meg. Sikeres futtatás esetén a jelenleg még üres állományunk kerül az eszközünk aktív memóriájába, így az esetlegesen korábbi projektekből hátramaradt programoktól is hatékonyan megszabadulhatunk. Amennyiben valamilyen hibaüzenettel megszakad a folyamat ellenőrizzük a beállításainkat, különösen figyeljünk a megfelelő kommunikációs portokra, illetve a csatlakoztatott Arduino típusára, ha pedig a szoftver arra kér minket, nyomjuk meg a Master-Reset gombot a készülékünkön, majd kíséreljük meg újra a feltöltést. Ha a számítógépünk és a mikrovezérlőnk megfelelően kommunikál egymással bele is foghatunk a kódunk elkészítésébe.
Kezdeti beállítások
Első lépésként a setup() függvényt töltjük fel tartalommal, ahol nem teszünk mást, mint felcímkézzük a csatlakoztatott gombjainkat. Mivel összeállításunkban az analóg bemenetekre kötöttük őket, így nincs más dolgunk mint a pinMode(A0, INPUT); utasítást beírni, és lemásolni még háromszor, hogy a többi csatlakoztatott beviteli eszközünkre (A1, A2, A3) is érvényes legyen. Ezt követően jöhet a LED-ek felcímkézése, itt arra ügyeljünk, hogy a megfelelő számokkal lássuk el a használni kívánt portokat.