Rotācijas sensors#
Ievads#
rotation klase tiek izmantota, lai kontrolētu un piekļūtu datiem no V5 rotācijas sensora.
Rotācijas sensors mēra vārpstas rotāciju. To var izmantot jebkurā robota vietā, kur rotē vārpsta, pat ja šī vārpsta nav tieši savienota ar motoru.
Motoram ir iebūvēts kodētājs, kas var izsekot tā rotāciju. Rotācijas sensors darbojas kā ārējs kodētājs, kas var izsekot atsevišķas vārpstas rotāciju.
Rotācijas sensors var atgriezt vārpstas leņķi, pozīciju un ātrumu. Leņķis ir vārpstas absolūtā pozīcija no 0 līdz 359,99 grādiem. Tas netiek atiestatīts, kad projekts sākas vai kad robots tiek izslēgts. Pozīcija izseko, cik grādus vai pagriezienus vārpsta ir pagriezusies uz priekšu vai atpakaļ projekta laikā, un to var atiestatīt pēc nepieciešamības.
Rotācijas sensors ir saderīgs ar 1/8 collu un 1/4 collu standarta VEX vārpstām.
Klases konstruktors#
rotation(
int32_t index,
bool reverse = false );
Klases iznīcinātājs#
Iznīcina rotation objektu un atbrīvo saistītos resursus.
virtual ~rotation();
Parametri#
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
Viedports, kuram ir pievienots rotācijas sensors, kas pierakstīts kā |
|
|
Pēc izvēles. Vai mainīt rotācijas sensora izejas virzienu:
|
Piemēri#
// Create a Rotation Sensor instance in Port 1
rotation Rotation1 = rotation(PORT1);
Dalībnieku funkcijas#
rotation klase ietver šādas dalībfunkcijas:
setPosition— Iestata rotācijas sensora pašreizējo pozīciju uz noteiktu vērtību.angle— Atgriež vārpstas pašreizējo leņķi no 0 līdz 359,99 grādiem.position— Atgriež, cik tālu vārpsta ir pagriezusies grādos vai pagriezienos.velocity— Atgriež vārpstas griešanās ātrumu.
Pirms jebkuru rotation dalībfunkciju izsaukšanas ir jāizveido rotation instance, kā parādīts zemāk:
// Create a Rotation Sensor instance in Port 1
rotation Rotation1 = rotation(PORT1);
setPosition#
Iestata rotācijas sensora pašreizējo pozīciju uz noteiktu vērtību.
Pozīcija norāda, cik tālu projekta laikā ir pagriezusies vārpsta. Pozīcijas iestatīšana maina pašreizējo pozīcijas vērtību, nepārvietojot vārpstu.
Available Functionsvoid setPosition(
double value,
rotationUnits units );
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
Pozīcijas vērtība, kas jāpiešķir rotācijas sensoram. Tā var būt vesels skaitlis vai decimālskaitlis. |
|
|
The position unit:
|
Šī funkcija neatgriež vērtību.
angle#
Atgriež vārpstas pašreizējo leņķi.
Leņķis norāda vārpstas absolūto pozīciju viena apgrieziena laikā no 0 līdz 359,99 grādiem. Tas netiek atiestatīts, kad projekts tiek sākts vai kad robots tiek izslēgts.
Available Functionsdouble angle( rotationUnits units = degrees );
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
Optional. The angle unit:
|
Atgriež skaitli double un tas apzīmē vārpstas pašreizējo leņķi norādītajās vienībās.
// Get the current angle of the shaft
double angle = Rotation1.angle(degrees);
// Print the current angle of the shaft to the
// Brain's screen.
Brain.Screen.print(angle);
position#
Atgriež, cik tālu ir pagriezusies vārpsta.
Atšķirībā no leņķa, pozīcija var palielināties virs 359,99 grādiem vai samazināties zem 0 grādiem. Pozīcija izseko, cik tālu projekta laikā griežas vārpsta uz priekšu vai atpakaļ, un to var atiestatīt pēc nepieciešamības.
Available Functionsdouble position( rotationUnits units );
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
The position unit:
|
Atgriež double kas apzīmē, cik tālu vārpsta ir pagriezusies norādītajās vienībās.
velocity#
Atgriež vārpstas griešanās ātrumu.
Available Functionsdouble velocity( velocityUnits units );
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
Ātruma mērvienība:
|
Atgriež skaitli double un kas apzīmē vārpstas griešanās ātrumu norādītajās mērvienībās.