Herkese merhabalar, bir önceki yazımızda robotlardan ve temel parçalarından bahsetmiştik. Bu yazımızda ise robotun kontrol kartı ve sensörlerinden bahsedeceğim.

Sensör Nedir? Ne İşe Yarar?

Robot projemizde ışık, sıcaklık, mesafe gibi fiziksel büyüklükleri elektrik sinyallerine dönüştürmek ve bu bilgileri işleyecek karar mekanizmaları kurabilmek için sensörleri kullanırız.

Sensör Nasıl Çalışır? Çalışma Prensibi Nedir?

Sensör çeşitlerinin detayına girmeden önce bu sensörlerin temel olarak iki tipte var olduklarını bilmemiz gerek: analog ve dijital. Analog sensörler, algıladıkları fiziksel büyüklüğe orantılı olarak değişen bir akım veya gerilim çıktısı verirler. Bu tipte sensörleri dijital çalışan kontrol kartlarımıza bağlayabilmek için analog-dijital çeviriciler (ADC) kullanılır. Analog-dijital çeviriciler mikrokontrolcüler içerisinde de yer alacağı gibi (örn. Arduino analog giriş pinleri), sayısının veya hassasiyetinin yetmemesi durumunda harici olarak da bağlanabilirler. Popüler bir tek kart bilgisayar olan Raspberry Pi ise maalesef dahili olarak analog-dijital çeviriciye sahip değildir. Dolayısıyla analog girişe ihtiyaç duyduğumuzda harici bir entegre kullanmamız gerekecektir.

Dijital sensörler ise genellikle I2C, SPI, OneWire vb bir haberleşme protokolü aracılığıyla bilgisayar (mikroişlemci) ile konuşurlar. Bunun yanı sıra, çoğu analog sensör bir op-amp ile birlikte kullanılarak belirli bir seviye üzerinde lojik 1 (genellikle 5V veya 3.3V) çıkışı verecek şekilde kullanılabilir. Böylelikle analog çıkışlı sensörler, Raspberry Pi gibi ADC’ye sahip olmayan kontrolcüler ile kullanılabilir.

Sensörlerin Çalışma Prensibi
Sensörlerin Çalışma Prensibi

Ayrıca sensörler aktif sensör ve pasif sensör olarak da ikiye ayrılırlar. Aktif sensörler, kendi sinyallerini ürettikten sonra bu sinyalin ortamdaki değişimini kontrol ederek algılama işlemini gerçekleştirirler. Ultrasonik ve kızılötesi sensörler bu gruba dahildir. Pasif sensörler ise ortamdan aldıkları sinyalleri kontrol ederek algılama işlemini gerçekleştirirler. LDR (ışığa duyarlı direnç), NTC/PTC (ısıya duyarlı dirençler), fototransistör (ışığa duyarlı transistör) bu gruba örnek olarak gösterilebilirler.

Sensör Çeşitleri: 

Sensörler, giriş büyüklüklerine göre altıya ayrılırlar. Aşağıda bu sensör çeşitleri ve algılama özelliklerini inceleyebilirsiniz.

  • Mekanik sensörler (Uzunluk, alan, miktar, kütlesel akış, kuvvet, tork, basınç, hız, ivme, pozisyon, ses dalga boyu ve yoğunluğu)
  • Termal sensörler (Isı akışı ve sıcaklık)
  • Elektriksel sensörler (Voltaj, akım, direnç, endüktans, kapasitans, dielektrik katsayısı, polarizasyon, elektrik alanı, frekans)
  • Manyetik sensörler (Alan yoğunluğu, akı yoğunluğu, manyetik moment, geçirgenlik)
  • Işıma sensörleri (Yoğunluk, dalga boyu, polarizasyon, faz, yansıtma, gönderme)
  • Kimyasal sensörler (Yoğunlaşma, içerik, oksidasyon/redaksiyon, reaksiyon hızı, pH miktarı)

