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 |
|---|---|---|
|
|
Roghnach. An treo a thugann 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 Functionsdouble heading( rotationUnits units = degrees );
Paraiméadar |
Cineál |
Cur síos |
|---|---|---|
|
|
An t-aonad ceannteidil:
|
Tugann sé double a léiríonn treo reatha an braiteora sna haonaid shonraithe.
Tá luach an cheannteidil fillte idir 0 agus 359.99 céim. Úsáid
rotationchun rochtain a fháil ar an luach rothlaithe leanúnaigh.
// 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 Functionsdouble rotation( rotationUnits units = degrees );
Paraiméadar |
Cineál |
Cur síos |
|---|---|---|
|
|
An t-aonad rothlaithe:
|
Tugann sé double a léiríonn an rothlú reatha sna haonaid shonraithe.
Tá an luach rothlaithe leanúnach agus ní fhilleann sé idir 0 agus 359.99 céim. Úsáid
headingchun rochtain a fháil ar an luach ceannteidil fillte.
// 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 Functionsvoid setHeading( double value,
rotationUnits units );
Paraiméadar |
Cineál |
Cur síos |
|---|---|---|
|
|
An luach treorach, i gcéimeanna, le socrú don braiteoir. Is féidir leis seo a bheith ina luach ó 0 go 359.99. |
|
|
An t-aonad ceannteidil:
|
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 Functionsvoid setRotation( double value,
rotationUnits units );
Paraiméadar |
Cineál |
Cur síos |
|---|---|---|
|
|
An luach rothlaithe, i gcéimeanna, le socrú don braiteoir. Is féidir leis seo a bheith ina shlánuimhir nó ina dheachúil. |
|
|
An t-aonad rothlaithe:
|
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 Functionsvoid calibrate( );
Ní ghlacann an fheidhm seo le haon pharaiméadair.
Return ValuesNí thugann an fheidhm seo luach ar ais.
NotesBa chóir don braiteoir fanacht ina stad agus an calabrú ar siúl.
Úsáid
isCalibratingchun 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 Functionsvoid resetHeading();
Ní ghlacann an fheidhm seo aon pharaiméadair.
Return ValuesNí 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 Functionsvoid resetRotation();
Ní ghlacann an fheidhm seo aon pharaiméadair.
Return ValuesNí thugann an fheidhm seo luach ar ais.
isCalibrating#
Tugann sé seo ar ais an bhfuil an Braiteoir Támha á chalabrú faoi láthair.
Available Functionsbool isCalibrating();
Ní ghlacann an fheidhm seo aon pharaiméadair.
Return ValuesTugann 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 Functionsvoid changed( void (* callback)(void) );
Paraiméadar |
Cineál |
Cur síos |
|---|---|---|
|
|
Pointeoir chuig feidhm a ghlaofar nuair a athraíonn luach an cheannteidil. Ní mór don fheidhm aon pharaiméadair a ghlacadh agus |
Ní thugann an fheidhm seo luach ar ais.
ExamplesSainmhí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 Functionsbool installed();
Ní ghlacann an fheidhm seo aon pharaiméadair.
Return ValuesTugann 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.
double acceleration( axisType axis );
Paraiméadar |
Cineál |
Cur síos |
|---|---|---|
|
|
An ais le luasghéarú a thomhas air:
|
Tugann sé double ar ais a léiríonn an luasghéarú feadh an ais shonraithe i G (aonaid imtharraingthe).
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 Functionsdouble gyroRate( axisType axis,
velocityUnits units );
Paraiméadar |
Cineál |
Cur síos |
|---|---|---|
|
|
An ais chun an ráta gyro a thabhairt ar ais uaidh:
|
|
|
Aonad ráta an ghiro:
|
Tugann sé double ar ais a léiríonn an luas rothlaithe reatha feadh an ais shonraithe sna haonaid roghnaithe.
// 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 Functionsdouble orientation(
orientationType type,
rotationUnits units );
Paraiméadar |
Cineál |
Cur síos |
|---|---|---|
|
|
An uillinn treoshuímh chun filleadh:
|
|
|
An t-aonad treoshuímh:
|
Tugann sé double ais a léiríonn an uillinn threoshuímh roghnaithe sna haonaid shonraithe.
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 Functionsvoid collision( void (* callback)(axisType, double, double, double) );
Paraiméadar |
Cineál |
Cur síos |
|---|---|---|
|
|
Pointeoir chuig feidhm a ghlaofar nuair a bhraitear imbhualadh. Ní mór don fheidhm athghlaoite na paraiméadair seo a leanas a ghlacadh:
void a thabhairt ar ais. |
Ní thugann an fheidhm seo luach ar ais.
ExamplesSainmhí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 Functionsvoid setTurnType( turnType dir );
Paraiméadar |
Cineál |
Cur síos |
|---|---|---|
|
|
An treo a thugann luachanna dearfacha ar ais:
|
Ní thugann an fheidhm seo luach ar ais.
NotesBíonn tionchar ag an socrú seo ar an gcaoi a dtuairiscíonn
headingagusrotationluachanna dearfacha agus diúltacha.Sáraítear an luach
dira sonraíodh agus an réadinertialá thógáil nuair a ghlaotar an fheidhm seo.
getTurnType#
Tugann tuairisceáin a chasann treo luachanna dearfacha.
Available FunctionsturnType getTurnType();
Ní ghlacann an fheidhm seo aon pharaiméadair.
Return ValuesTugann 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.
Socraítear an luach seo le linn tógáil an réada
inertialnó trí ghlaoch a chur arsetTurnType.