MakeBlock Projeleri 6 – Çizgi İzleyen Robot

Mblock Programı ile Mbot Projeleri yani En iyi mBot Uygulamalarını yapmaya çalışacağız. Çizgi İzleyen Robot Projesine geçmeden önce mBot tanıtımını yaptığım sayfama MakeBlock – MBot Kullanımı adresinden ulaşabilirsiniz.

İlgili sayfayı incelediğinizde etkinlikleri yapabilmek için gerekli programdan bahsetmiştim. Bu program bilgisayarımızda yüklü olmadan maalesef etkinlikleri yapamayız. MBlock Programı bilgisayarınızda yüklü değilse MakeBlock – MBot Kullanımı sayfasından faydalanarak Programı bilgisayarınıza yükleyin.

Bu etkinlik değil ama interaktif etkinlikler yapmak için Online Mblock Editör sayfasını ziyaret edebilirsiniz.

Eğer programınız ve bağlantınız tamam ise hemen yeni uygulamamıza başlayalım.


MBOT ÇİZGİ İZLEYEN ROBOT

Bu dersimizde Çizgi İzleyen Sensör Kullanımını, Arduino’ya kod aktarma, Seri Kapı Bağlantısını, Wireless ile Seri kapı bağlantısı arasındaki farkları öğreneceğiz.

Bilgi: Işık Farklı yüzeylerde farklı şiddetle yansır ve soğurulur. Yazın siyah renk elbisemizin içerisinde daha çok ısındığımızı fark etmişsinizdir.

Çizgi İzleyen Sensör

Çizgi izleme sensörü aslında benzer şekillerde çalışan iki ayrı sensörün birleşimine verilen addır. Bu sensörler siyah ile beyazı ayırt edebilmektedir.

Mbot Çizgi İzleyen Sensör

Yukarıdaki resimde görüldüğü gibi sensör MBOT’un önünde bulunmaktadır. Resmin üst tarafında sensörü ayrıntılı olarak göstermektedir.

Ayrıca sol alt köşeye baktığımızda beyaz renkte şiddetli yansıma yaparken siyah renkte düşük şiddetle yansıma yaptığını görebiliriz.

Yukarıda gördüğünüz gibi mbot üzerinde iki adet sensör görünmektedir. Bunun sebebi çizgi izlerken hangi tarafa doğru yoldan çıktığını tespit ederek tekrar yola girmesini sağlamaktır.

Şimdide bu sensörün değerini hangi kodlarla nasıl okuyacağımıza bakalım. Robotlar menüsü içerisinde ….. çizgi izleyen kod bloğu sayesinde aldığı değer görebileceğim.

4 farklı değer verecek bana bu kod. Önce bu değerlerin ne anlama geldiğini görelim. Kodlama kısmına sonra geçeceğiz. Önce bu değerleri görmek için gerekli kodu yazalım.

MBOT Çizgi İzleyen Değerlerini Görme Kodu
MBOT Çizgi İzleyen Değerlerini Görme Kodu

Panda karakterine bu kodu yazdık. Şimdi MBOT’u farklı zeminler üzerinde tutarak aldığı değerlere bakalım.

Mbot Çizgide
Mbot Çizgide Gidiyor

İlk şekil olması gereken şekil. Yani iki sensörümüzde siyah çizgiyi görüyorsa ve mbot tam ortada duruyorsa o zaman panda karakterine 0 değerini gönderiyor. Biz çizgi izleyen kodları yazarken eğer 0 değeri geliyorsa o zaman ileri git kodu kullanacağız.

mbot sağ taraf dışarıda
Mbot Sağ Tarafı Dışarı Çıktı

İkinci örneğimizde MBOT hareket ederken sağ taraf sensörü dışarıya çıkmış. Yani artık siyah değil beyaz algılıyor. Bu halde bizim sol motorun hızını artırıp sağ moturu azaltarak tekrar çizgi içine sokmamız gerekiyor. Yani ben sensörden 1 değeri alırsam MBOT a sola dönmesi gerektiğini söylemeliyim.

blank
Mbot Sol Tarafı Dışarı Çıktı

Bu sefer tam tersi oldu ve sol sensörüm çizgi dışına çıktı. Demin yaptığım işlemin tam tersini yapmalıyım. Yani sensör bana 2 değeri göndererek diyor ki ben sol taraftan çizgiyi aştım. Beni sağ tarafa doğru yönlendir diyor. O zaman 2 değeri alınca sağa dön kodu eklemeliyim.

blank
Mbot Çizgiden Çıktı

Son ihtimalimiz işte bu olduda şaşti ve MBOT çizgilerin dışına çıktı veya öyle bir pist yaptınız ki ortasında boşluk var. Yani mbot bu sefer iki sensörde beyaz görüyor çizgiden tamamen koptu.

Burada atacağınız adımlar pistinize göre değişmelidir. Sürekli sağa dönerek çizgi bulmasını sağlayabilir veya ileri giderek çizgiyi tekrar bulmasını sağlayabilirsiniz. Karar size kalmış.

Çizgi izleyen sensörü ile ilgili öğrenmem gereken herşeyi öğrendim. Şimdi Robotumu yapmaya başlayabilirim.

ÇİZGİ İZLEYEN ROBOT

Yukarıda aslında çizgi izleyenden aldığımız değerleri konuşurken atacağımız adımları da konuştuk. Ben direk artık kodları yazarak robotumuzu hazır hale getirmek istiyorum.

blank
Çizgi İzleyen Robot MBOT Kodları

