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.

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 |
|---|---|---|
|
|
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) |
Ö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 Functionsbool foundObject();
Bu fonksiyon herhangi bir parametre kabul etmez.
Return ValuesRange 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.
// 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 Functionsdouble distance(
distanceUnits units );
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
Mesafe birimi: |
Belirtilen birimlerdeki mesafeyi temsil eden double bir double değeri döndürür.
// 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);