Koodaus VEX IQ Smart Motorsilla

VEX IQ Smart Motorissa on monia toimintoja, joita voidaan käyttää koodattaessa VEXcode IQ:ssa. Tästä voi olla hyötyä koodattaessa käsivarsia, kynsiä ja imuaukkoja sekä voimansiirtoja ja muita VEX IQ:lla luotuja mekanismeja. Moottoreiden koodaamisen ymmärtäminen auttaa lievittämään ongelmia, kuten projektien pysähtymistä tai moottoreita, jotka eivät toimi suunnitellusti.

Moottorin kooderi

VEX IQ Smart Motor ei ainoastaan ​​muuta sähköenergiaa mekaaniseksi energiaksi, kuten useimmat moottorit tekevät, vaan siinä on myös ominaisuuksia, joita useimmissa moottoreissa ei ole, mikä tekee siitä "älykkään". Yksi sen pääominaisuuksista on kvadratuurienkooderi. Tämä anturi on asennettu moottorin sisäosaan moottorin nopeuden ja/tai moottorin akselin asennon seuraamiseksi.

VEX IQ Smart Motorin kooderin raportit antavat mahdollisuuden tietää:

  • Moottorin pyörimissuunta (eteen/taakse tai auki/kiinni)
  • Moottorin asento ja moottorin kierrosluku ja asento (joko käännöksissä tai asteina)
  • Moottorin kierrosnopeus (anturin sijainnin perusteella ajan kuluessa)

Koska kooderi raportoi moottorin tilat, niitä voidaan käyttää kulissien takana tehtävissä laskelmissa, jotta monet liike- ja tunnistuskomennot toimisivat VEXcode IQ:ssa.

Yksittäisten moottoreiden koodaus

Ennen kuin alat koodata yksittäisiä älymoottoreita VEXcode IQ:ssa, sinun on konfiguroitava moottori. Yksittäisiä moottoreita käytetään usein lisämekanismeihin, kuten imuaukkoihin, käsivarsiin ja kynsiin. Kaikki tiedot kuitenkin koskevat muita yksittäisiä moottoreita käyttäviä mekanismeja.

Kun yksi moottori on määritetty, komennot kyseisen moottorin ohjaamiseksi näkyvät Toolboxissa. Huomaat, että on olemassa erilaisia ​​komentoja: odottaa ja ei-odota.

Odottava versus ei-odottava komennot

Huomaa, että kaikki kuvat tässä näyttävät lohkoja. Kaikki nämä projektit voidaan rakentaa uudelleen Pythonilla tai C++:lla ja sisältävät samat toiminnot kuin lohkot.

VEXcode IQ -lohkoprojekti, joka käyttää odotuskomentoja siirtääkseen kynsimoottoria, sitten robottia ja sitten käsivarsimoottoria peräkkäin. Projektissa lukee Kun aloitat, pyöritä ClawMotoria kiinni 90 astetta. Peruuta seuraavaksi 200 mm ja pyöritä sitten ArmMotoria 180 astetta.

Odottavat komennot estävät projektia jatkamasta, kunnes toiminta on valmis. Näitä ovat komennot, kuten [Spin ​​for] ja [Spin ​​to position].

Tässä näkyvä projekti käyttää Clawbot (2-moottorinen) -mallia ja kaikki komennot odottavat. Joten sarjassa kynsimoottori sulkeutuisi 90 astetta, robotti ajaisi taaksepäin, sitten käsi pyörisi ylös saavuttaakseen 180 astetta.

VEXcode IQ estää projektin, joka käyttää ei-odottavia komentoja imumoottorin pyörittämiseen täsmälleen 2 sekunnin ajan. Projektissa lukee Kun aloitat, pyöritä IntakeMotor sisään, odota 2 sekuntia ja pysäytä IntakeMotor.

Sitä vastoin on ei-odottavia komentoja. Ei-odottava komento suorittaa käyttäytymisen määräämättömän ajan tai kunnes käsketään vaihtaa toiseen käyttäytymiseen. Näitä ovat komennot, kuten [Spin].

Tässä näkyvä projekti käyttää BaseBotia, johon on lisätty sisäänotto. Täällä imumoottori alkaisi pyöriä. [Odota]-komento on odotuskomento, joten imu jatkaisi pyörimistä, kunnes 2 sekuntia on kulunut, ja siirtyy sitten projektin seuraavaan komentoon, joka on [Stop]-komento. Sitten moottori lakkasi pyörimästä.

