Kódolás VEX IQ Smart Motors segítségével

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.

VEXcode IQ Devices menü a csatlakoztatott eszközök listájával. Egy intelligens motor ki van emelve, jelezve, hogy a kiválasztása után konfigurálható.

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.

VEXcode IQ blokkok projekt, amely várakozási parancsok segítségével mozgatja egymás után a körmös motort, majd a robotot, majd a karmotort. A projekt így szól: Indításkor forgassa el a ClawMotort 90 fokkal. Ezután vezessen hátrafelé 200 mm-t, majd forgassa el az ArmMotort 180 fokos helyzetbe.

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.

A VEXcode IQ blokkok olyan projektek, amelyek nem várakozó parancsokat használnak a szívómotor pontos 2 másodperces forgatásához. A projekten a következő olvasható: Indításkor forgassa be az IntakeMotort, várjon 2 másodpercet, majd állítsa le az IntakeMotort.

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.

A VEXcode IQ blokkok olyan projektek, amelyek egy motor időtúllépési blokk segítségével forgatják a körmös motort 90 fokkal, vagy amíg 2 másodperc el nem telik a robot mozgatása előtt. A projekt így szól: Amikor elindul, állítsa be a ClawMotor időtúllépését 2 másodpercre, és forgassa el a ClawMotort 90 fokkal. Végül hajtson hátra 200 mm-re.

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.

Az Agy képernyője az Eszközök menüből megnyitott motorérzékelő műszerfallal jelenik meg. Információk jelennek meg a motorról, például a parancsról, a sebességről, a pozícióról, az áramerősségről és a motor intelligens portjáról.

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 VEXcode IQ blokkolja azt a projektet, amely várakozási parancsokkal hajtja előre a robotot, majd egymás után jobbra fordul. A projekt így szól: Indításkor hajtson előre 200 mm-t, majd forduljon jobbra 90 fokkal.

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.

A VEXcode IQ blokkolja azt a projektet, amely nem várakozó parancsot használ a robot előrehajtására, amíg meg nem nyomja a lökhárítót, majd jobbra fordul. A projekten a következő olvasható: Indításkor hajtson előre, várja meg, amíg a Lökhárító3 megnyomja, majd forduljon jobbra 90 fokkal.

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.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: