Mesafe Ölçer#

giriiş#

sonar sınıfı, ses dalgalarını kullanarak en yakın nesneye olan mesafeyi ölçen Ultrasonik Mesafe Ölçer ile birlikte kullanılır. Ultrasonik bir darbe göndererek ve sesin geri yansıması için geçen süreyi ölçerek çalışır.

VEX EXP Mesafe Ölçer.

Sınıf Oluşturucu#

sonar(
  triport::port &port);

Sınıf Yıkıcısı#

sonar nesnesini yok eder ve ilgili kaynakları serbest bırakır.

virtual ~sonar();

Parametreler#

Parametre

Tip

Tanım

port

triport::port &

Menzil Bulucu tarafından kullanılan gerekli iki portlu grubun ilk 3-Kablolu Portu. Menzil Bulucu, Beyin veya 3-Kablolu Genişletici üzerinde iki bitişik portu (A–B, C–D, E–F veya G–H) işgal eder. Çiftteki ilk portu (A, C, E veya G) Brain.ThreeWirePort.X veya ExpanderName.X şeklinde belirtin; burada X port harfidir (örneğin, Brain.ThreeWirePort.A veya Expander1.C).

Örnekler#

// Create a sonar instance in Ports A and B
sonar RangeFinderA = sonar(Brain.ThreeWirePort.A);

Üye Fonksiyonları#

sonar sınıfı aşağıdaki üye fonksiyonlarını içerir:

  • foundObject — Aralık Bulucunun bir nesne algılayıp algılamadığını döndürür.

  • distance — Menzil Bulucu ile en yakın tespit edilen nesne arasındaki mesafeyi döndürür.

sonar üye fonksiyonunu çağırmadan önce, aşağıda gösterildiği gibi bir sonar örneği oluşturulmalıdır:

/* 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#

Mesafe ölçerinin görüş alanında bir nesne algılayıp algılamadığını döndürür.

Available Functions
bool foundObject();

Parameters

Bu fonksiyon herhangi bir parametre kabul etmez.

Return Values

Range Finder’ın bir nesne algılayıp algılamadığını gösteren bool boolean değeri döndürür:

  • true — Mesafe ölçer bir nesne algılıyor.

  • false — Mesafe ölçer bir nesne algılamıyor.

Examples
// 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#

Sensör tarafından algılanan en yakın nesneye olan ölçülen mesafeyi döndürür.

Available Functions
double distance(
  distanceUnits units );

Parameters

Parametre

Tip

Tanım

units

distanceUnits

Mesafe birimi: inches veya mm milimetre.

Return Values

Belirtilen birimlerdeki mesafeyi temsil eden double bir double değeri döndürür.

Examples
// 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);