Bu sensör çeşitleri kendi içlerinde de farklı şekillerde bulunurlar. Robotlarda ve sistemlerde en yaygın kullanılan sensörleri sıralayıp, biraz daha yakından tanıyalım.

  • Mesafe sensörleri (Ultrasonik, PIR, Kapasitif, Endüktif, Kızılötesi Optik…)
  • Kuvvet/Ağırlık/Basınç sensörleri (
  • Eğim sensörleri (Flex, Lineer/Esnek Potansiyometre…)
  • Manyetik sensörler (Hall effect, reed röle…)
  • Sıcaklık/Nem/Su Seviyesi sensörleri (NTC,PTC, Yağmur Sensörü…)
  • Ses sensörleri (Dinamik/Kapasitif/Şeritli/Kristal/Karbon Tozlu Mikrofon)
  • Işık/renk sensörleri (LDR, RGB, UV, Fototransistör, Fotodiyot…)

Bu sensörlerden robotik sistemlerde en yaygın kullanılanlarından biraz bahsetmek istiyorum.

Ultrasonik Sensör Nedir?

Ultrasonik sensör ismini “ultra” ve “sonic” kelimelerinin birleşmesinden alır. “Daha yüksek ses” anlamına gelmektedir. Bu sensörler mesafe ölçme amaçlı kullanılmaktadırlar. Çalışma prensipleri ise şu şekildedir: Ultrasonik sensörler dışarıya bir ses dalgası sinyali gönderirler. Gönderdikleri ses dalgasının bir cisme ulaşıp kendisine geri dönmesini beklerler. Sinyalin gönderilip tekrar geri gelme süresi baz alınarak sensörün cisme olan uzaklığı hesaplanır. (x = v * t / Yol = Hız * Zaman)

Arduino ile HC-SR04 Ultrasonik sensör kullanımı yazımızı inceleyebilirsiniz.

Engelden kaçan robot projemizde Ultrasonik sensörden nasıl faydalandığımızı inceleyebilirsiniz.

Ultrasonik Sensör Çalışma Prensibi
HC-SR04 Ultrasonik Sensörün Çalışma Prensibi
Infra-Red (Kızılötesi) Sensör Nedir?

Kızılötesi sensörler mesafe ve karanlık/aydınlık algılama amaçlarıyla kullanılan sensörlerdir. Kızılötesi sensörlerin yapısında genellikle kızılötesi ışın yayan bir LED ve bu ışının yansımasını kontrol eden bir foto komponent bulunur (fotodiyot, fototransistör gibi). Sensörün içinde bulunan LED, kontrol etmek istediğimiz bilgi ile aynı dalga boyuna sahip bir ışın üretir. Bu ışının şiddetini kullanıcı kontrol edebilir (Örneğin, 0-80 cm arasında mesafe ölçümü yapabilen bir sensörün kaç cm’ye kadar ölçüm yapması isteniyorsa ona göre ayarlanabilir). Cismin üzerine düşen ve geri yansıyan kızılötesi ışınları bir foto komponent denetler ve sensör geri dönen ışın sinyaline göre algılama işini gerçekleştirir.

Kızılötesi Sensör Çalışma Prensibi
Kızılötesi Sensör Çalışma Prensibi
Kızılötesi Sensörün Karanlık/Aydınlık Kontrolü
Kızılötesi Sensörün Karanlık/Aydınlık Kontrolü

Çizgi İzleyen Robot projemizde kızılötesi sensörden nasıl faydalandığımızı inceleyebilirsiniz.

Kızılötesi haberleşme sayesinde Arduino Uno ile TV kumandası kullanarak şerit LED kontrol ettiğimiz videomuzu inceleyebilirsiniz.

Passive Infra-Red (PIR) Sensörü Nedir?

PIR sensörleri ortamdaki sıcaklık ve kızılötesi dalga değişimlerine göre hareket algılayan sensörlerdir. Bu sensörler en yaygın olarak alarm sistemlerinde ve otomatik aydınlatmalarda kullanılırlar. Çalışma prensipleri ise şu şekildedir: Tüm nesneler bulundukları ortama sıcaklık ve kızılötesi dalga yayarlar. PIR sensörlerin yapısında da bir fresnel lens vardır. Bu mercek sayesinde ortamdaki ışınlar sensörün tam üzerine düşüp odaklanmasını sağlar. Sensör, sabit olan sıcaklık ve kızılötesi dalgalar değiştiğinde bunu algılayarak sisteme bildirir. Örneğin bir odaya monte edilen PIR sensörü sabit olarak odadaki duvar ve cisimlerin yaydıkları sabit dalga değerlerini kontrol eder. Odaya bir insan girdiğinde bu değerler değişime uğrayacağından sensör algılar ve bağlı olduğu sisteme bilgi verir.

Dilerseniz Raspberry Pi 3 ile PIR sensörünün kullanımı hakkındaki yazımızı inceleyebilirsiniz.

PIR Sensörü Yapısı ve Çalışma Prensibi
PIR Sensörü Yapısı ve Çalışma Prensibi
Hall Effect Sensör Nedir?

Hall effect sensörleri, manyetik alan algılayarak sinyal çıkışı sağlayan sensörlerdir. Bu sensörler mesafe, hız, akım algılamada ve konumlandırmada kullanılırlar.

Hall Effect Sensör Çalışma Prensibi
Hall Effect Sensör Çalışma Prensibi
NTC/PTC Sensörleri Nedir?

NTC (Negative Temperature Coefficient) ve PTC (Positive Temperature Coefficient) ısıya duyarlı dirençlerdir. Yukarıda da bahsettiğimiz gibi bu sensörler kendileri bir sinyal üretip geri dönüşünü beklemez, doğrudan ortamdan etkilenirler. NTC, üzerine düşen sıcaklık arttıkça sahip olduğu direnç değeri düşer. Yani algıladığı ısı değeri ile ters orantılıdır. PTC’nin ise üzerine düşen sıcaklık arttıkça sahip olduğu direnç değeri de artar. Yani ısı ile doğru orantılıdır.

Arduino ile NTC kullanarak sıcaklık ölçümü yaptığımız yazıyı inceleyebilirsiniz. 

NTC/PTC Çalışma Prensipleri
NTC/PTC Çalışma Prensipleri
Yağmur Sensörü (Rain Sensor)

Bu tip sensörler su seviyesi ölçümü, su damlası tespiti ve yağmur sensörleri olarak kullanılabilirler. Yağmur sensörleri, üzerlerinde su düştüğünde bağlı olduğu kontrolcüye bilgi sinyali gönderirler. Çeşitlerine ve bağlı oldukları devrelere göre analog ve dijital olarak çıkış sağlayabilirler.

Sitemizde bulunan yağmur sensörlerini buradan inceleyebilirsiniz.

Rain Sensor
Yağmur Sensörü

Robot Kontrol Kartları

Kontrol kartı, robotun temel karar mekanizması için gereken en temel bileşendir. Bu kartlar sayesinde çevredeki sensörlerden bilgiler alınır, işlenir ve motor gibi çıkış birimlerine komut verilir. Temelde bu kontrol kartlarını bir bilgisayar olarak düşünebiliriz. Bu bilgisayar Arduino gibi mikrokontrolcü kartları formunda veya Raspberry Pi tek kart bilgisayarlar şeklinde olabilir.

  • Mikrokontrolcüler:

Arduino UNO mikrokontrolcü kartı.

Mikrokontrolcü kartları (PIC, Arduino, ESP8266, mBed v.b.) ile tek kart bilgisayarların (Raspberry Pi, Orange Pi, BeagleBoard v.b.) en büyük ayrıldıkları nokta şudur: Mikrokontrolcü kartı yalnızca bir programı çalıştırmaları düşünülerek tasarlanırlar. Ayrıca mikroişlemci ile mikrokontrolcü farklı kavramlardır. Mikroişlemci, mikrokontrolcünün aritmetik ve lojik işlemlerinden sorumlu birimidir. Mikrokontrolcüde işlemci biriminin yanı sıra, RAM bellek, ROM bellek, flaş hafıza, haberleşme birimleri (I2C, SPI, UART v.b.) de yer almaktadır. Sadece tek bir programı çalıştırmaları öngörüldüğü için RAM ve ROM bellekleri günlük hayatta kullandığımız bilgisayarlarımızdan çok daha az miktardadır (KB’lar mertebesinde). Sensör bilgisi okumak, motor çalıştırmak, haberleşme birimlerini yönetmek gibi işlemler için bu kapasite genellikle fazlasıyla yeterli olacaktır.

  • Tek Kart Bilgisayarlar:

Raspberry Pi 3

Tek kart bilgisayarlar ise, isimlerinden de bir miktar anlaşılacağı üzere günlük hayatta kullanmakta olduğumuz bilgisayarlar gibi işlev görebilirler. Bu demektir ki, aynı anda birden fazla programı çalıştırabilecek işlemci birimleri, RAM ve kalıcı belleğe, birden fazla giriş ve çıkış birimine sahiptirler. Daha fazla işlem gücüne sahip olmalarının iyi olduğunu düşünebiliriz, fakat bu bilgisayarlar aynı anda birden çok işi; örneğin web tarayıcı açıkken bir yandan müzik çalmak, bütün bu işlemlerler devam ederken klavye/fare gibi giriş birimlerinden girdi alarak ekran gibi çıktı birimlerini yönetmek gibi yaptıklarından dolayı, bu işlemlerin yanında zaman-kritik uygulamaları yapmakta (örneğin servo motor sürmek) her zaman çok başarılı olamamaktadırlar. Bunun yanında kamera gibi görüntü birimlerini yönetebilecekleri ve çok daha yüksek işlem kapasitesi sunabildiklerinden dolayı örnek olarak bir görüntü işleme uygulamasında bu kartları tercih etmek daha mantıklı bir hareket olacaktır.

Nasıl Tercih Yapmalı?

Kontrol kartı tercih ederken ilk dikkat etmemiz gereken nokta projemizin karmaşıklık seviyesidir. Eğer komutlarımızı takip edecek veya çizgi izleme/engelden kaçma gibi görevleri yapacak basit bir mobil robot tasarlayacaksak mikrokontrolcüler işimizi görecektir. Fakat görüntü işleme, yapay zeka gibi işlem gücüne ihtiyaç duyacak görevlerde tercihimizi tek kart bilgisayarlardan yana kullanabiliriz. Bunun yanı sıra, tek kart bilgisayarın yanına bir mikrokontrolcü ekleyerek birbirleriyle haberleşmesini sağlayarak her iki dünyanın da iyi yanlarından faydalanmamız mümkündür 🙂

İşlem gücünün yanı sıra, elbette bir sonraki önceliğimiz kullanacağımız kontrol kartının giriş/çıkış sayısıdır. Kullanacağınız kontrolcünün robot projenizde kullanacağınız giriş/çıkış birimine yetecek kadar miktarda giriş/çıkışa sahip olması gereklidir. Burada bir diğer dikkat etmek gereken nokta, Arduino gibi kartların farklı modellerinde farklı yeteneklere sahip çeşitli sayıda giriş/çıkış sayısına sahip olmalarıdır. Örneğin, motor sürmede hız kontrolüne ihtiyaç duyacaksanız, kontrolcünüzün motor sayısı kadar PWM çıkışa sahip olması gereklidir.

Kontrol kartı tercih ederken dikkat etmeniz gereken bir diğer nokta ise desteklediği programlama dilleri ve popülaritesidir. Deneyimli kullanıcılar için popülarite çok önemli olmasa da, özellikle yeni başlayacaklar için kartın çeşitli çevre birimleri ile ilgili örnek programlar ve kütüphaneler, yapılmış başka benzer projeler bulunması faydalı olacaktır. Bunun yanı sıra popüler programlama dillerinden olan C/C++ ve Python destekleyen bir kart tercih etmek, yeni başlayanlar için yine daha iyi olacaktır.

Bu yazımızda sensörlerden ve kontrolcülerden bahsettik. Başka bir yazımızda görüşmek üzere 🙂

1 YORUM

CEVAP VER

Please enter your comment!
Please enter your name here