A VEX IQ Smart Motor számos funkcióval rendelkezik a VEXcode IQ kódoláshoz. Ez hasznos lehet a karok, karmok és szívónyílások, valamint a VEX IQ segítségével létrehozott hajtásláncok és egyéb mechanizmusok kódolásakor. A motorok kódolásának megértése segít enyhíteni az olyan problémákat, mint például a projektek leállása vagy a motorok nem megfelelően működnek.
Motor kódoló
A VEX IQ Smart Motor nemcsak az elektromos energiát alakítja mechanikai energiává, ahogy a legtöbb motor teszi, hanem olyan funkciókkal is rendelkezik, amelyekkel a legtöbb motor nem rendelkezik, amelyek „okossá” teszik. Egyik fő jellemzője a kvadratúra kódoló. Ez az enkóder a motor belsejére van felszerelve, hogy nyomon tudja követni a motor tengelyének fordulatszámát és/vagy helyzetét.
A VEX IQ Smart Motor kódolójának jelentései lehetővé teszik a következőket:
- A motor forgásiránya (előre/hátra vagy nyitott/zárt)
- A motor helyzete és a motor fordulatszáma és helyzete (fordulatokban vagy fokokban)
- A motor fordulatszáma (a jeladó időbeli helyzete alapján)
Mivel a kódoló jelenti a motor állapotait, ezek felhasználhatók a színfalak mögötti számításokhoz, hogy a mozgás- és érzékelési parancsok közül sok működjön a VEXcode IQ-n belül.
Egyedi motorok kódolása
Mielőtt elkezdené az egyes intelligens motorok kódolását a VEXcode IQ-ban, konfigurálnia kell a motort. Az egyes motorokat gyakran használják további mechanizmusokhoz, például szívónyílásokhoz, karokhoz és karmokhoz. Azonban az összes információ továbbra is vonatkozik más, egyedi motorokat használó mechanizmusokra.
Kövesse az cikk lépéseit az egyéni motor konfigurálásához a VEXcode IQ-ban.
Ha egyetlen motor van konfigurálva, az adott motor vezérlésére szolgáló parancsok megjelennek az Eszköztárban. Észre fogja venni, hogy különböző típusú parancsok léteznek: várakozó és nem váró parancsok.
Várakozás kontra nem váró parancsok
Vegye figyelembe, hogy itt az összes képen blokkok láthatók. Mindezek a projektek újraépíthetők Python vagy C++ nyelven, és ugyanazokat a funkciókat tartalmazzák, mint a blokkok.
A várakozási parancsok megakadályozzák a projekt folytatását, amíg a viselkedés be nem fejeződik. Ezek közé tartoznak az olyan parancsok, mint a [Spin for] és [Spin to position].
Az itt látható projekt Clawbot (2 motoros) sablont használ, és az összes parancs várakozik. Sorozatban tehát a körmös motor 90 fokkal zár, a robot hátrafelé halad, majd a kar felpörög, hogy elérje a 180 fokot.
Ezzel szemben vannak nem várakozó parancsok. A nem váró parancs korlátlan ideig hajtja végre a viselkedést, vagy amíg a rendszer nem kéri, hogy váltson másik viselkedésre. Ide tartoznak az olyan parancsok, mint például a [Spin].
Az itt látható projekt egy BaseBotot használ hozzáadott bemenettel. Itt a szívómotor forogni kezd. A [Wait] parancs egy várakozási parancs, tehát a beszívás tovább pörög, amíg le nem telik a 2 másodperc, majd a következő parancsra lép a projektben, amely egy [Stop] parancs. Ekkor a motor leállna forogni.
Motor időtúllépések
Amikor egy motort kar vagy karom részeként kódol, fontos emlékezni a várakozó és nem váró blokkok közötti különbségre, és arra, hogy ezek hogyan befolyásolják a robot mozgását. A motor időtúllépései lehetővé teszik, hogy beállítson egy időkorlátot, amíg a motor eléri a kívánt célpozíciót. Ha az idő lejártakor nem érte el ezt a pozíciót, a motor abbahagyja a pörgést, és a projekt a következő parancsra lép.
Ebben a példában a motor időtúllépése 2 másodpercre van beállítva. Ha a karom 2 másodpercen belül nem közelít 90 fokot, a motor a 2 másodperces jelzésnél leáll, majd a következő parancsra lép, és előrehalad.
Ha nem biztos abban, hogy milyen messzire kell mozgatni a motort, használja az érzékelő műszerfalát. A műszerfal a motor helyzetét fokban és fordulatszámban jelzi, így a motor mozgatásakor (például egy karom nyitásakor és zárásakor) a számok változni fognak. Használja ezt a tesztet annak meghatározására, hogy hány fokra vagy elfordulásra van szükség a karmok bezárásához, a kar felemeléséhez, a beszívás megforgatásához stb.
Tekintse meg ezeket a cikkeket, hogy megtudja, hogyan kell használni az érzékelő műszerfalát.
Intelligens motorok kódolása a hajtáslánc részeként
Mielőtt elkezdené a hajtáslánc kódolását a VEXcode IQ-ban, konfigurálnia kell a hajtásláncot, beleértve a használt motorokat. A motorok a hajtásláncon belül vannak konfigurálva, hogy biztosítsák a vezérlésüket ugyanazokkal a parancsokkal, mint a [Drive] és [Drive for].
Várakozó és nem váró parancsok
A hajtáslánc kódolásakor várakozó és nem váró parancsok állnak rendelkezésre a robot mozgásának vezérlésére.
A várakozási parancsok megakadályozzák a projekt folytatását, amíg a viselkedés be nem fejeződik. Ide tartoznak az olyan parancsok, mint a [Vezessen] [Forduljon be] és a [Turn to heading].
Az itt látható projekt Clawbot (2 motoros) sablont használ, és az összes parancs várakozik. Sorozatban tehát a robot 200 millimétert halad előre, majd a hajtáslánc segítségével jobbra fordul.
Ezzel szemben vannak nem várakozó parancsok. A nem váró parancs korlátlan ideig hajtja végre a viselkedést, vagy amíg a rendszer nem kéri, hogy váltson másik viselkedésre. Ide tartoznak az olyan parancsok, mint például a [Drive].
Az itt látható projekt BaseBotot használ. Itt a robot korlátlan ideig haladt előre, amíg meg nem nyomták a lökhárító kapcsolót. Ezután a projekt a következő parancsra vált, és a robot abbahagyja a vezetést, és 90 fokkal jobbra fordul.