Arduino Android Opencv ile Nesne Takip Robotu Yapımı

44 540

Kendi Robotunu Yap projelerimizin bu bölümünde opencv ile nesne takip robotu yapacağız.Android telefondan opencv ile görüntü işleyerek bluetooth üzerinden nesnenin konumunu arduinoya gönderecek ve robotun nesneyi takip etmesini sağlayacağız.

Malzemeler:

  1. Arduino
  2. Hc-06 Bluetooth Modül
  3. TB6612FNG veya L293D Motor Sürücü
  4. Robot Kit

Motor sürücü istediğinizi kullanabilirsiniz. Aşağıda iki sürücü için ayrı devre şemaları mevcut.

TB6612FNG ile Devre Şeması:

L293D ile Devre Şeması:

Android Uygulaması:

Apk >> Android Nesne Takip

Açık Kaynak Kodu>> Android Nesne Takip

Android uygulamamızda nesnemizin konumu arduinoya göndererek robotun nesneyi takip etmesi sağlanacaktır.

Arduino Yazılımı:

String bluetoothRead, Str_x, Str_y, Str_p;
int x ;
int y ;
int points;
int length;
 
int pwmMotorA=11;
int pwmMotorB=10;
int ForwardA=8;
int BackA=9;
int ForwardB=6;
int BackB=7;
 
 
 
void setup() {
Serial.begin(9600); 
 
pinMode(pwmMotorA, OUTPUT); 
pinMode(ForwardA, OUTPUT); 
 
 
pinMode(BackA, OUTPUT); 
pinMode(pwmMotorA, OUTPUT);
 
pinMode(ForwardB, OUTPUT); 
pinMode(BackB, OUTPUT); 
 
analogWrite(pwmMotorA, 180);
analogWrite(pwmMotorB, 180);
 
}
 
 
void loop() {
int i=0;
char commandbuffer[200];
 
 
if(Serial.available()){
 
delay(10);
 
while( Serial.available() && i< 199) {
commandbuffer[i++] = Serial.read();
 
}
commandbuffer[i++]='\0';
bluetoothRead = (char*)commandbuffer;
length = bluetoothRead.length();
 
 
if(bluetoothRead.substring(0, 1).equals("x")){
 
int i=1;
while(bluetoothRead.substring(i, i+1) != ("y")){
i++;
}
 
Str_x = bluetoothRead.substring(1, i);
x = Str_x.toInt();
 
 
 
Str_y = bluetoothRead.substring(i+1, length -1);
y = Str_y.toInt();
 
Str_p = bluetoothRead.substring(length - 1, length);
points = Str_p.toInt();
 
 
i = 1;
 
 
dur();
 
if(x < 40){ sol(); } if(x > 140){
sag();
 
} 
if(x < 140 && x > 40){
if(points == 1){
ileri(); 
}
if(points == 0){
dur();
}
if(points == 2){
geri(); 
}
}
}
}
}
 
 
void sol(){
digitalWrite(ForwardA, LOW); 
digitalWrite(BackA, HIGH);
 
 
digitalWrite(ForwardB, HIGH); 
digitalWrite(BackB, LOW);
 
}
 
 
void sag(){
 
digitalWrite(ForwardA, HIGH); 
digitalWrite(BackA, LOW);
 
digitalWrite(ForwardB, LOW); 
digitalWrite(BackB, HIGH);
 
}
 
 
void ileri(){
digitalWrite(ForwardA, HIGH); 
digitalWrite(BackA, LOW);
 
digitalWrite(ForwardB, HIGH); 
digitalWrite(BackB, LOW);
}
 
 
void geri(){
digitalWrite(ForwardA, LOW); 
digitalWrite(BackA, HIGH);
 
 
digitalWrite(ForwardB, LOW); 
digitalWrite(BackB, HIGH);
}
 
 
void dur(){ 
digitalWrite(ForwardA, LOW); 
digitalWrite(BackA, LOW);
 
digitalWrite(ForwardB, LOW); 
digitalWrite(BackB, LOW);
}

