4. 1. Motorok vezérlése A robot a vezérlőegységhez kapcsolt motorok segítségével valósítja meg a különböző mozgásokat. A robothoz négy motor csatlakoztatható, melyek csatlakozási helyeit A, B, C és D betűkkel jelölték a téglán. A készletben két különböző felépítésű motor található: A közepes motor: forgási tengelye párhuzamos a motor hosszanti tengelyével (Medium Motor) a nagy motor forgási tengelye merőleges a hosszanti tengelyre (Large Motor).
4. 1. Motorok vezérlése
4. 1. Motorok vezérlése A motorok vezérlésére négy modul is alkalmas Action kategóriában (Cselekvési programelemek): Large Motor, Move Steering Move Tank modulok, valamint a speciális közepes motorhoz tartozó Medium Motor.
4. 1. Motorok vezérlése A motorok irányítása, és ezeken keresztül a robotkonstrukció mozgatása különböző paraméterek beállítását jelenti. A motorok esetén beállítható: Működési mód: Azt jelenti, hogy a motor működésének időtartamát mi szabályozza. Ez lehet: idő (másodperc), elfordulási szög (a tengely fordulási szöge fokban), tengelyfordulatok száma, illetve a motort lehet be illetve kikapcsolni. A működési mód beállítását az ikon bal alsó sarkán lévő módválasztó ikonnal lehet elvégezni.
4. 1. Motorok vezérlése A kiválasztott működési módnak megfelelően az ikon alsó részén, a paraméterlistán csak azok a beállítási lehetőségek jelennek meg, amelyek aktuálisan érvényesek.
Motorok forgási sebessége A motor forgási sebessége állítható be. –100; +100 közötti értékkel. A negatív érték ellenkező irányú forgatást jelent. Az érték megadható egy csúszkával, vagy a szám beírásával a szövegmezőbe.
Motorok forgási sebessége Csak a kormányvezérelt motor blokk (Steering Motor) esetén használható. A kormányzás úgy oldható meg, hogy a két motort különböző sebességgel működtetjük. Ekkor a robot a lassabban működő motor irányába elfordul. Ezt teszi lehetővé a Steering paraméter. A paraméter értékét a mellette lévő csúszka segítségével állíthatjuk.
Motorok forgási sebessége Ha a csúszka középen van, akkor mindkét motor azonos sebességgel és ugyanabba az irányba forog. Ha a csúszkát eltoljuk az egyik motor irányába, akkor az a motor gyorsabban forog, és a robot nagy ívben elfordul. Ez a paraméter csak két motor vezérlése esetén használható.
Motorok forgási sebessége Ha a paraméter értéke –50> és <+50 közötti, akkor mindkét motor ugyanabba az irányba forog, de az egyik gyorsabban, míg a másik lassabban, ezáltal a robot íven kanyarodik. –50 és +50-es értéknél az egyik motor áll, a másik pedig forog. Ha a beállított érték kisebb, mint –50 vagy nagyobb, mint +50, akkor a két motor ellentétes irányba forog eltérő sebességgel.
Motorok forgási sebessége –100 és +100-as értéknél ellentétes irányba forognak azonos sebességgel, így a robot helyben fordul. A forgási sebesség a gyorsabban forgó motornál annál nagyobb, minél nagyobb abszolút értékű a beállított érték.
Motorok vezérlése Ha az időtartammal vezérelt működési módot választjuk, akkor az időtartam állítható be másodperc mértékegységben. Ennyi ideig fog a motor működni. Tizedes tört is használható, így a működés időtartama precízebben vezérelhető. (Tizedespont!) Ha a tengelyfordulási szög a működési mód, akkor fok egységben lehet megadni az elfordulás szögét. Tizedes törtek használhatók. Nem a robot fordulási szögét adjuk meg, hanem a motor tengelyének elfordulását.
Motorok vezérlése Ha a tengelyfordulatok száma a kiválasztott működési mód, akkor körbefordulások számát lehet megadni. Tizedes törtek használhatók. A motor működésének befejeztével a megállás módja választható ki. A Break választása esetén a motor, és egyben a robot is, blokkolva áll le. A Coast választása esetén a motorok kikapcsolnak, de a robot nem fékeződik le. Fokozatosan lassulva áll meg.
Motorok vezérlése A paraméter számértékének megadása történhet: az aktuálisan látszó alapértelmezett értékre kattintva és a szövegdobozba beírva, vagy a legtöbb esetben a megjelenő csúszkán vagy listaelemen kattintva is. További lehetőség az érték megadására a paraméterátadás, amely valamely másik blokk által visszaadott érték alapján történhet.
Motorok vezérlése A három motor modul közötti különbségek: A Large Motor ikonnal egyetlen motor irányítható, amely portját a jobb felső sarokban lehet beállítani. A Move Steering ikonnal két motor irányítható. Egyetlen sebességparamétert lehet megadni, így a fordulást a két motor közötti sebesség elosztásával lehet szabályozni. A Move Tank esetén az irányítás a tankok vezérléséhez hasonló: a két motor eltérő sebességű forgatása okozza a kanyarodást. Mintha két botkormánnyal vezérelnénk a motorokat. Mindkét motornak külön-külön állatható a sebessége, és ezáltal finomabban hangolható a mozgása és gyorsabb mozgást, forgást is eredményezhet.
4. 1. Motorok vezérlése A Medium Motor beállításai megegyeznek a másik három moduléval, de csak egyetlen motor vezérelhető egyszerre. A működési módok közül az utolsó hármat választva (másodperc, elfordulási szög vagy tengelyfordulat) a motor bekapcsol és a beállított érték teljesüléséig működik. Ezalatt a program további utasításai nem hajtódnak végre mindaddig, amíg a motor modulon beállított értéke nem teljesül. Ekkor a motor leáll és a következő utasítással folytatódik a program végrehajtása.
4. 1. Motorok vezérlése A motor szimpla bekapcsolásával (On működési mód), a programszál utasításainak végrehajtása folytatódik, miután a motor elindult. Ebben az esetben a motor leállításáról külön utasításblokkal kell gondoskodni, vagy a program befejeződése automatikusan eredményezi ezt. Ha tehát nem tudjuk előre, hogy mennyi ideig kell a motort működtetni, akkor a bekapcsolás működési módot kell választanunk (On), de ilyen esetben általában valamilyen szenzor által mért érték fogja a leállítást megvalósítani.
4. 1. Motorok vezérlése Ha tudjuk, hogy mennyi ideig kell a motoroknak működnie, akkor arra kell figyelemmel lennünk, hogy, amíg ez az idő le nem telt, addig a robot nem lép tovább az utasítássoron, így a további utasításokat nem vizsgálja, és nem hajtja végre, tehát például a későbbi szenzorokat sem figyeli. Ha a szenzorokat is figyelni szeretnénk és a motort fix ideig működtetni, akkor az egyik lehetőség lehet a több szálú programozás.
4. 2. Példaprogramok 4/P1. Írjon programot, amelyet végrehajtva a robot 50-es sebességgel előre halad 500°-os tengelyfordulásig!
4. 2. Példaprogramok A programhoz a kormányvezérelt (Steering Motor) blokkot használtuk. A motorok leállítása nem szükséges, hiszen az 500°-os elfordulás után illetve a program végeztével egyébként is leállnak. A motorok leállítása blokkolással történt.
4. 2. Példaprogramok 4/P2. Írjon programot, amelyet végrehajtva a robot 50-es sebességgel körbe forog 2 mp-ig!
4. 2. Példaprogramok A programhoz a kormányvezérelt (Steering Motor) blokkot használtuk, amely a B és C portra kötött motorokat 50-es sebességgel, de különböző irányban forgatja 2 mp-ig. A helyben forgást úgy érjük el, hogy a Steering paraméter csúszkáját a C motor irányába toltuk el. Ennek hatására a motorok azonos sebességgel, de különböző irányban kezdenek forogni, és a robot helyben elfordul. A Seconds paraméter beállításával adtuk meg a mozgás idejét.
4. 2. Példaprogramok Ha a programhoz a sebességvezérelt (Tank Motor) blokkot használjuk, akkor a forgás gyorsabb is lehet. Mindkét motor sebessége abszolút értékben 100, de a két motornál eltérő az előjel. A többi paraméter beállítása azonos az előző megoldásnál használttal.
4. 2. Példaprogramok 4/P3. Írjon programot, amelyet végrehajtva a robot 2 mp-ig tolat, majd balra fordul kb. 90°-ot, végül előre megy a tengely háromszoros körbefordulásig!
4. 2. Példaprogramok A program forráskódja három kormányvezérelt motor ikonból áll. Az első blokk a B és C motorokat –50-es sebességgel 2 mp-ig forgatja. A negatív sebességérték a hátrafelé mozgást jelenti.
4. 2. Példaprogramok A második motor blokk valósítja meg a kb. 90°-os balra fordulást. Ehhez az összes „nyomatékot” a C (ez a beállítás függ attól, hogy melyik motort melyik portra kötöttük) motorra adjuk és a motorokat 50-es sebességgel 0,5 mp-ig működtetjük. A megfelelő időt célszerű kísérletezéssel meghatározni, mivel ez függhet a robot sebességétől, a kerék átmérőjétől vagy az akkumulátorok töltöttségi szintjétől.
4. 2. Példaprogramok A pontosabb fordításra egy lehetőség a giro szenzor használata. Az adott szöggel történő elfordítási mód beállításnál a paraméter „90°, Degrees” beállítása nem a robot 90°-kal történő elfordulását eredményezi, hanem a motor tengelyének 90°-os elfordulását. A harmadik modul a háromszoros tengelyfordulásig történő előre mozgást valósítja meg.
4. 3. Gyakorló feladatok 4/F1. Írjon programot, amelyet végrehajtva a robot körbe forog 3 mp-ig, majd előre megy 1000°-os tengelyfordulásig, majd ismét forog 3 mp-ig!
4. 3. Gyakorló feladatok 4/F1. Írjon programot, amelyet végrehajtva a robot körbe forog 3 mp-ig, majd előre megy 1000°-os tengelyfordulásig, majd ismét forog 3 mp-ig!
4. 3. Gyakorló feladatok 4/F2. Írjon programot, amelyet végrehajtva a robot nagy ívben balra kanyarodik 5 mp-ig, majd tolat 2 mp-ig, végül nagy ívben jobbra kanyarodik 5 mp-ig!
4. 3. Gyakorló feladatok 4/F2. Írjon programot, amelyet végrehajtva a robot nagy ívben balra kanyarodik 5 mp-ig, majd tolat 2 mp-ig, végül nagy ívben jobbra kanyarodik 5 mp-ig!
4. 3. Gyakorló feladatok 4/F3. Írjon programot, amelyet végrehajtva a robot nagy ívben jobbra kanyarodik 3 mp-ig, majd fordul kb. 180°-ot és nagy ívben balra kanyarodva halad 3 mp-ig!
4. 3. Gyakorló feladatok 4/F3. Írjon programot, amelyet végrehajtva a robot nagy ívben jobbra kanyarodik 3 mp-ig, majd fordul kb. 180°-ot és nagy ívben balra kanyarodva halad 3 mp-ig!
4. 3. Gyakorló feladatok 4/F4. Írjon programot, amelyet végrehajtva a robot mozgás közben egy négyzetet ír le!
4. 3. Gyakorló feladatok 4/F4. Írjon programot, amelyet végrehajtva a robot mozgás közben egy négyzetet ír le!
4. 3. Gyakorló feladatok 4/F5. Írjon programot, amelyet végrehajtva a robot egy olyan téglalap mentén mozog, amelynek hosszabbik oldala kétszer akkora, mint a rövidebbik!
4. 3. Gyakorló feladatok 4/F5. Írjon programot, amelyet végrehajtva a robot egy olyan téglalap mentén mozog, amelynek hosszabbik oldala kétszer akkora, mint a rövidebbik!
4. 3. Gyakorló feladatok 4/F6. Írjon programot, amelyet végrehajtva a robot mozgása során az alábbi alakzatot írja le!
4. 3. Gyakorló feladatok 4/F7. Írjon programot, amelyet végrehajtva a robot mozgása során az alábbi alakzatot írja le!
4. 3. Gyakorló feladatok 4/F8. Írjon programot, amelyet végrehajtva a robot mozgása során az alábbi alakzatot írja le!
4. 3. Gyakorló feladatok 4/F8. Írjon programot, amelyet végrehajtva a robot mozgása során az alábbi alakzatot írja le!
4. 3. Gyakorló feladatok 4/F9. Írjon programot, amelyet végrehajtva a robot mozgása során az alábbi alakzatot írja le!
4. 3. Gyakorló feladatok 4/F9. Írjon programot, amelyet végrehajtva a robot mozgása során az alábbi alakzatot írja le!