Arduino kızıl ötesi infrared sensör ile cisim takibi
object tracking with ir sensor

Bu uygulamada kullandığımız infrared sensör şu prensibe göre çalışır.
Üzerinde aynı yöne bakan birer adet alıcı ve verici eleman bulunur bunlardan biri şeffaf olan infrared led dir ve bu led bizim görebildiğimiz renk dalga boyunun dışında bir ışık tayfında ışınım yapar bu sebeple bu ledin yaydığı ışığı çıplak gözle göremeyiz ki bu ledler Tv v.b aygıt kumandalarında da kullanılır ve bu işığı da çıplak gözle göremeyiz lakin bir telefon kamerası ile bakarsanız kameranın renk algılama aralığı gözümüzden daha geniş olduğu için bu ışığı kamera telefon ekranından rahatlıkla görebilirsiniz.
Diğeri ise yani siyah renkli led kılıfında olan alıcı sensördür. Bu sensör sadece infraruj ışık dalga boyunu algılar ve infraruj ledin karşıya gönderdiği infraruj ışığın karşıdaki cisimden geri yansımasını algılayarak sensörün karşısında bir cisim olduğu bilgisini verir.
Sensör kartı üzerinde bulunan mavi renkli trimpot ile sensörün hassasiyet ayarı yapılır,sensör cisim algılamazken çıkışı “1” +5V tur ve cisim algılandığında çıkışı “0” GND olur.
Ayrıca sensör kartı üzerinde iki adet yeşil smd led bulunur bu ledler den biri power gösterge ledi,diğeri ise cisim algılandığında ışık vererek kullanıcıyı görsel olarak bilgilendirir.
Videoda ki devrede infraruj sensör dondurma çubuğuyla step motorun rotoruna monte edilmiştir ve algılama mesafesinde ki cisimi yatay istikamette takip eder,cisim yokken sensör saat yönünün tersi istikamette algılama mesafesine bir cisim girene kadar tıpkı bir radar gibi sürekli döner,algılama mesafesine bir cisim girdiğinde ise cisim istikametinde durarak cisimin hareketlerini takip eder
Akla ilk gelen soru tek bir cisim algılama sensörü ile karmaşık ve fonksyonel gibi görünen bir işlem nasıl yapılabilir ?
Devrenin çalışma prensibi:
Kod da if/else komutlarından yararlanılmıştır, bilindiği gibi kodlamada “if” bir durum belli bir şarta bağlanacaksa kullanılır ve if den sonra yazılan komutlar yerine getirilir.Şartın sağlanmaması durumda ise “else” den sonra yazılan komutlar gerçekleştirilir.Bu uygulamada motorun sağa dönmesi sensörün cisim algılamasına,sola dönmesi ise cisim algılamamasına bağlanmıştır.
Çalışma mantığını sırasıyla açıklayalım; Sensör cisim algılamadığı sürece sürekli sola doğru döner ve cisim algıladığı anda sağa dönmeye başlar ve sağa dönerken sensör cisim sınırından çıkar ve cisimi yok gördüğü için tekrar sola döner,sola döndüğünde ise sensör tekrar cisimin alanına girdiği için cisimi algılar ve sağa döner,bu çok hızlı olduğu için motor mili sürekli ileri geri titrer ve cisim durduğu sürece bu döngü böyle devam eder.
Cisim hareket ettirildiğinde ise mesela sola doğru hareket ettirilirse cisim sensör alanından çıkacağı için sensör cisim algılamadığından motor da sola döner ve cisimi yakaladığı yerde tekrar sağa döner ve ileri geri döngü ile motor mili titremeye başlar.
Cisim sağa doğru hareket ettirildiğinde ise sensör cisimi göreceği için motor milide sağa doğru döner ve sensör cisim sınırından çıkınca tekrar sola döner ve ileri geri döngü ile motor mili titremeye başlar.
Step motorlu cisim takip uygulaması

Devre kurulup kod yüklendikten sonra, motor yönü ters olursa !
Kod içinde ki “if” den sonra yazılan sıralı komutlar, “else” den sonra yazılan sıralı komutlar ile
Yada step motor sürücü giriş pinleri arduino giriş uçları ile ters sırada bağlanması gerekebilir.
Motorun dönüş hızı kod içinde bulunan” int delayTime = 200; ” komutunda ki “200” rakamı değiştirilerek ayarlanabilir.
Bu uygulama sensörün kablodan bağımsız beslenmesi sağlanarak yapılırsa,yani sensör kendi üzerinde ki bir batarya ile yada kablosuz şarj gibi havadan indükleme yöntemi ile beslenirse,kule tıpkı bir radar gibi sürekli kendi etrafında 360 derece sola doğru dönecek ve cisim algılandığında cisimi takip edecek şekilde yapılandırılmış olur.
Kod:
int motorPin1 = 3;
int motorPin2 = 4;
int motorPin3 = 5;
int motorPin4 = 6;
int delayTime = 200;
int sensor = 2;
int sensor_durum = 0;
void setup()
{
pinMode(motorPin1, OUTPUT);
pinMode(motorPin2, OUTPUT);
pinMode(motorPin3, OUTPUT);
pinMode(motorPin4, OUTPUT);
pinMode(sensor, INPUT);
}
void loop()
{
sensor_durum = digitalRead(sensor);
if (sensor_durum == HIGH)
{
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, LOW);
delay(delayTime);
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, LOW);
delay(delayTime);
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, HIGH);
digitalWrite(motorPin4, LOW);
delay(delayTime);
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, HIGH);
delay(delayTime);
}
else
{
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, HIGH);
delay(delayTime);
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, HIGH);
digitalWrite(motorPin4, LOW);
delay(delayTime);
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, LOW);
delay(delayTime);
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, LOW);
delay(delayTime);
}}
Servo motorlu cisim takip uygulaması

