(BBC micro:bit vezérelt) oktató robot A mini Mic:Robi készlet a BBC micro:bithez készült, de nem tartalmazza a micro:bitet (természetesen vásárláskor kérhető együtt is!), egyszerű kódokkal szórakoztató alkalmazások készíthetők és ezzel vezethetjük be a diákokat a robotika világába. A: mini Mic:Robi egy 2 kerekes robot, amely alkalmas önálló működésre. A távvezérlő projektek egy Bluetooth alkalmazáson keresztül, vagy egy második micro:bittel vezérelve rádió funkciók segítségével valósíthatók meg. Az alkatrészek között szerepel egy meghajtó kártya, amely külön is felhasználható és építhetők további, más mozgásalapú projektek is. Alkatrész jegyzék: Elektronika Rögzítés Panelek
A PROGRAMOZÁSI KÖRNYEZET KIALAKÍTÁSA mikro-usb B típusú kábellel csatlakoztassa a BBC micro: bit-et egy számítógéphez. Kód írása (szerkesztése a BBC micro: bit weboldalon www.microbit.org Az útmutató összes kísérlete a Microsoft PXT Block és a Microsoft PXT JavaScript szerkesztőkön alapul. A Microsoft PXT Block Editor egy nagyon könnyen használható grafikus szerkesztő. A Microsoft PXT Javascript szerkesztő szöveges programozási nyelv, amely ideális egy kicsit összetettebb programokhoz. Feltételezzük, hogy néhány programot már készített és letöltött a micro:bit-re, ha ez nem áll fenn, akkor először ismerkedjünk az alapvető fogásokkal. (a weblapon nagyon jó példák állnak rendelkezésünkre).
Robotunk legfontosabb alkatrésze a meghajtó kártya, amely lehetővé teszi, hogy könnyedén csatlakoztassa és vezérelje a szervomotorokat és a neopixeleket a BBC micro: bit program utasításai alapján. Csatlakoztatva a mikro: bithez öt csavarral, akár 3 szervó is működtethető, ha a címezhető neopixel LED-ek nem szükségesek. A kártyánk működéséhez szükségünk van 3 db 1,5 V-os AAA elemre, ez lesz a tápegységünk. Figyelem! Ha az elemeket behelyeztük az elemtartóba, attól a pillanattól fokozott figyelemmel kell, hogy viseltessünk ugyanis a csatlakozók idegen tárgyakkal érintkezve rövidzár alakulhat ki, amely először melegedéssel később meghibásodással jár. On-Off kapcsoló, az On esetében egy kék led világít, és feszültség alá helyezzük az összes érintkezőt (szervo, neopixel, micro:bit), Off állásban ez az állapot megszűnik. Servo3 vagy Neopixel a hátulján van egy jumper, attól függően, hogy melyik oldalra teszem, használhatom a Servo3 kimenetet vagy csatlakoztathatok újabb neopixeleket. Servo1 és Servo2 ide csatlakoztatom a szervo motorokat a készletből (természetesen használhatok más szervókat is pl. hagyományos 180 0 -os szervót, de azzal nem fog menni a robotunk)
Itt jól látható a jumper amit ha lehúzunk át lehet dugni a másik két lábra, olyan ez mint egy kapcsoló. A tüskékhez a csatlakozás körültekintően kell végeznünk, a lábkiosztásnak megfelelően. Neopixel ledsor használatba vétele: A ledsor ( 5 db led) a PIN0-ra van kötve, az öt csavar segítségével csatlakoztassuk (rögzítsük) a micro:bit-et a meghajtó kártyára. Program készítés: Előre elkészített függvényeket használhatunk. Ahhoz, hogy tudjunk utasítást adni a led sorunknak Válassza a "Csomag hozzáadása" lehetőséget. A keresősávban válassza ki a "neopixel" négyzetet.
Ez betölt egy olyan blokkcsomagot, amely kompatibilis a LED-ekkel, így nagyon egyszerű programozni őket! Csatlakoztassuk a micro USB-n a micro:bit-et a számítógépünkhöz és töltsük le a programot. Ha jól csináltuk, akkor szép színekkel ragyognak a ledek. Most bontsuk a kapcsolatot (kihúzzuk az USB kábelt), majd a kártyán az ON-OFF kapcsolót helyezzük ON állásba és mivel van saját áramforrásunk így is világítanak a ledek. Ha szeretnénk még több neopixelt csatlakoztatni van lehetőség (további neopixel kimenet), de ne felejtsük el a jumpert a megfelelő állásba helyezni. Akár önálló projektben is használható a meghajtó kártya hiszen akár ötven ledet is képesek vagyunk kezelni és mindezt mobil (hordozható) üzemmódban. Szervó motorok tesztelése: A -ban használt folyamatos (360 0 -os) szervók ugyanúgy vezérelhetők (ugyanazok a blokk utasítások), mint a normál (180 0 -os) szervók. Ezeket a szervókat egy ismétlődő impulzus vezérli, amelynek szélessége parancsot ad a szervóra, hogy állásba forduljon. Normál szervo esetén a pozíciót a kimeneti tengelytől mérjük, és meghatározzuk, hogy milyen szögben álljon a szervó (0-180 0 ). A folyamatos forgatású szervo kissé eltérő. Ahelyett, hogy a szervo jelezné, hogy milyen messzire kell elmozdulnia, azt mondja a szervónak, hogy milyen gyorsan és milyen irányba mozogjon, ill. forogjon. Csatlakoztatás: Odafigyelést igényel, nagyon nem mindegy a csatlakozás! Felül : GROUND : BROWN Középen : POWER : RED Alul : SIGNAL : ORANGE
Helyezzünk fel a motorokra jelölőt (akár a kerék is lehet), ne csavarozzuk rá, csak illesszük, fontos lesz az irány meghatározásánál ill., hogy történike pici elmozdulás Csatlakoztassuk mind a két szervót (Servo1 és Servo2 csatlakozókra) figyelve a lábkiosztásra (szín sorrend) ha ez sikerült, itt az idő, hogy írjunk néhány tesztkódot. Ha megnyomja az A gombot, mindkét szervónak az óramutató járásával ellentétes irányba kell fordulnia (a kerék oldalától nézve). Amikor megnyomja a B gombot, mindkét szervónak az óramutató járásával megegyező irányban kell lennie (a kerék oldalától nézve). Ha megnyomja az A + B nyomógombokat, a szervóknak le kell állniuk! Szervók kalibrációja: Töltsük le a programot a micro:bit-re, és indulhat a tesztelés. Előfordulhat, hogy hiába nyomjuk le az A+B gombot a szervók tovább forognak (lehet csak az egyik) pici elmozdulás. Ezt úgy tudjuk orvosolni, hogy kalibráljuk a szervó motorunkat. A motor alsó részén van egy csavarral állítható trimmer (forgatható potméter) amivel tudjuk hangolni. trimmer Kis csavarhúzóval óvatosan mozgassa (forgassa) a trimmert amíg a szervó teljesen leáll. Nem szabad süvítő hangnak sem érkezni a szervóból. Ha az utasítás hatására hangtanul egy helyben áll a szervó motorunk végeztünk a kalibrálással. Változtassuk meg a szervónak kiküldött értékeket, hogy érzékeljük a sebesség növekedést, ill. csökkenést, ill. a forgás irány, változtatást. Ha magabiztosan értjük és kezeljük, akkor jöhet az összeszerelés.
A robot összeszerelése: 1.lépés A szervó motorok rögzítése. Figyeljünk a szimmetriára és a csavaroknak mindig tartsunk ellent, azaz tartsuk meg a rögzítő hasábot, hogy ne törjön le. 2. lépés A bölcső rögzítés
3. lépés A kerekek felszerelése, ill. rögzítése, figyeljünk arra, hogy ne húzzuk meg túl erősen a csavarokat, mert befolyásolhatja a motor működését (inkább fokozatosan). 4. lépés Elemek behelyezése a vezérlő kártyába, majd a micro:bit csatlakoztatása a csavarok segítségével. (ezt már korábban elvégeztük a kalibráció során)
hasonlóan kell kinézni robotunknak! 5. lépés A vezetékek csatlakoztatása, ill. hajtogatása. A mozgás stabilizáló nagy csavarok felszerelése. 6. lépés A stabilizáló csavarok beállítása picit hagyni kell, hogy tudjon billegni az előre-hátra menetnél, próbáljuk majd megtalálni azt az állapotot, hogy ne boruljon fel.
Tulajdonképpen a motorok teszt kódjának írása és kipróbálása már kellő alap, hogy életet leheljünk a robotunkba, de szeretnék még néhány lehetőséget ismertetni. Megszokhattuk, hogy ne kelljen annyi blokkot mozgatni, használhatunk úgynevezett célfüggvényeket itt is lehet, a Kitronik szervó motor vezérlő egyéni blokkok alkalmazásait használhatjuk. Először is adjuk hozzá a projektünkhöz a lehetőséget: Mostantól a következő blokkokhoz férhet hozzá: A kalibrálásnál lesz szükséges ( 1 second alatt hány mm-t tesz meg). Elfordul jobbra a kívánt fokon, majd megáll. Hátrafelé megteszi a kért távolságot, majd megáll.
Előre megteszi a kért távolságot, majd megáll. A szervókat semleges állásba helyezi Állj meg, a parancs szó szerint leállítja a impulzusokat a szervóhoz. Jobbra fordul, mindaddig, amíg nem kap "stop" -t. Balra fordul, mindaddig, amíg nem kap "stop" -t. Hátrafelé megy, mindaddig amíg nem kap "stop" -t. Előre megy, mindaddig amíg nem kap "stop" -t. Lehetővé teszi a fordulatszám beállítását. Elfordul balra a kívánt fokban, majd megáll. 360 fokos szervok kalibrálása: A 360 fokos szervókat használ a kerekek meghajtásához. A 180 fokos szervóktól eltérően ezeknek nincs pozíció visszajelzése. Kell szereznünk információt arról, hogy milyen gyorsan mozog, és az elfordulás mértékéről is. A szögek (A gomb) és távolságok (B gomb) kalibrálásához először kell írni egy kicsi a kódot, hogy meghatározhassuk, hogy a robotunk mennyi távolságot tesz meg (távolság és szög) egy bizonyos idő alatt.
Az A gomb lenyomására 1 másodpercig forog. Mérje meg ezt a szöget (nyomtattam egy szögmérőt és annak a segítségével), majd helyezze be a kalibrálási fordulatszám-blokkba az on start-ban. Hasonlóképpen, a B gomb lenyomására előre mozog 1 másodpercig. Mérje meg, milyen messzire halad (ezt könnyebb mérni pl. vonalzó), és tegye azt a kalibrálási távolsági blokkba. Ezek az értékek mindegyike kicsit más lesz a robotunk alkotóelemek gyártási tűréseinek köszönhetően. Ha sikerült elvégezni a kalibrálást, egészen pontosan lehet majd irányítani a robotunk mozgását. Vezérelhetjük robotunkat rádiós kapcsolaton keresztül is ( egy másik micro:bit-et távirányítóként használva) erről részletesen írtam a http://www.vigvari.hu/termeklap/leirasok/bbc-microbit-vezetek-nelkuli-radioskommunikacio_261575 pdf -ben. Vezérelhetjük robotunkat bluetooth kapcsolaton keresztül is pl. a telefonunkról, viszont így a neopixel utasításokat nem tudjuk majd használni. A bluetooth kapcsolódást egy másik dokumentum tartalmazza, amit a weblapon/leírások menüben fogunk elérni. Bővítési lehetőség: Servo3 vagy Neopixel a hátulján van egy jumper, attól függően, hogy melyik oldalra teszem, használhatom a Servo3 kimenetet vagy csatlakoztathatok újabb neopixeleket. Tehát az egyik tüskesoron akár egy harmadik szervót is csatlakoztathatok a hajtáson túl új funkcióval, vagy a másik tüskesoron további neopixel ledeket csatlakoztatok érdekesebbé téve a projektemet. Fontos: a jumper áthelyezése a megfelelő pozicióba! Ennyi információval már csodálatos alkalmazásokat lehet készíteni, oszd meg munkádat és élményeidet. Küldj képet, videó linket a következő címre: vigvari.gyorgy@vigvari.hu, természetesen ha problémád van azt is megírhatod ezen a címen.
HIBAELHÁRÍTÁS Ha problémái vannak a, próbálkozzon az alábbi lépésekkel! A SZERVOK NEM MŰKÖDNEK - Ellenőrizze a színsorrendet a csatlakozón? - Ellenőrizze az összes csatlakozást. - A csavarok szorosan rögzítik az elektronikát? - Ellenőrizze a kódot, hogy a helyes tüskékhez juttatja a jelet? ZIP LED KÉRDÉSEK - Ellenőrizze, hogy az összes csavarcsatlakozás szoros. - Ellenőrizze a kódot, helyes kimenetet használja (pin 0)? NEM REAGÁL - Be van kapcsolva? - Az elemek nem merültek le? - Ellenőrizze, hogy az összes csavarcsatlakozás szoros. Ha ez nem oldotta meg a problémát, írjon vagy hívjon, próbálunk segíteni.