PinooBot ile Temizlikçi Robot

Projenin Amacı: Pinoo kontrol kartını kullanarak pinoobot ve mesafe sensörü ile temizlikçi robot oluşturmak.

Süre: 2 ders

Yaş Grubu: 7 yaş ve üzeri

Pinoo Seti: PinooBot set ve tam set.

Kazanımları:

  • Pinoo kontrol kartını kodlamayı öğrenir
  • Mesafe sensörünü kodlamayı öğrenir.
  • Pinoobot robot ile tanışır.
  • Algoritma kurma becerisi gelişir.
  • Kodlama becerisi gelişir.

 

Kullanılması Gereken Malzemeler: Mblock 3 programı, PinooBot Robot / Pinoo kontrol kartı, mesafe sensörü, bağlantı kablosu. 

Tasarım için Gereken Malzemeler: Bulaşık süngeri, şönil,çöp poşeti,mıknatıs,silikon tabancası,makas.

 

    

       

 

                

    

Proje Yapılışı:

                       

  

    

Süngerden orta büyüklükte bir dikdörtgen parça kesiyoruz ve pinoobot un ön kısmına şönil ile bağlıyoruz.

  

Süngerin alt bölümüne üç adet mıknatıs yapıştırıyoruz. 

 

Robotu rolüne uygun olarak dilediğiniz gibi süsleyebilirsiniz.

 

                              

Çöp poşetlerini küçük dikdörtgen parçalar kesiyoruz ve içlerine mıknatıs koyarak bağlıyoruz.Biz dört adet yaptık siz dilerseniz sayıyı arttırabilirsiniz.

 

 Robotumuzu çalıştıracağımız alana oluşturduğumuz çöpleri saçıyoruz.

 

 

Bağlantılarımızı yapalım.Mesafe sensörümüzü ise 6 numaralı mor/yeşil girişe bağlantı kablosu  ile bağlıyoruz.(Motor bağlantılarınız yapılmamış ile Pinoo kontrol kartı üzerindeki motor bağlantıları için özel olan beyaz renkli girişlere bağlantımızı yapalım.)

  

Bağlantılarımızı tamamladık şimdi kodlama kısmına geçelim.Bunun için mblock-3 uygulamasını kullanacağız.

  

 

Pinoo kontrol kartımızı bağlantı kablosu yardımıyla bilgisayara bağlayalım ve Mblock3 uygulamasına giriş yapalım. Daha sonra Pinoo Kontrol Kartımızı bilgisayar ile tanıştıralım. Bunun için öncelikle Bağlan sekmesinden seri port seçeneğine tıklıyoruz.Daha sonra COM3’ü seçiyoruz.(Bilgisayara ve porta göre rakam farklılık gösterebilir.)

 

Seri port bağlantısını yaptıktan sonra kartlar sekmesinden kullanacağımız kartı seçelim. Biz Arduino’nun Nano modeli ile çalışıyoruz.

 

 

Pinoo uzantısını bilgisayarımıza ekleyebilmek için uzantılar sekmesinden uzantıları yönet seçeneğine tıklıyoruz.Açılan pencerede arama motoruna “Pinoo” yazıyoruz ve çıkan sonuca indir dememiz yeterli.Bilgisayarımıza yüklendi.

  

 

Tekrar uzantılar sekmesine gelip Pinoo seçeneğine tıklıyoruz. Pinoo uzantısı ile kodlarımızı yazacağız.

 

 

Kodlama kısmında; uygulamanın başlaması için Olaylar menüsünden Yeşil Bayrağa tıklanınca kodunu alıyoruz.

 

Mesafe sensörünün okuduğu değeri öğrenebilmek için kukladan yardım alacağız. Bunun için görünüm sekmesinden merhaba de komutunu alıyoruz. Merhaba ifadesinin yerine robotlar sekmesinde mesafe sensörü ile ilgili kod bloğunu alıyoruz.Pin girişini bağlantı yaptığımız Pinoo6 olarak değiştiriyoruz.

Okuma işlemini bir kez değil sürekli olarak yapmasını istediğimiz için kontrol sekmesinden sürekli tekrarla bloğunun içerine tüm kodlarımızı alıyoruz.

 

Yeşil bayrağa tıklayalım ve sensöre elimizi yaklaştırıp uzaklaştırarak değerlerin değişimini gözlemleyelim.Robota elimizi yaklaştırdığımızda sensörün okuduğu değeri not alalım.Biz burada 10 civarı bir değer okuduğunu referans alcağız.

 

 

Eğer mesafe sensörünün okuduğu değer 10'dan küçük ise yani robot bir engele yaklaştı ise 2 sn boyunca sağa dönsün daha sonra ise ileri yöne hareket etsin  eğer robotun önünde herhangi bir engel yok ise yani sensörün okuduğu değer 10'dan büyük ise de robot ileri,geri,sağ ve sol hareket işlemleri yapsın.Şimdi bu yazdığımızı kod haline getirelim.

Burada kontrol sekmesindeki eğer bloğundan ve işlemler sekmesinden küçük ve büyük karşılaştırma operatörlerinden faydalanacağız.

 

Sağlanacak şarta göre PinooBot un hareket edeceği kodları tamamlayalım.

Sensörün 10'dan büyük değer okuma durumu için Robotlar sekmesinden PinooBot Yön:İleri Hız:0 kod bloğunu alıyoruz.Yönlerini sırası ile ileri sağ geri sol olarak, Hızı ise hepsinde 255 olarak güncelliyoruz.

 Bu işlemin sürekli olarak kontrol edilmesini istediğimiz için tüm bloklarını sürekli tekrarla bloğunun içerisine yerleştiriyoruz.

 

Yapılan her bir hareketi belirli bir süre yapmasını istiyoruz.Bunun için her bir hareketin altına kontrol sekmesinden 1 saniye bekle kod bloğunu alıyoruz ve 1 rakamını 2 olarak güncelliyoruz.

 

Sensörün 10'dan küçük değer okuma durumu için Robotlar sekmesinden PinooBot Yön:İleri Hız:0 kod bloğunu alıyoruz.Yönlerini sırası ile sağ geri olarak, Hızı ise hepsinde 255 olarak güncelliyoruz.Sağa dönme işlemini 2 sn yapması için kontrol sekmesinden 1 saniye bekle komutunu alıp 1 rakamını 2 olarak güncelliyoruz.

 

Kodlarımızı tamamladıktan sonra robotu platforma yerleştiriyoruz ve yeşil bayrağa tıklayarak projemizin çalışmasını kontrol ediyoruz. Robotu belirlediğimiz alana yerleştiriyoruz ileri,geri,sağ ve sol hareketler yapacak bu hareketleri yaparken de mıknatıslar yardımıyla zemindeki çöp poşetlerini toplayacak.Robot bir engele yaklaştı ise de sağa dönecek ve ileri doğru hareket etmesi gerekmektedir.

Projemizin çalışmasında herhangi bir sorun yoksa projemizi bilgisayardan bağımsız olarak bir güç kaynağı ile de çalıştırmak için yazmış olduğumuz kodları kartımızın içine yüklememiz gerekiyor.

Bunun için başlangıçta kullandığımız yeşil bayrağa tıkla kodunu ve kuklaya sensör değerini söylettiğimiz kodu  çöpe atarak Robotlar menüsünden Pinoo Programı kodunu alıyoruz.

 

Koda sağ tıklayarak arduino’ya yükle seçeneğine tıklıyoruz.( Kart olarak arduino ile çalışıyoruz.)

 

Kodların karta yüklenmesini bekliyoruz. Yükleme tamamlandıktan sonra pencereyi kapatıyoruz .

 

 

Herhangi bir problem yoksa güç kablomuzu bilgisayardan çıkartıyoruz.Pinoo Kontrol kartımıza 9v pil ve pil şapkası yardımıyla güç veriyoruz. Pil girişinin hemen yanında bulunan açma kapama tuşunu da on konumuna getiriyoruz.

 

ARDUINO IDE KODLARI:

// motor pinlerini atadık
int motora1 = 5;
int motora2 = 6;
int motorb1 = 10;
int motorb2 = 11;
// mesafe sensoru pinlerini atadık
int echoPin = 12;
int trigPin = 13;
long mesafe, sure; // mesafe ölçümü için iki değişken atadık

void setup() {
  // motor pinleri çıkış pinidir
  pinMode(motora1, OUTPUT);
  pinMode(motora2, OUTPUT);
  pinMode(motorb1, OUTPUT);
  pinMode(motorb2, OUTPUT);

  pinMode(echoPin, INPUT); // echo giriş pinidir
  pinMode(trigPin, OUTPUT); // trig çıkış pinidir

}

void loop() {
  // mesafe sensoru aktif edildi
  digitalWrite(trigPin, LOW);
  delayMicroseconds(5);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  sure = pulseIn(echoPin, HIGH);

  mesafe = sure / 29.1 / 2; // mesafeyi ölçtü

  if (mesafe > 10) { // mesafe 10dan büyükse
    ileri(); // ileri gider
    delay(2000);
    sag(); // saga gider
    delay(2000);
    sol(); // sola gideer
    delay(2000);
    geri(); // geri gider
    delay(2000);
  } else if (mesafe < 10) { // mesafe 10dan küçükse
    sag(); // saga gider
    delay(2000);
    ileri(); // ileri gider
  }

}

void ileri() {

}

void geri() {

}

void sag() {

}

void sol() {

}

 

Pinoo setleri ile çocuklar, evlerinde rahatlıkla bulabilecekleri malzemeler ile yüzlerce proje yapabilirler.