Servo uygulaması http://arduinotr.com/360servo/ sayfamızda 360 derece hack servo resimli anlatımı ile birleştirilmiştir.
DC motorlu cisim takip uygulaması

Motorun ters yönde dönmesi durumunda ! Motor uçlarının ters çevrilmesi, yada kod içinde ki ” digitalWrite ” yazan satırlarda HIGH ve LOW komutlarını birbirinin yerine ters yazmak gerekebilir.
Kod:
int sensor = 2;
int motorPin1 = 3;
int motorPin2 = 4;
int sensor_durum = 0;
void setup()
{
pinMode(sensor, INPUT);
pinMode(motorPin1, OUTPUT);
pinMode(motorPin2, OUTPUT);
}
void loop()
{
sensor_durum = digitalRead(sensor);
if (sensor_durum == HIGH)
{
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
}
else
{
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);
}}
DC motorlu basit cisim takip uygulaması

Yukarıda ki şema da koda gerek yoktur devre kurulduğu gibi çalışır,motorun ters yönde dönmesi durumunda motor uçlarının ters çevrilmesi gerekebilir.
1 metre mesafeli 360 derece kendi etrafında dönen cisim takip uygulaması

Şekil ve şemaların çiziminde www.easyeda.com online editör programından yararlanılmıştır.
27 cevap
I liked a lot
thank you
thank you
Harika. Emeğinize sağlık.
Kodu paylaşabilir misiniz.
Kodları yakın zaman da step,servo ve redüktörlü dc motor için ayrı ayrı burada paylaşacağım
Bravo
Hocam ir sensör sağ sol olayını nasıl algılıyor
Yukarıda adım adım açıklama mevcut, daha iyi anlaşılması açısından en altta ki şemayı işlemci olmadan yapmanızı tavsiye ederim.
Merhaba hacklenmiş servo motor için de kodları paylaşabilir misiniz
Servo motor olduğu için sürücü gerekli olmayacaktır arduino + sensör + hacklenmiş servo devresi yani servoyu normal redüktörlü DC motor gibi kullanmak istiyorum
Bu mümkün fakat fazladan işlem ve zaman gerektirdiği için bu kod kısmı şimdilik boş bırakıldı,daha sonra servo konulu bir başlık ile birleştirilip bu şema altında yayınlanacak.
elinize sağlık. servo uygulamasını dört gözle bekliyorum.
Dear Admin,
Can I’ve a English translate of this project. I can not understand the project perfectly.
I’m interesting to make a project of it.
English version of the site is currently being prepared
Long time supporter, and thought I’d drop a comment.
Your wordpress site is very sleek – hope you don’t mind me asking what theme you’re using?
(and don’t mind if I steal it? :P)
I just launched my site –also built in wordpress like yours– but
the theme slows (!) the site down quite a bit.
In case you have a minute, you can find it by searching for “royal cbd” on Google (would appreciate
any feedback) – it’s still in the works.
Keep up the good work– and hope you all take care of
yourself during the coronavirus scare!
magnificent points altogether, you simply received a brand
new reader. What could you recommend in regards to your publish that you simply
made a few days in the past? Any certain?
Valuable information. Lucky me I found your site accidentally, and I’m surprised
why this coincidence didn’t took place in advance! I bookmarked it.
Thank you so much
Fantastic goods from you, man. I have understand your stuff previous
to and you are just extremely magnificent. I actually like what you’ve acquired here, certainly like what you’re saying and the
way in which you say it. You make it enjoyable and you still
take care of to keep it wise. I can not wait to read much
more from you. This is really a terrific site. https://alphacheats.io
Do you mind if I quote a few of your posts as long as I provide credit and sources
back to your site? My blog is in the exact same niche as yours and my users would
definitely benefit from a lot of the information you provide here.
Please let me know if this okay with you. Thank you!
Thank you for the good writeup. It in fact was a amusement account it.
Look advanced to more added agreeable from you!
However, how can we communicate?
Review my homepage; cbd for sleep
I couldn’t resist commenting. Perfectly written!
Also visit my site: CBD for dogs
I loved as much as you’ll receive carried out right here.
The sketch is tasteful, your authored material stylish.
nonetheless, you command get bought an nervousness over that you wish be delivering the following.
unwell unquestionably come more formerly again since exactly the same nearly a lot often inside
case you shield this increase.
That is a very good tip particularly to those new to the blogosphere.
Brief but very accurate information… Thanks for sharing this one.
A must read post!
Great beat ! I wish to apprentice while you amend your website,
how could i subscribe for a weblog web site? The account aided me a acceptable deal.
I had been tiny bit acquainted of this your broadcast provided bright
transparent concept
Also visit my website – CBD for sale
I am actually thankful to the holder of this web site who has shared this wonderful article at at this place.
If you are going for most excellent contents like I do, just go to see this website daily because it gives quality contents, thanks
Thanks for finally writing about > Arduino kızıl ötesi infrared sensör ile cisim takibi
Arduino object tracking with infrared sensor – Arduino TR < Loved it!