Braiteoir Támha#

Réamhrá#

Úsáidtear an rang inertial chun sonraí a rialú agus rochtain a fháil orthu ó Braiteoir Inertial ionsuite an IQ (2ú glúin) Brain. Tomhaiseann an braiteoir seo conas atá an Inchinn ag bogadh agus ag casadh.

Úsáideann an Braiteoir Támha dhá chuid chun seo a dhéanamh. Tomhaiseann an giroscóp casadh, amhail treo, rothlú, ráta giroscóp, agus treoshuíomh. Tomhaiseann an luasghéaraitheoir athruithe i ngluaiseacht, amhail luasghéarú nó moilliú feadh na n-aiseanna x, y, agus z.

Tógálaithe Ranga#

inertial(
  turnType dir = turnType::right );

Scriostóir Ranga#

Scriosann sé an réad táimhe inertial agus scaoileann sé acmhainní gaolmhara.

~inertial();

Paraiméadair#

Paraiméadar

Cineál

Cur síos

dir

turnType

Roghnach. An treo a thugann luachanna dearfacha ar ais:

  • right (réamhshocraithe) — Tugann casadh ar dheis luachanna dearfacha ar ais.
  • left — Tugann casadh ar chlé luachanna dearfacha ar ais.

Samplaí#

// Create the inertial instance
inertial myInertial = inertial(
    right);     // dir

Feidhmeanna na mBall#

Áirítear leis an rang inertial na feidhmeanna ball seo a leanas:

  • heading — Tugann sé seo an treo ina bhfuil an braiteoir ag tabhairt aghaidh.

  • rotation — Tugann sé seo ar ais cé chomh fada agus atá an braiteoir casta.

  • setHeading — Socraíonn sé seo luach treorach nua do threo reatha an braiteora.

  • setRotation — Socraíonn sé rothlú reatha an braiteora go luach rothlaithe nua.

  • calibrate — Calabraíonn sé an Braiteoir Támha.

  • resetHeading — Athshocraíonn sé treo reatha an braiteora go 0 céim.

  • resetRotation — Athshocraíonn sé rothlú reatha an braiteora go 0 céim.

  • isCalibrating — Tugann sé seo ar ais an bhfuil an Braiteoir Támha ag calabrú faoi láthair.

  • changed — Cláraíonn sé feidhm athghlaoite a ritheann nuair a athraíonn an ceannteideal.

  • installed — Tugann sé seo ar ais an bhfuil an Braiteoir Támha suiteáilte.

  • acceleration — Tugann sé seo ar ais cé chomh tapa agus atá an braiteoir ag luasghéarú nó ag moilliú ar an ais roghnaithe.

  • gyroRate — Tugann sé seo ar ais cé chomh tapa agus atá an braiteoir ag rothlú ar an ais roghnaithe.

  • orientation — Tugann sé seo uillinn rolla, claonta nó luascadh an Braiteora Támha ar ais.

  • collision — Cláraíonn sé feidhm athghlaoite a ritheann nuair a bhraitear imbhualadh.

  • setTurnType — Socraíonn sé cén treo casadh a thugann luachanna dearfacha ceannlíne ar ais.

  • getTurnType — Tuairisceáin a thugann luachanna dearfacha don treo casaidh.

Sula nglaotar ar aon fheidhmeanna inertial bhall, ní mór sampla inertial a chruthú, mar a thaispeántar thíos:

/* This constructor is required when using VS Code.
Inertial Sensor configuration is generated automatically
in VEXcode with the IQ (2nd gen) Brain. Replace the values
as needed. */

// Create the inertial instance
inertial myInertial = inertial();

heading#

Is é treo an braiteora an treo ina bhfuil sé ag tabhairt aghaidh, agus é á thomhas i gcéimeanna ó 0 go 359.99. Tugann an fheidhm seo treo reatha an braiteora ar ais.

Is é 0 céim an treo tosaigh. Má chasann an braiteoir thar 359.99 céim, fillteann an treo ar ais go 0 céim.

Available Functions
double heading( rotationUnits units = degrees );

Parameters

Paraiméadar

Cineál

Cur síos

units

rotationUnits

An t-aonad ceannteidil:

  • deg / degrees (réamhshocraithe) — céimeanna
  • turns / rev — réabhlóidí

Return Values

Tugann sé double a léiríonn treo reatha an braiteora sna haonaid shonraithe.

Notes
  • Tá luach an cheannteidil fillte idir 0 agus 359.99 céim. Úsáid rotation chun rochtain a fháil ar an luach rothlaithe leanúnaigh.

Examples
// Turn, then show the current heading
Drivetrain.turnFor(right, 450, degrees);
Brain.Screen.print("%f", myInertial.heading(degrees));

rotation#

Tugann sé seo rothlú reatha an Braiteora Táimhe ar ais.

Is é rothlú an méid atá casadh déanta ag an braiteoir. Murab ionann agus treo, is féidir le rothlú méadú thar 359.99 céim nó laghdú faoi bhun 0 céim. Mar shampla, má dhéantar dhá chasadh iomlána ar dheis, faightear rothlú 720 céim. Má chasann tú casadh iomlán amháin ar chlé ó 0 céim, faightear rothlú -360 céim.

Available Functions
double rotation( rotationUnits units = degrees );

Parameters

Paraiméadar

Cineál

Cur síos

units

rotationUnits

An t-aonad rothlaithe:

  • deg / degrees (réamhshocraithe) — céimeanna
  • turns / rev — réabhlóidí

Return Values

Tugann sé double a léiríonn an rothlú reatha sna haonaid shonraithe.

Notes
  • Tá an luach rothlaithe leanúnach agus ní fhilleann sé idir 0 agus 359.99 céim. Úsáid heading chun rochtain a fháil ar an luach ceannteidil fillte.

Examples
// Turn, then show the current rotation
Drivetrain.turnFor(right, 450, degrees);
Brain.Screen.print("%f", myInertial.rotation(degrees));

setHeading#

Is é treo an braiteora ná an treo ina bhfuil sé ag tabhairt aghaidh, agus é á thomhas i gcéimeanna ó 0 go 359.99. Athraíonn an fheidhm seo treo reatha an Braiteora Támha go luach treo nua.

Mar shampla, má tá an braiteoir casadh chun aghaidh a thabhairt ar dheis, má shocraítear an treo go 0 céim, beidh an suíomh sin atá ag tabhairt aghaidh ar dheis mar an 0 céim nua. Ansin, is féidir leis an braiteoir treonna eile a rianú bunaithe ar an treo nua sin.

Available Functions
void setHeading( double        value,
                 rotationUnits units );

Parameters

Paraiméadar

Cineál

Cur síos

value

double

An luach treorach, i gcéimeanna, le socrú don braiteoir. Is féidir leis seo a bheith ina luach ó 0 go 359.99.

units

rotationUnits

An t-aonad ceannteidil:

  • deg / degrees — céimeanna
  • turns / rev — réabhlóidí

Return Values

Ní thugann an fheidhm seo luach ar ais.

Examples
// Turn the robot around
myInertial.setHeading(180, degrees);
Drivetrain.turnToHeading(0, degrees);

setRotation#

Socraíonn sé rothlú reatha an Braiteora Támha go luach sonraithe.

Is é rothlú an méid atá an braiteoir casta. Murab ionann agus treo, is féidir le rothlú méadú thar 359.99 céim nó laghdú faoi bhun 0 céim.

Available Functions
void setRotation( double        value,
                  rotationUnits units );

Parameters

Paraiméadar

Cineál

Cur síos

value

double

An luach rothlaithe, i gcéimeanna, le socrú don braiteoir. Is féidir leis seo a bheith ina shlánuimhir nó ina dheachúil.

units

rotationUnits

An t-aonad rothlaithe:

  • deg / degrees — céimeanna
  • turns / rev — réabhlóidí

Return Values

Ní thugann an fheidhm seo luach ar ais.

Examples
// Turn the robot around
myInertial.setRotation(-180, degrees);
Drivetrain.turnToRotation(0, degrees);

calibrate#

Calabraíonn an Braiteoir Támha.

Cuidíonn calabrú leis an braiteoir casadh a thomhas i gceart. Coinnigh an braiteoir socair le linn calabrúcháin. Má bhogann an braiteoir le linn calabrúcháin, b’fhéidir nach dtomhaisfear luachanna treo, rothlaithe, ráta gyro, agus treoshuímh i gceart.

Available Functions
void calibrate( );

Parameters

Ní ghlacann an fheidhm seo le haon pharaiméadair.

Return Values

Ní thugann an fheidhm seo luach ar ais.

Notes
  • Ba chóir don braiteoir fanacht ina stad agus an calabrú ar siúl.

  • Úsáid isCalibrating chun a chinneadh cathain a bheidh an calabrú críochnaithe.

resetHeading#

Athshocraíonn sé treo reatha an Braiteora Támha go 0 céim.

Tar éis an fheidhm seo a úsáid, is é treo reatha an braiteora an treo nua 0 céim.

Available Functions
void resetHeading();

Parameters

Ní ghlacann an fheidhm seo aon pharaiméadair.

Return Values

Ní thugann an fheidhm seo luach ar ais.

resetRotation#

Athshocraíonn sé rothlú reatha an Braiteora Támha go 0 céim.

Tar éis an fheidhm seo a úsáid, déanann an braiteoir rianú ar chasadh amach anseo ón luach rothlaithe 0 céim nua.

Available Functions
void resetRotation();

Parameters

Ní ghlacann an fheidhm seo aon pharaiméadair.

Return Values

Ní thugann an fheidhm seo luach ar ais.

isCalibrating#

Tugann sé seo ar ais an bhfuil an Braiteoir Támha á chalabrú faoi láthair.

Available Functions
bool isCalibrating();

Parameters

Ní ghlacann an fheidhm seo aon pharaiméadair.

Return Values

Tugann sé seo Boolean ar ais a léiríonn an bhfuil an Braiteoir Támha ag calabrú:

  • true — The sensor is currently calibrating.
  • false — The sensor is not currently calibrating.

changed#

Cláraíonn sé feidhm athghlaoite a ritheann nuair a athraíonn luach ceannlíne an Braiteora Támha.

Available Functions
void changed( void (* callback)(void) );

Parameters

Paraiméadar

Cineál

Cur síos

callback

void (*)(void)

Pointeoir chuig feidhm a ghlaofar nuair a athraíonn luach an cheannteidil. Ní mór don fheidhm aon pharaiméadair a ghlacadh agus void a thabhairt ar ais.

Return Values

Ní thugann an fheidhm seo luach ar ais.

Examples

Sainmhínigh an fheidhm athghlaoite (lasmuigh de int main())

// Display the heading when the Inertial Sensor's heading value changes.
void onHeadingChanged() {
  Brain.Screen.clearScreen();
  Brain.Screen.setCursor(1, 1);
  Brain.Screen.print("Heading: %.2f", myInertial.heading());
}

Cláraigh an glao ar ais taobh istigh de int main()

int main() {
  // Run onHeadingChanged when the Inertial Sensor's heading value changes.
  myInertial.changed(onHeadingChanged);
}

installed#

Tugann sé seo ar ais cibé an bhfuil an Braiteoir Támha suiteáilte agus ceangailte.

Available Functions
bool installed();

Parameters

Ní ghlacann an fheidhm seo aon pharaiméadair.

Return Values

Tugann sé seo luach Booleánach ar ais a léiríonn an bhfuil an Braiteoir Támha suiteáilte agus ceangailte:

  • true — The sensor is connected and responding.
  • false — The sensor is not connected or not detected.

acceleration#

Is é luasghéarú cé chomh tapa agus atá an braiteoir ag luasghéarú nó ag moilliú. Tugann an fheidhm seo luasghéarú an Braiteora Támha ar an ais roghnaithe ar ais, ó -4.0 G go 4.0 G.

Is aonad é G a úsáidtear chun luasghéarú a thomhas. Is ionann 1 G agus an luasghéarú a bhraitheann tú ón domhantarraingt agus tú i do shuí go socair. Is féidir leis an luach a bheith dearfach nó diúltach ag brath ar threo an luasghéaraithe ar an ais roghnaithe.

Available Functions
double acceleration( axisType axis );

Parameters

Paraiméadar

Cineál

Cur síos

axis

axisType

An ais le luasghéarú a thomhas air:

  • xaxis
  • yaxis
  • zaxis

Return Values

Tugann sé double ar ais a léiríonn an luasghéarú feadh an ais shonraithe i G (aonaid imtharraingthe).

Notes
  • Tuairiscítear luachanna luasghéaraithe in aonaid de G.

gyroRate#

Is é ráta an ghiro cé chomh tapa agus atá an Braiteoir Támha ag rothlú. Tugann an fheidhm seo luas rothlaithe reatha an Braiteora Támha ar an ais roghnaithe ar ais.

Is féidir leis an luach a bheith dearfach nó diúltach ag brath ar an treo a bhfuil an braiteoir ag rothlú ar an ais sin.

Available Functions
double gyroRate( axisType      axis,
                 velocityUnits units );

Parameters

Paraiméadar

Cineál

