Diapazona meklētājs#
Ievads#
sonar tiek izmantots ar ultraskaņas tālmēru, kas mēra attālumu līdz tuvākajam objektam, izmantojot skaņas viļņus. Tas darbojas, nosūtot ultraskaņas impulsu un mērot, cik ilgs laiks nepieciešams, lai skaņa atstarotos atpakaļ.

Klases konstruktors#
sonar(
triport::port &port);
Klases iznīcinātājs#
Iznīcina sonar objektu un atbrīvo saistītos resursus.
virtual ~sonar();
Parametri#
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
Pirmais 3 vadu ports no nepieciešamās divu portu grupas, ko izmanto diapazona meklētājs. Diapazona meklētājs aizņem divus blakus esošus portus (A–B, C–D, E–F vai G–H) vai nu smadzenēs, vai 3 vadu paplašinātājā. Norādiet pirmo portu pārī (A, C, E vai G), kas pierakstīts kā |
Piemēri#
// Create a sonar instance in Ports A and B
sonar RangeFinderA = sonar(Brain.ThreeWirePort.A);
Dalībnieku funkcijas#
sonar klasē ir iekļautas šādas dalībfunkcijas:
foundObject— Atgriež, vai diapazona meklētājs atrod objektu.distance— Atgriež attālumu starp tālmēru un tuvāko noteikto objektu.
Pirms jebkuru sonar dalībfunkciju izsaukšanas ir jāizveido sonar instance, kā parādīts zemāk:
/* This constructor is required when using VS Code.
Range Finder configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */
// Create a sonar instance in Ports A and B
sonar RangeFinderA = sonar(Brain.ThreeWirePort.A);
foundObject#
Atgriež, vai diapazona meklētājs savā redzes laukā atrod objektu.
Available Functionsbool foundObject();
Šī funkcija nepieņem nekādus parametrus.
Return ValuesAtgriež bool kas apzīmē, vai diapazona meklētājs atrod objektu:
true— Tālummaiņas meklētājs nosaka objektu.false— Tālummaiņas meklētājs neuztver objektu.
// Check if an object is detected.
if (RangeFinderA.foundObject()){
// Print to screen on the brain that an object was found.
Brain.Screen.print("object found");
}
distance#
Atgriež izmērīto attālumu līdz tuvākajam sensora noteiktajam objektam.
Available Functionsdouble distance(
distanceUnits units );
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
Mērvienība, kas attēlo attālumu: |
Atgriež skaitli double un kas apzīmē attālumu norādītajās mērvienībās.
// Get the Range Finder distance in millimeters.
double value = RangeFinderA.distance(mm);
// Print the current distance detected by the Range Finder to the
// Brain's screen.
Brain.Screen.print(value);