Moottorin aikakatkaisut

Kun koodaat moottoria osaksi käsivartta tai kynsiä, on tärkeää muistaa odottavien ja ei-odottavien lohkojen välinen ero ja kuinka ne vaikuttavat robotin liikkeisiin. Moottorin aikakatkaisujen avulla voit asettaa aikarajan, jonka aikana moottori saavuttaa aiotun kohdeaseman. Jos se ei ole saavuttanut tätä asentoa ajan kuluttua, moottori lopettaa pyörimisen ja projekti siirtyy seuraavaan komentoon.

VEXcode IQ -lohkoprojekti, joka käyttää moottorin aikakatkaisulohkoa pyörittämään kynsimoottoria kiinni 90 astetta tai kunnes 2 sekuntia on kulunut ennen robotin siirtämistä. Projekti lukee Kun aloitat, aseta ClawMotorin aikakatkaisu 2 sekuntiin ja käännä ClawMotoria kiinni 90 astetta. Lopuksi peruuta 200 mm.

Tässä esimerkissä moottorin aikakatkaisuksi on asetettu 2 sekuntia. Jos kynsi ei lähelle 90 astetta 2 sekunnin sisällä, moottori lopettaa pyörimisen 2 sekunnin kohdalla ja siirtyy seuraavaan komentoon ja ajaa eteenpäin.

Aivot-näyttö näytetään, kun Motor Sensor Dashboard on avattu Laitteet-valikosta. Moottorista näytetään tietoja, kuten sen komento, nopeus, sijainti, virta ja moottorin Smart Port.

Jos et ole varma kuinka kauas moottoria on siirrettävä, käytä anturin kojelautaa. Kojelauta ilmoittaa moottorin sijainnin asteina ja kierroksina, joten kun liikutat moottoria (kuten kynsiä avaamalla ja sulkemalla), numerot muuttuvat. Tämän testin avulla voit määrittää, kuinka monta astetta tai kiertoa tarvitaan kynnen sulkemiseen, käsivarren nostamiseen, imuaukon pyörittämiseen jne.

Näistä artikkeleista opit käyttämään anturin kojelautaa.

Älykkäiden moottoreiden koodaus osana voimansiirtoa

Ennen kuin alat koodata voimansiirtoa VEXcode IQ:ssa, sinun on konfiguroitava voimansiirto mukaan lukien käytetyt moottorit. Moottorit on konfiguroitu voimansiirtoon sen varmistamiseksi, että niitä ohjataan samoilla komennoilla, kuten [Drive] ja [Drive for].

Odottavat ja odottamattomat komennot

Voimansiirtoa koodattaessa ovat käytettävissä odottavat ja odottamattomat komennot robotin liikkeen ohjaamiseksi.

VEXcode IQ estää projektin, joka käyttää odotuskomentoja ajamaan robottia eteenpäin ja kääntymään sitten oikealle peräkkäin. Projektissa lukee Kun aloitat, aja eteenpäin 200 mm ja käänny sitten oikealle 90 astetta.

Odottavat komennot estävät projektia jatkamasta, kunnes toiminta on valmis. Näitä ovat komennot, kuten [Aja] [Käänny] ja [Turn to heading].

Tässä näkyvä projekti käyttää Clawbot (2-moottorinen) -mallia ja kaikki komennot odottavat. Joten sarjassa robotti ajaisi eteenpäin 200 millimetriä ja kääntyi sitten oikealle käyttämällä voimansiirtoa.

VEXcode IQ estää projektin, joka käyttää odottamatonta komentoa ajamaan robottia eteenpäin, kunnes puskuria painetaan, ja käänny sitten oikealle. Projektissa lukee Kun aloitat, aja eteenpäin, odota, kunnes Puskuri3 painaa, ja käänny sitten oikealle 90 astetta.

Sitä vastoin on ei-odottavia komentoja. Ei-odottava komento suorittaa käyttäytymisen määräämättömän ajan tai kunnes käsketään vaihtaa toiseen käyttäytymiseen. Näitä ovat komennot, kuten [Drive].

Tässä näkyvä projekti käyttää BaseBotia. Täällä robotti ajaisi eteenpäin loputtomasti, kunnes puskurin kytkintä painettiin. Sitten projekti siirtyisi seuraavaan komentoon ja robotti lopettaisi ajamisen ja kääntyisi oikealle 90 astetta.

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

Last Updated: