Kodēšana ar VEX IQ Smart Motors

VEX IQ Smart Motor ir daudzas funkcijas, ko izmantot, kodējot VEXcode IQ. Tas var noderēt, kodējot rokas, spīles un ieplūdes atveres, kā arī piedziņas un citus mehānismus, kas izveidoti, izmantojot VEX IQ. Izpratne par to, kā motorus var kodēt, palīdzēs novērst tādas problēmas kā projektu apstāšanās vai motori, kas nedarbojas, kā paredzēts.

Motora kodētājs

VEX IQ Smart Motor ne tikai pārvērš elektrisko enerģiju mehāniskajā enerģijā, kā to dara lielākā daļa motoru, bet arī funkcijas, kuru lielākajai daļai motoru nav, kas padara to par "gudru". Viena no tā galvenajām iezīmēm ir kvadratūras kodētājs. Šis kodētājs ir uzstādīts motora iekšpusē, lai izsekotu motora vārpstas ātrumam un/vai stāvoklim.

Pārskati no VEX IQ Smart Motor kodētāja ļauj uzzināt:

  • Motora pagrieziena virziens (uz priekšu/atpakaļ vai atvērts/aizvērts)
  • Motora pozīcija un motora apgriezienu skaits un pozīcija (pagriezienos vai grādos)
  • Motora apgriezienu ātrums (pamatojoties uz kodētāja pozīciju laika gaitā)

Tā kā kodētājs ziņo par motora stāvokļiem, tos var izmantot aizkulišu aprēķinos, lai daudzas kustības un sensora komandas darbotos VEXcode IQ ietvaros.

Atsevišķu motoru kodēšana

Pirms sākat kodēt atsevišķus viedos motorus VEXcode IQ, jums ir jākonfigurē motors. Atsevišķi motori bieži tiek izmantoti papildu mehānismiem, piemēram, ieplūdes atverēm, rokām un spīlēm. Tomēr visa informācija joprojām attiecas uz citiem mehānismiem, kuros izmanto atsevišķus motorus.

VEXcode IQ ierīču izvēlne ar pievienoto ierīču sarakstu. Viedais motors ir izcelts, norādot, ka to var konfigurēt pēc tā atlasīšanas.

Izpildiet šajā norādītās darbības, lai konfigurētu savu individuālo motoru VEXcode IQ.

Ja ir konfigurēts viens motors, rīklodziņā tiks parādītas komandas, lai vadītu šo motoru. Jūs ievērosiet, ka ir dažādi komandu veidi: gaidīšana un negaidīšana.

Gaidīšanas pret negaidīšanas komandām

Ņemiet vērā, ka visos šeit esošajos attēlos ir redzami bloki. Visus šos projektus var pārbūvēt programmā Python vai C++, un tajos ir tāda pati funkcionalitāte kā blokos.

VEXcode IQ bloķē projektu, kas izmanto gaidīšanas komandas, lai vienu pēc otras pārvietotu spīļu motoru, pēc tam robotu un pēc tam roku motoru. Projekts skan Kad startējat, pagrieziet ClawMotor aizveriet par 90 grādiem. Pēc tam brauciet atpakaļgaitā 200 mm un pēc tam pagrieziet ArmMotor 180 grādu pozīcijā.

Gaidīšanas komandas neļauj projektam turpināties, līdz darbība ir pabeigta. Tie ietver tādas komandas kā [Spin ​​for] un [Spin ​​to position].

Šeit parādītajā projektā tiek izmantota Clawbot (2 motoru) veidne, un visas komandas gaida. Tātad sērijveidā spīļu motors aizvērtos par 90 grādiem, robots brauktu atpakaļgaitā, pēc tam roka pagrieztos uz augšu, lai sasniegtu 180 grādu pozīciju.

VEXcode IQ bloķē projektu, kas izmanto negaidošas komandas, lai grieztu ieplūdes motoru tieši 2 sekundes. Projekts skan Kad startējat, ieslēdziet IntakeMotor, pagaidiet 2 sekundes un pēc tam apturiet IntakeMotor.

Turpretim ir komandas, kas negaida. Komanda, kas negaida, veiks darbību uz nenoteiktu laiku vai līdz brīdim, kad tiks paziņots, ka jāmaina uz citu uzvedību. Tie ietver tādas komandas kā [Spin].

Šeit parādītajā projektā tiek izmantots BaseBot ar pievienotu ieplūdi. Šeit ieplūdes motors sāks griezties. Komanda [Gaidīt] ir gaidīšanas komanda, tāpēc ieplūde turpinātu griezties, līdz beigsies 2 sekundes, un pēc tam pāriet uz nākamo komandu projektā, kas ir komanda [Stop]. Tad motors pārstās griezties.

Motora taimauts

Kodējot motoru kā daļu no rokas vai spīles, ir svarīgi atcerēties atšķirību starp gaidīšanas un negaidīšanas blokiem un to, kā tie ietekmēs jūsu robota kustību. Motora taimauts ļauj iestatīt laika ierobežojumu, lai motors sasniegtu paredzēto mērķa pozīciju. Ja tas nav sasniedzis šo pozīciju, kad beidzas laiks, motors pārtrauks mēģināt griezties un projekts pāries uz nākamo komandu.

VEXcode IQ bloku projekts, kas izmanto motora taimauta bloku, lai pagrieztu spīļu motoru aizvērtu par 90 grādiem vai līdz ir pagājušas 2 sekundes pirms robota pārvietošanas. Projekts skan Kad startējat, iestatiet ClawMotor taimautu uz 2 sekundēm un pagrieziet ClawMotor aizveriet par 90 grādiem. Visbeidzot brauciet atpakaļgaitā 200 mm.

Šajā piemērā motora taimauts ir iestatīts uz 2 sekundēm. Ja spīle netuvojas 90 grādiem 2 sekunžu laikā, motors pārtrauks griezties pie 2 sekunžu atzīmes, pēc tam pāriet uz nākamo komandu un brauc uz priekšu.

Smadzeņu ekrāns tiek parādīts ar motora sensoru informācijas paneli, kas atvērts no izvēlnes Ierīces. Tiek parādīta informācija par motoru, piemēram, tā komanda, ātrums, pozīcija, strāva un motora viedais ports.

Ja neesat pārliecināts, cik tālu pārvietot motoru, izmantojiet sensora informācijas paneli. Informācijas panelis ziņo par motora stāvokli grādos un apgriezienos, tāpēc, pārvietojot motoru (piemēram, atverot un aizverot spīļu), skaitļi mainīsies. Izmantojiet šo testu, lai noteiktu, cik grādu vai apgriezienu ir nepieciešams, lai aizvērtu spīli, paceltu roku, pagrieztu ieplūdi utt.

Skatiet šos rakstus, lai uzzinātu, kā izmantot sensoru informācijas paneli.

Viedo motoru kodēšana kā piedziņas daļa

Pirms sākat kodēt piedziņu VEXcode IQ, jums ir jākonfigurē piedziņa, ieskaitot izmantotos motorus. Motori ir konfigurēti piedziņas sistēmā, lai nodrošinātu to vadīšanu ar tādām pašām komandām kā [Drive] un [Drive for].

Gaidīšanas un negaidīšanas komandas

Kodējot piedziņu, ir pieejamas gaidīšanas un negaidīšanas komandas, lai kontrolētu robota kustību.

VEXcode IQ bloķē projektu, kas izmanto gaidīšanas komandas, lai virzītu robotu uz priekšu un pēc tam pagrieztos pa labi vienu pēc otra. Projektā ir rakstīts Kad sākat, brauciet uz priekšu 200 mm un pēc tam pagriezieties pa labi par 90 grādiem.

Gaidīšanas komandas neļauj projektam turpināties, līdz darbība ir pabeigta. Tajos ietilpst tādas komandas kā [Braukt uz] [Pagriezties uz] un [Turn to heading].

Šeit parādītajā projektā tiek izmantota Clawbot (2 motoru) veidne, un visas komandas gaida. Tātad sērijveidā robots brauktu uz priekšu 200 milimetrus un pēc tam pagrieztos pa labi, izmantojot piedziņu.

VEXcode IQ bloķē projektu, kas izmanto negaidošu komandu, lai virzītu robotu uz priekšu, līdz tiek nospiests buferis, un pēc tam pagrieztos pa labi. Projektā ir rakstīts Kad sākts, brauciet uz priekšu, pagaidiet, līdz tiek nospiests Bumper3, un pēc tam pagriezieties pa labi par 90 grādiem.

Turpretim ir komandas, kas negaida. Komanda, kas negaida, veiks darbību uz nenoteiktu laiku vai līdz brīdim, kad tiks paziņots, ka jāmaina uz citu uzvedību. Tie ietver tādas komandas kā [Drive].

Šeit parādītais projekts izmanto BaseBot. Šeit robots brauktu uz priekšu bezgalīgi, līdz tika nospiests bufera slēdzis. Tad projekts pārietu uz nākamo komandu, un robots pārtrauks braukšanu un pagrieztos pa labi par 90 grādiem.

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

Last Updated: