Scratch + Arduino
Nem csupán animációkat és apró játékokat hozhatunk létre a Scratch segítségével, egy kis ügyeskedéssel a fizikai világ eszközeit is gond nélkül vezérelhetjük felületéről.
Körülbelül egy évvel ezelőtt a PC World oldalán jelent meg egy hosszabb Scratch tananyagunk, amely kifejezetten a szoftveres fejlesztésre koncentrált, viszont a kiegészítőkkel viszonylag keveset foglalkoztunk akkor. Pedig a Scratch különféle okos kiegészítőkkel akár IoT-fejlesztésre (azaz Internet of Things) is alkalmas.
Erre talán a legjobb példát a ScratchX-kiegészítők kínálják: lehetővé teszik, hogy a közösség kísérletező kedvű programozói megalkothassák és közkinccsé tegyék saját vezérlőblokkjaikat. Ezekkel a gyakran használt külső eszközök és internetes szolgáltatások a webes felületen keresztül minden probléma nélkül vezérelhetővé válnak, és a Scratch új értelmet nyer.
A ScratchX kiegészítők hosszú listájáról kétségtelenül az Arduino mikrokontroller csatlakoztatása kínálja a legizgalmasabb újdonságokat, azonban a kísérleti összetevő beüzemelése komoly fejfájást okozhat még a tapasztaltabb felhasználóknak is. Hogy kissé egyszerűbbé tegyük a munkafolyamatot, végigvesszük a működtetéshez szükséges összetevők telepítését, és megmutatjuk, mely komponensek harmonikus összhangjára van szükségünk ahhoz, hogy képesek legyünk a Scratch webes felületének utasításait néhány kattintással a mikrokontrollerünkre küldeni.
Telepítsünk Arduinót!
Több oldalról is megközelíthetjük a böngészős Scratch és az Arduino összehangolásának folyamatát, ezek közül ideális, ha rögtön a mikrokontroller hivatalos fejlesztői szoftverének telepítésével nyitjuk az install sort. Érdemes a legfrissebb verziót választani, és folyamatosan napra készen tartani a szoftvert, amint megjelennek az újabb változatok (a fontos újításokat a korábbi példányok nem feltétlenül tartalmazzák). A telepítés során a különféle driverek és a megfelelő használathoz szükséges virtuális portok is felkerülnek számítógépünkre, így ezt követően már csatlakoztatott Arduinónkat is látja majd a szoftver, és akár interakcióra is képes lesz vele.
Mikrokontrollerünk csatlakoztatása és telepítése után két dolgot kell ellenőriznünk az Arduino szerkesztői felületén, szerencsére mindkettőt az [Eszközök] menüponton belül találjuk. Elsőként a legfontosabb, hogy az alkalmazással tudassuk, milyen típusú Arduino csatlakozik éppen a PC-hez. Ez sok esetben befolyásolja a kódolás menetét, ugyanis a különféle verziók más és más könyvtárakat hívnak meg futtatásuk során. Ehhez az [Eszközök] menüpontban válasszuk az [Alaplapok] opciót, és a megjelenő listában keressük meg mikrokontrollerünk típusát. Amennyiben nem találjuk az alapértelmezetten telepített komponensek között, kattintsunk az [Alaplap-kezelő] feliratra, és a felugró ablak keresősorába írjuk be az asztalunkon pihenő eszköz pontos típusát, majd telepítsük a megjelenő kiegészítőt; a kilépést követően pedig feltűnik a választható típusok között a frissen beszerzett komponens. Amint ezzel végeztünk, ellenőrizzük az [Eszközök] menüpontban a [Port] sorhoz tartozó információkat.
Ha minden rendben ment, látnunk kell a csatlakoztatott készüléket, ám sok esetben manuálisan kell átállítanunk a COM1-es kommunikációs portról. Ezzel el is érkeztünk az alapbeállítások végére. Próbaként töltsünk fel egy üres projektet az Arduinóra, és ha sikeresen végigfut a szkript elküldése, már folytathatjuk is a beüzemelési folyamatot. Következő lépésként a szoftverek és a hardver közötti kommunikációs linket kell felállítanunk, azt pedig az Arduino oldalán és a böngészőnkben is aktiválni kell. A hardveres aktiválással nincs túl nehéz dolgunk, csupán egy előre elkészített szoftvert kell elküldenünk a rendszermemóriába, és már készen is áll a külső programokból érkező utasítások fogadására a kis Arduino.
A kód előhívásához a [Fájl] menüben a [Példák] között válasszuk a [Firmata] menüpontot, majd klikkeljünk a megjelenő listában a [StandardFirmata]-ra. Egy felugró ablakban nagy mennyiségű kód társaságában megjelenik a számunkra rendkívül hasznos szkript, amely a [Feltöltés] gombra kattintva már meg is érkezik Arduinónk felületére.
Harmóniában a böngészővel
HTML-kezelőfelületre váltva már egyszerűbb a helyzet - feltéve, hogy Firefox böngészőt használunk -, csupán egyetlen plugint kell telepítenünk a fizikai eszközök érzékeléséhez, ez pedig a Scratch Device Plugin (kizárólag a Mozilla browserével képes eredményesen együttműködni). A sikeres telepítést követően jön el az igazság pillanata, ideje ellenőriznünk programunk működését. Ehhez látogassunk el a ScratchX honlapjára (scratchx.org), majd kattintsunk a [See all extensions] menüpontra, és a megjelenő listából válasszuk a felsorolás legelső pontján elhelyezett - arduinós környezetbe ültetett - Scratch-cicát. Az oldal betöltése után rögtön láthatjuk, hogy számos új blokkal gazdagodott programozói eszköztárunk, amelyek a fizikai vezérlést hivatottak végrehajtani. Ha helyesen követtük a beállítási lépéseket, egy zöld pötty jelzi a kapcsolódás sikerességét az indítási felületen, a [Továbbiak] fül alatti Arduino felirat mellett.
Két másik színkód is fogadhat minket ugyanitt: a piros egyértelmű utalás arra, hogy az Arduino nem csatlakozik a számítógéphez, a sárga szín pedig még ennél is aggasztóbb, ez jelzi ugyanis a beazonosíthatatlan hibákat. A szoftver kísérleti jellege miatt viszonylag gyakoriak az ilyen hibák; ha belevágunk az online felület felfedezésébe, készüljünk fel rá, hogy az alkalmazás sok esetben még a pontosan végrehajtott beállításokat követően sem fog az elvárásainknak megfelelően működni.
Kellő türelemmel álljunk tehát neki a ScratchX Arduino használatának, és ne adjuk fel, ha nem sikerül kapásból csatlakoztatnunk az online Scratchhez. A sárga jelzést indukáló problémát sok esetben a böngésző egyszerű újraindítása is képes orvosolni, ha azonban ezt követően is makacskodna a szoftver, próbálkozhatunk a firmware feltöltésének megismétlésével és az eszköz újracsatlakoztatásával, valamint érdemes az Arduino programján belül a portok és az alaplapok beállítását is ismételten leellenőrizni. Ha minden működik, ki is próbálhatjuk az egyes komponenseket: egy LED bekötésével pillanatok alatt ellenőrizhetjük az összeköttetés sikeres megvalósulását.
Ha zöld jelzést kaptunk, végre jöhetnek a komolyabb projektek. Ha van nálunk egy Grove Strater Kit (amelyet a kiegészítő készítői javasolnak), munkára foghatjuk a benne található szenzorokat és különféle bővítőkomponenseket. Persze a siker még az ajánlott készlettel sem garantált, tapasztalatunk szerint például a csomag szervomotorja a parancs elküldését és futtatását követően sárgára váltja az alkalmazás csatlakozásjelzőjét. Az apró nehézségek ellenére mégis érdemes a ScratchX kínálta funkciókat igénybe venni, segítségével gyorsan jelentős sikereket érhetünk el, és ha a blokkok pakolgatása kellően felcsigázott minket, már csak egy lépésre vagyunk attól, hogy belemerüljünk az Arduino saját szoftverének kódolási rejtelmeibe.
Bármilyen Arduino jöhet
Rengeteg alaptípust vásárolhatunk az Arduino mikrokontrollerekből, ám szerencsére a Scratch-üzemeltetés során nem kell különbséget tennünk közöttük, a lényeges csatoló-összetevőket az összes Arduino modell magán hordozza. Persze ha komolyabban kívánunk foglalkozni használatával, érdemes egy magasabb árkategóriájú alaplapot választanunk, ezek sok esetben olyan extra képességekkel kecsegtetnek az áramköreikre fűzve, amelyeket a filléres modellek esetén csupán bővítőlapkák beszerzésével vehetnénk használatba.
A Genuino 101-es lapka éppen ezért ideális lehet komolyabb szándékaink eléréséhez; a hardver alapértelmezetten tartalmaz Bluetooth-chipet, giroszkópot, valamint gyorsulásmérőt, így e funkciókat rögtön a mikrokontroller beüzemelését követően használatba vehetjük.