Yukarıda kodları ekledim kısaca açıklamasını da yapalım kafalarda soru işareti kalmasın. Basıldı olana kadar bekle kodu koydum. Bunu koyma sebebim direk başlamasın ben üzerindeki düğmeye basınca çizgi takip etmeye başlasın.

Sıfır değeri aldığında iki sensörde siyah gördüğünden ileri doğru gitsin.

Bir değeri aldığında motorun tekini durdurdum diğerini çalıştırdım bu sayede sola yöneldi ve çizgiyi yakaladım.

İki değeri aldığında deminki işlemin tam tersi bir motor durup diğeri çalıştı bu sefer sağa yöneldi ve çizgiyi yakaladı.

Üç değeri alınca çizgiden çıkmış olmalı diye geri geri hareket ederek çizgiyi tekrar yakalamasını istedim.

Önemli: Şimdiye kadar yaptığım işlemlerin hepsi wireless ile bağlantı yapıp en üstte yeşil bayrak tıklandığında tetikleyicisini koyarak oluyordu. Fakat çizgi izleyen yaparken bu yöntem işe yaramayacaktır.

En üste yeşil bayrak tıklandığında eklerseniz çok geç tepki verecek buda çizgiden sürekli çıkmasına sebep olacaktır. Bu sorunu çözmek için ben kodlarımı mcore kartımın içine yükleyeceğim.

Yani diğer tüm özellikler silinecek ve sadece benim çizgi izleyen kodlarım çalışacak.

Hepsi silinecek deyince panik yapmayın. Kodlarla işimiz bittiğinde mbotu tekrar fabrika çıkışlı haline bir tıklama ile getirebileceğiz.

Şimdi ben en üstte mbot Programı kodunu ekledim. Onun üzerine çift tıklayınca yada düzenle menüsü içerisine girip Arduino kipi deyince farklı bir şekilde sayfam açılıyor.

blank

Yukarıda gördüğünüz gibi sayfam açılınca sağ tarafta kırmızı ile işaretlediğim Arduinoya yükle butonuna basıyoruz.

Not: Bu işlem için MBOT ile bilgisayarınızı Seri Port üzerinden kablo ile bağlamalısınız. Bluetooth ve Wireless üzerinden bu işlemi yapamazsınız.

Hepsi bu kadar. Artık çizgi izleyen robotumuz sıkıntısız bir şekilde çizgisini izleyecektir. Videoda göründüğü gibi.

Tüm işlemleriniz bitti MBOT’u tekrar eski haline getirmek istiyorsunuz. O halde yine kablo ile bağlanıp BAĞLAN menüsü altında bulunan VARSAYILAN PROGRAMI SIFIRLA seçeneğini seçin. Biraz bekledikten sonra MBOT‘unuz ilk gün aldığınız gibi olacaktır.

MBOT Sıfırlama
MBOT Sıfırlama

Yukarıdaki resimde verdiğim işlemleri yaparak MBOT’u sıfırlayabilirsiniz.

Bizim yapacaklarımız bu kadar ama siz bu bildiklerinizin üzerine eklemeler yapabilirsiniz. Aşağıdaki ek görevleri yapmaya çalışın.


Alakasız ama Çizgi İzleyen demişken Sivas Robot Yarışmasını birincilikle kazanan Arduino ile yaptığımız Okulumuz Çizgi İzleyen Robotu videosunu da buraya eklemek istedim.


Ek Görev: 
# Eletrik bandı vb. birşey ile kendi parkurunuzu çizerek robotunuzu hareket ettirin.
# Kendi yaptığınız parkurda boşluklar bırakarak robotunuzun bu atlamaları algılamasını sağlayın.
# Robotu parke, ahşap gibi yüzeylere koyarak hareketlerini gözlemleyin.
# Aynı uygulamayı 2.4 GHz seri bağlantısıyla deneyip olacakları gözlemleyin.

Bu etkinliği bitirdiyseniz MBOT ile Kodlama Eğitimi sayfasındaki etkinlikleri yaparak Robotik Kodlamaya Öğrenmeye devam edebiliriz.

Mbot ile Kodlama Eğitimi

Açılan sayfadaki yönergeye uygun olarak hareket ederek MBOT ile çok güzel projeler ortaya çıkarabilirsiniz. Daha sonra bu öğrendiklerimiz ile Arduino ile Kodlama Eğitimi alabilir ve Robotik Kodlama alanında kendinizi geliştirebilirsiniz.

4 Comments

  1. Mrb hocam robot cizgi izlerken istedigim yerde durup tekrar cizgi uzerinde hareket ettirme gibi programlayabilir miyim

  2. O pisti nasıl yaptınız, PDF veya Word dosyası olarak atabilir misiniz?Bizimde bu sene TÜBİTAK projemiz varda o pist çok lazım olacak

    • Hocam merhaba normalde masa üzerine elektrik bandı çekerek yapabilirsiniz. Ama benim zeminim olsun elimde derseniz reklamcılarda dekota levha üzerine baskı alarak bu şekilde taşınabilir bir sistem ayarlayabilirsiniz. Onlar bilir nasıl yapılacağını. Zemin olarak mblock kendi sitesinden indirip tasarımını ben yapmış ortaya robotlar eklemiştim. Şuan bulamadım ama çok önemliyse detaylı bakmaya çalışırım.

      Dekota yaptrımayı planlıyorsanız siyah mat dekota alın sadece üzerinede 1 cm lik beyaz arkası yapışkanlı folyo idi sanırım onlardan kestinin dilediğiniz pisti kendiniz oluşturun hocam. Uygun bir zamanda bunla ilgili bir video hazırlayabilirim.

Bir yanıt bırakın

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


*