Cur síos

axis

axisType

An ais chun an ráta gyro a thabhairt ar ais uaidh:

  • xaxis
  • yaxis
  • zaxis

units

velocityUnits

Aonad ráta an ghiro:

  • dps — céimeanna in aghaidh an tsoicind
  • rpm — réabhlóidí in aghaidh an nóiméid

Return Values

Tugann sé double ar ais a léiríonn an luas rothlaithe reatha feadh an ais shonraithe sna haonaid roghnaithe.

Examples
// Display the rate of change of rotation while turning in dps
Drivetrain.turn(right);
wait(1, seconds);

Brain.Screen.print(myInertial.gyroRate(zaxis, dps));

Drivetrain.stop();

orientation#

Is é treoshuíomh uillinn reatha an Braiteora Támha ar ais rothlach roghnaithe. Tugann an fheidhm seo treoshuíomh reatha an Braiteora Támha ar ais don ais shonraithe.

Déanann rolladh, claonadh, agus luascadh cur síos ar bhealaí éagsúla inar féidir leis an braiteoir claonadh nó casadh.

Available Functions
double orientation(
  orientationType type,
  rotationUnits   units );

Parameters

Paraiméadar

Cineál

Cur síos

type

orientationType

An uillinn treoshuímh chun filleadh:

  • pitch
  • roll
  • yaw

units

rotationUnits

An t-aonad treoshuímh:

  • deg / degrees — céimeanna
  • turns / rev — réabhlóidí

Return Values

Tugann sé double ais a léiríonn an uillinn threoshuímh roghnaithe sna haonaid shonraithe.

Examples
while (true) {
  Brain.Screen.clearScreen();
  Brain.Screen.setCursor(1,1);
  // Show the Inertial Sensor's orientation value
  // for roll in degrees
  double orient = myInertial.orientation(roll, deg);
  Brain.Screen.print("%f", orient);
  wait(0.1, seconds);
}

collision#

Cláraíonn sé feidhm athghlaoite a ritheann nuair a bhraitheann an Braiteoir Támha tionchar nó imbhualadh tobann.

Available Functions
void collision( void (* callback)(axisType, double, double, double) );

Parameters

Paraiméadar

Cineál

Cur síos

callback

void (*)(axisType, double, double, double)

Pointeoir chuig feidhm a ghlaofar nuair a bhraitear imbhualadh. Ní mór don fheidhm athghlaoite na paraiméadair seo a leanas a ghlacadh:

  • axisType — An ais ar a braitheadh ​​an imbhualadh.
  • Luachanna luasghéaraithe tráth an imbhuailte, in ord:
    • double — Luasghéarú feadh an ais-x (i G).
    • double — Luasghéarú feadh an ais-y (i G).
    • double — Luasghéarú feadh an ais-z (i G).
Ní mór don fheidhm void a thabhairt ar ais.

Return Values

Ní thugann an fheidhm seo luach ar ais.

Examples

Sainmhínigh an fheidhm athghlaoite (lasmuigh de int main())

// Display a message when the Inertial Sensor detects a collision.
void onCollision(axisType axis, double x, double y, double z) {
  Brain.Screen.print("Collision detected!");
}

Cláraigh an glao ar ais taobh istigh de int main()

int main() {
  // Run onCollision when the Inertial Sensor detects a collision.
  myInertial.collision(onCollision);
}

setTurnType#

Tacair a thugann luachanna dearfacha ar ais i dtreo casadh.

Available Functions
void setTurnType( turnType dir );

Parameters

Paraiméadar

Cineál

Cur síos

dir

turnType

An treo a thugann luachanna dearfacha ar ais:

  • right
  • left

Return Values

Ní thugann an fheidhm seo luach ar ais.

Notes
  • Bíonn tionchar ag an socrú seo ar an gcaoi a dtuairiscíonn heading agus rotation luachanna dearfacha agus diúltacha.

  • Sáraítear an luach dir a sonraíodh agus an réad inertial á thógáil nuair a ghlaotar an fheidhm seo.

getTurnType#

Tugann tuairisceáin a chasann treo luachanna dearfacha.

Available Functions
turnType getTurnType();

Parameters

Ní ghlacann an fheidhm seo aon pharaiméadair.

Return Values

Tugann sé seo turnType ar ais a léiríonn cén treo a tháirgeann luachanna dearfacha:

  • right — Clockwise rotation returns positive values.
  • left — Counterclockwise rotation returns positive values.
Notes