Arduino yazılımını yüklüyoruz.Gerekli bağlantılarımızı yaptıktan sonra telefofonu robotun üzerine sabitleyin ardından uygulamayı açın ve bluetooth üzerinden robota bağlanın.Bu sayede robotumuz kırmızı nesneyi takip edecektir.

Kendi Robotunu Yap projelerimizin bu bölümünde de nesne takip robotunu tamamladık.

Kaynak : Object tracking robot

Bunları da beğenebilirsin

Cevap bırakın

E-posta hesabınız yayımlanmayacak.

44 Yorum

  1. Burak

    Sizi ulaşa bileceğim bir yer var mı

  2. ugur

    Android uygulamasının da kodlarını paylaşabilir misiniz?

  3. ugur

    Merhaba güzel çalışma olmuş. Android proje kodlarını da atabilir misiniz?

  4. EMRE

    apk dosyası telefonuma inmiyor. Telefonum android.

    1. Unnamed

      Bilgisayardan Telefona Aktarmalısın !

  5. Bahattinates

    merhaba. galiba robotu. icerde. deneme. yaptim. ondami. disardami. denemek. lazim. onun icin sizi. rahatsiz. etim. kusura. bak. hersey. icin tessekurler. islerinden. basarilar. dilerim

  6. Bahattinates

    merhaba. robotu. icerden dene yaptim. kirmizi ballonla. robotu. disardami. nememek. dogrumu.
    tessekurler. allaha emanet olun

  7. Bahattinates

    merhaba hersey. icin. size cok tessekur. ederim .size
    boll kazanclar. dilerim. size. allaha emanet olun.

  8. Bahattinates

    merhaba unutum cep telefonun. kamera. arkadaki. gözmu. ballonu. takip edecek, yoksa. cep telefonun.
    onkimi sekilde. ballonu takip edecek. size sormadan. olmiyor. tesekkurler. allaha emanet olun

    1. Sezgin GÜL

      uygulama standart arka kamerayı kullanıyor. sorun büyük ihtimalle devre bağlantılarında. uygulama kırmızı nesneye odaklı çalışıyor. ekranda iki farklı konumda nesne algılanırsa çakışma olacağından çalışmaz. nesnenin tümü ya da sadece bir yerinde kırmızı renk olmalı.

  9. Bahattinates

    merhaba. senin dedigin gibi.küçük nesne bulmam. lazım. cocuklar. icin kucuk . yumusak. renkli.
    pamuk. gibi. balon. alsam. kirmizi ve turuncu. senin dedigin. kucuk. nese. hanki. tipler. soylerseniz.
    ona gore. alayim. hersey icin. tessekur. ederim.size. islerinizden. basarilar. dilerim. mesaji. icin kusura. bakma.

  10. Bahattinates

    merhaba. hayirli islerdilerim size. bu konuda sizi. rahatsiz. etim. devre hersey tamam. sizin dedigiz.gibi. ne yaptimsa. motorlar. calismadi. acaba. kod .sitede. kopiya. yapinca. hatami. oldu.
    hata motorlar. calismiyor. devre. ve telefonda. calisiyor. HC_06 Bluet. calisiyor. bende anlamadim.
    hersey. icin tesekkurler.

  11. Bahattinates

    merhaba. tessekur . edirim. size. inanki. cok sevindim. sag olun .iyi geceler.
    allaha emanet olun.

  12. azizhan

    android yazılımını bulamadımo nerede acana.arduino yazılımını görüyorum.

  13. Bahattinates

    merhaba. motorlar. önune kirmizi birsey kamera onune yaklasinca. motorlar. calismiyor.
    tesekkurler.

    1. Sezgin GÜL

      nesne ekranın tamamını kapatırsa çalışmaz. nesneyi uzak tutun ekranın konumuna göre motorlar hareket edecektir.

  14. Bahattinates

    merhaba baski uzerindeki. HC_06 led devamli yaniyor. telefonda. HC_06 basinca 2 led. duruyor.
    telefon. ustunde hotmail. gorunuyor. devamli. numaralar. degisiyor. ben onune. kucuk bir kirmizi. yastik. kameranin ön kismina. yaklasinca. motorlar. donmuyor. ne yapmam. gerekli. kirmizi. nese.
    hanki. tipler. top . sekilde. elin icine. yumusak. koymak. . bunu hakinda. ne yapmam. gerekli. calisin
    hersey icin tesekkurler. allaha emanet olun

  15. Bahattinates

    merhaba .devre .telefona baglayinca ekranda takip – numaralar degisiyor. peki. balon. kirmizimi. olacak. devre uzerindeki. HC.06 led durdu. ve 2 lede. durdu. tek sorun. balon. tipi.
    hakisi. turuncumu. kirmizimi. suan elimde balon. yok. test etmek. icin . ne yapmam. gerekli.
    islerinizden. basarilar. dilerim.
    .

    1. Sezgin GÜL

      illa balon olması şart değil herhangi bir kırmızı nesne olabilir. balonu kullanma amacı kolay hareket ettirilebiliyor olmasıdır. kırmızı nesneyi algılıyor.

  16. Bahattinates

    merhaba. sag olun. hersey. icin. tesekkurler. allaha emanet olun.

  17. Bahattinates

    merhaba. tesekkur ederim size. takip robot APK .telefona yukledim. telefonun. ekranda. follow bot. geldi. GO! foliwBot. oraya basinca kamera. aciliyor. ( sizce ne yapmam. gerekli. hersey. icin. tesekkurler. allah. isinizi. rast getirsin. allaha emanet olun. robotun calismasi. icin.

    1. Sezgin GÜL

      kamera açılıp robotun bluetoothuna bağlanacaksın. bağlandıktan sonra kırmızı kamera kırmızı nesne algıladığında robot nesnenin konumuna göre hareket ederek, nesneyi takip edecektir. telefonu robotun üzerine sabitleyip öyle çalıştırın. robot telefon ile birlikte hareket etmeli.

  18. Bahattinates

    merhaba. bende TB612 . 6 adet var. onu. kulanmak isterdim. onun icin rahatsiz etim.
    sizin resimdeki. gibi. usten . yada altan. baglanmak. isterdim. onun. icin . STBY. VCC. bilesecek.mi .
    dediginizi. bulmadim. sitenizdemi? yoksa googeldemi. indirecem. tesekkurler. allaha emanet olun.
    mesaj. icin kusura bakma. senin dedigin link. bulmadim. indirmek. icin, kusura bakma.
    kırmızı renkte uygulama linki var. onu telefonunuza atıp kurun. robota bluetooth üzerinden
    iyi geceler. hersey icin sag olun

  19. Bahattinates

    merhaba. devreyi yaptim. HC.-06 Bluet. bende ses robot. kontrolu.programi. var samsun telefonla. denedim. ilk once HC06. BULUET. MODUL led yanip sonuyordu. sonra. telefon. icindeki. HC_o6 . basinca. 2.led . durdu. devre calisiyo. sizden istedigim. robot calistiran. telefonla calismasi. icin.
    program. mumkunse. bu konudan. bilgi. istiyorum. tesekkurler. . ( bide TB612. GND . usten birlestirmisin. TB612 . 4 nolu uc STBY. . hanki. pine baglamisin. tesekkurler. allah. isiniz. rast getirsin.
    iyi geceler

  20. Bahattinates

    merhaba . devre test etim. HC_06 Bluet modul. taktim. modul led yanip .sonuyor. devre uzerinde.
    led. yanip. sonuyor. samsun telefona. programi. yuklemek varmi? onu soracaktim. tesekkurler.
    iyi aksamlar.

  21. Bahattinates

    merhaba. tesekkur ederim size. sunu soracaktim.sizden.TB6612FNG Motor Sürücü
    hanki. pinleri. kisa devre yapacam. resimde. .TB6612. ustinde. kirmizi. kaplo. ve .siyah. kaplo. gorunuyor. haki. pinler. birbirine. baglanacak. bide. samsun. telefona. programi. yukledim.
    robotun. calismasi. mobil telefonu. actim. programi. oldugu. yerde. bluetooth .
    durekmi. calisiyor. telefonu. onkismina. bagladim. telefonu. actim. direk balonu. gormesi. icin.
    ve calismasi. bunu ogrenmek. baski devreside. hazir .sizin. sayenizde. allaha emanet olun.
    bilgileri. ogrenmek. sizden

    1. Sezgin GÜL

      motor sürücüde kısa devre yapılmıyor. şemada enerji pinleri bağlı. devre şemasını yeni sekmede açarsanız ayrıntılı görebilirsiniz. Bir de TB6612 sürücü kullanmanız şart değil herhangi bir sürücü ile de yapabilirsiniz. örneğin l293d gibi. telefon için apk dosyasını indirin. kırmızı renkte uygulama linki var. onu telefonunuza atıp kurun. robota bluetooth üzerinden bağlanıp çalışacaktır.

  22. Bahattinates

    merhaba. tesekkur ederim size .cevap. verdigin icin bu iyiliginizi. unutmiyacam. allah. isinizi. rast getirsin. sizin sayenide. tercube. kazaniyoruz. sag olun.
    saglik ve mutluluk. dilerim. size allaha. emanet olun.

  23. Bahattinates

    merhaba. harika. elin koluna saglik. . sizden ricam. mumkunse. baski devre. gonderme.imkanin. varmi.
    bu robotu. yapayim. buna uygun cep telefonum. samsun grax . uyar. size kalmis PCB gonderme.
    cok hosuma. giti.yapayim. sagolun. allaha emanet olun. baski cizimi. bilgi . az oldugundan. onun. icin
    bu robotun. baskisini. sizden istedim. tesekkurler

  24. mustafa

    followbot programında şu hatayı alıyorum : it seems that you device does not support camera ( or it is locked). aplication will be closed

  25. Serkan

    selamlar bazı sorularım olacak
    telefon yerine kamera takabilirmiyiz
    ikincisi takip edilecek nesne bir insan olabilirmi?
    Teşekürler

    1. Sezgin GÜL

      android uygulama ile görüntü işlediği için telefonu kullanmasan görüntüyü farklı şekilde işlemen gerekir. Arduino direk görüntü işleyemez ancak due ve üstü modelleri ile işlersin. İnsan takip ettirecek isen yüz tanıma ile bir program kullanarak yaptırabilirsin.

  26. Muhammet

    Selam motor sürücü olarak elimde bu model var.
    robotistan.com/l298n-voltaj-regulatorlu-cift-motor-surucu-karti

    proje için bunu kullanabilir miyim. Eğer bunu kullanırsam kodu değiştirmem gerekir mi?

    1. Sezgin GÜL

      Kodda değiştirme yapmanıza gerek yok. sürücünün bağlantılarını tanımlı pinlere yapın çalışır.

  27. gökhan

    Devrenin arkasındaki kutuda yalnız pil veya akümü var

    1. Sezgin GÜL

      evet gökhan batarya var. Bakarsan kablolarla enerji alınıyor

  28. aydın

    cok iyi bir çalılma olmuş.

    &amp;&amp; i&lt; 199) {
    commandbuffer[i++] = Serial.read();

    burayı acıklıyabilirmisiniz

    1. Sezgin GÜL

      Orasını düzelttik siteye girerken karakter değişiyor.Kod derlerken hata almışsındır. O ifade de serialden gelen veri varsa ve i değeri 199 dan küçük ise yani gelen karakter sayısı 199 dan küçük ise serialdeki verileri oku ve i değerlerine yazdır.