Szorzás-osztás gyakorló robot
A második osztályosok legkevésbé kedvelt szórakozása a szorzótábla gyakorlása. A kérdésre pedig, hogy "Megy a szorzás és bennfoglalás?" - az osztást Nekik így tanítják - az örökös válasz, hogy "Persze!".
Tele van az Android Market idióta, agysorvasztó játékokkal, de sajnos a minisztériumi csúcsfejeknek nem jut eszébe iskolásoknak szánt appokat fejlesztetni, hogy az egyébként is a kütyűkön lógó apró utánpótlás játszva okosodjon. Hiánypótlás okán kitaláltam egy egyszerű konstrukciót Mindstorms NXT komponensekből, amelyben a Kocka véletlen számokat generál, majd ezekből szorzás és bennfoglalás példákat ad feladatul, az eredmény bevitelére két forgó tárcsa szolgál, a bal oldali a tizeseket, a jobb oldali az egyeseket pörgeti folytonosan körbe, ha kiraktuk az eredményt, egy Touch szenzor lenyomására a kocka reagál: helyes választ tapssal és vigyorgó smili-val jutalmazza, hibás választ elkeseredett pityergéssel és szomorú smili fejjel:
Végre megérkezett az RGB szenzor is, amit hosszas keresgélés után sikerült megvásárolnom, az én készletem az 1.0 változat, ebben még csak fény érzékelő volt, szín érzékelőt csak a 2.0 készletbe adtak. Az NXT Brick Firmware-ét lehet a 2.0-éra update-lni, a programozó környezet letölthető a Lego oldaláról, csak az RGB szenzor beszerzése nem egyszerű, főleg kis Hazánkban, ahol ennek még csak kialakulóban van a kultúrája, így a használt kereskedelemben ritkák a Mindstorms komponensek.
Ez az érzékelő tud működni 2 üzemmódban, vagy a hagyományos fényerősség érzékelőként, itt lehet aktív, megvilágított: piros, zöld vagy kék fénnyel és lehet passzív, azaz megvilágítás nélküli. Felső sorban a port adható meg, amelyre kábellel csatlakoztattuk, alatta az üzemmód, következő sorben egy összehasonlító mérés paraméterezhető, alul pedig kiválaszthatjuk a kívánt megvilágítási színt, vagy kikapcsolhatjuk az aktív üzemmódot:
A fő üzemmódja a szín érzékelés, látható a 6 szín, amit képes megbízhatóan megkülönböztetni, természetesen a lego kockák színárnyalata az, amelyhez a szenzor optimalizálva lett, ezért ilyen színekkel célszerű kísérletezni.
Összeraktam gyorsan egy színskálát a teszteléshez 2x2-es lego kockákból:
A szín detektáló programom kimondja angolul a színt, kiírja magyarul a kijelzőre. Megírása nem nevezhető nehéz feladatnak, egyedüli nehézség a fekete szín felismertetése, hiszen amikor nincs semmi a szenzor előtt, akkor ugyanazt az "1" kimeneti értéket adja, mint amikor a kis visszaverődést produkálóü fekete kockát helyezzük elé. Én egy üzemmód váltással oldottam meg a feladatot, mert ha nincs a szenzor előtt semmi, akkor ez fényerő mérő üzemmódban kimutatható:
A szín szenzort kalibrálhatjuk programozás közben, mert az USB kábelen a számítógéphez kapcsolt NXT Brick visszaküldi a szenzor aktuálisan mért adatait, amit a blokk beállító felületeén valós időben láthatunk:
És akkor a szín felismerő működése élőben:
Köszönöm, hogy elolvastad!
2015-05-20
2016 május 20, 11:53