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ünü 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 COM6’yı 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 alacağı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()

{

}

1.png
1111_large.jfif
10.jpeg
11.jpeg
12.jpeg
13.jpeg
2222_large.jfif
16.jpeg
17.jpeg
seri_port_480x480.jpg
KART_480x480.jpg
pinoo_uzanti_480x480.jpg
pinooo_480x480 (2).jpg
23.PNG
24.JPG
25.JPG
26.JPG
27.JPG
28.JPG
30.JPG
29.JPG
31.JPG
32.JPG
33.jpeg