Arduino İle TOF200C Mesafe Sensörü Kullanımı
Bu yazımızda daha önce kullanımını öğrendiğimiz TOF400c’nin bir diğer versiyonu olan TOF200C’yi öğreneceğiz. Tof200c kullanımı çok kolay, küçük ve milimetrik ölçüm yapan bir sensördür. Hata payının diğer sensörlere göre daha düşük olması sebebiyle tercih edilmektedir.
Bu yazımızın videosunu aşağıdan da izleyerek öğrenebilirsiniz. 🙂
Daha önceden Tof400c’yi öğrenmiştik. Eğer o yazımızı okumak isterseniz aşağıdan ulaşabilirsiniz.
İlk olarak sensörümüze bir bakalım.


TOF200C, VL53L0X sensörüne dayalı bir mesafe sensörüdür. VL53L0X, kızılötesi lazer ışığı kullanarak bir nesneye olan mesafeyi ölçen çok küçük bir Uçuş Süresi Mesafe Sensörü (Time-of-Flight Distance Sensor-ToF) sensörüdür. Işığın bir nesneden yansıması için geçen süreyi ölçerek mesafeleri yüksek doğrulukla hesaplayabilir. Sensörün kompakt boyutu ve düşük güç tüketimi, robotik, jest tanıma ve yakınlık algılama dahil olmak üzere çok çeşitli DIY projeleri için uygun hale getirir.
Tof200c Mesafe Sensörü Boyutları

Tof200C Mesafe Sensörü Özellikleri
Aralık | 3-200cm |
Ölü bölge | 0-3cm |
Haberleşme Protokolü | I2C |
I2C adresi | 0x29 |
Görüş Açısı (FOV) | 25° |
Çalışma Voltajı | 3-5V |
Akım tüketimi | 40 mA |
Dalga Boyu | 940nm |
Çalışma sıcaklığı | -20-70°C |
VL53L0X Sensörünün Özellikleri
VL53L0X’in kendisi, üstünde iki delik bulunan küçük bir çiptir (4,4 x 2,4 x 1,0 mm). Biri lazer ışık yayıcısı için, diğeri ışık dedektörü için. Aşağıdaki resim çipi göstermektedir:

VL53L0X, emitörden bir lazer ışığı artı göndererek, dedektördeki bir nesneden yansıyan ışığı alarak ve geçen zamana (uçuş süresi) dayanarak nesneye olan mesafeyi hesaplayarak çalışır. Aşağıdaki resim emitör ve dedektör konilerini gösterir.

- 940 nm VCSEL yayıcı (IR ışık, gözle görülemez)
- Ölçüm süresi 30ms’dir.
- 2m’ye kadar ölçüm mesafesi vardır.
- Düşük ışıklı, düşük kontrastlı sahnelerde çalışır.
- Çalışma Voltajı: 2.6V – 5.5V
- I2C haberleşme arayüzüne sahiptir.
Sensörün datasheetine aşağıdan ulaşabilirsiniz.
VL53L0X sensörünü eğer kendi pcblerinizde kullanmak isterseniz bağlantı şeması aşağıdaki gibidir.

SDA ve SCL, I2C arayüzü için pinlerdir. XSHUT, aşağı çekildiğinde sensörü kapatmanıza olanak tanıyan kapatma pinidir. Bu, birden fazla VL53L0X sensörünü aynı I2C hattına bağlamak istiyorsanız kullanışlıdır. GPIO1(INT), mikrodenetleyiciye verinin hazır olduğunu işaret edebilen bir kesme(interrupt) pinidir.
Malzeme Listesi
Bu yazımızda kullandığımız malzemelere aşağıdan ulaşabilirsiniz.
Arduino İle Tof200c Mesafe Sensörü Bağlantı Şeması
Bağlantılarımızı aşağıdaki gibi yapalım.

Eğer bağlantılarımız hazırsa koda geçebiliriz. Bu sensörümüzü iki kütüphane ile kullanabilirsiniz. İki kütüphanenin de linkini sizlerle paylaşacağım ama ben Adafruit’in kütüphanesini kullanacağım
Adafruit kütüphanesini kurarken sizden başka kütüphaneleri kurmanızı isteyebilir. Eğer isterseniz kurmayabilirsiniz ama bence kurun çünkü yanında yükleyeceği kütüphaneleri elinde sonunda bir projede kullanırsınız.
#include "Adafruit_VL53L0X.h" // Kütüphanesmizi ekliyoruz
Adafruit_VL53L0X lox = Adafruit_VL53L0X(); // sensörümüz için bir obje oluştururyoruz
void setup() {
Serial.begin(9600); // Seri haberleşmeyi 9600 baudrate de başlatıyoruz
delay(2000);
//Serial port açılıncaya kadar bekliyoruz
while (! Serial) {
delay(1);
}
Serial.println("Adafruit VL53L0X test");
if (!lox.begin()) { // Eğer bağlanmaz ise bir de şu şekilde deneyin !lox.begin(0x29)
Serial.println("VL53L0X baslatilamadi!");
while(1);
}
// power
Serial.println("VL53L0X mesafe olcumu!");
}
void loop() {
VL53L0X_RangingMeasurementData_t measure; // mesafe verilerimizin tutulduğu değişkeni tanımlıyoruz.
//Serial.println("Mesafe olculuyor...");
lox.rangingTest(&measure, false); // pass in 'true' to get debug data printout!
if (measure.RangeStatus != 4) { // eğer yanlış veri yoksa
Serial.print("Mesafe (mm): ");
Serial.println(measure.RangeMilliMeter);
} else {
Serial.println("Olcum mesafesi disinda!");
}
delay(300); // 300ms bekleme yaptırıyoruz.
}
Kodumuzu yükleyip seri port ekranını açtığımızda aşağıdaki gibi bir çıktı vermiş olması lazım.

Takıldığınız kısımları yorum olarak sorabilirsiniz 🙂