mBlock ile Arduino! Engelden Kaçan Robot Projesi

Artık yavaştan mBlock hikayemizin sonuna geliyoruz. Aylar önce başladığımız bu güzel yolculuğa artık adım adım veda ediyoruz. Bu yolda sizlerle birlikte motorların kullanımının, sensörlerin kullanımının, LCD kullanımının ve bunun gibi bir sürü elemanın nasıl çalıştığını, birbirine nasıl entegre edebileceğimizi öğrendik. Artık yavaştan daha karmaşık projelere geçmeye başladık ama bu onun zor olduğu anlamına gelmez. Sadece biraz daha emek, efor ister bizden o kadar. Gerçekten istediğimiz sürece, bizlere hiç bir şey zor gelmez.

Ultrasonik Mesafe Sensörü

mBlock serimizin yazılarının birinde, Ultrasonik mesafe sensörlerinden zaten detaylıca bahsetmiştim. Hepimizin bildiği gibi bu sensörler hayatımıza mesafe tespiti ve bunların ölçümü amacı ile girmiştir. Ardından ise günümüze daha da gelişerek en son ki halini almıştır. Şu an da günümüzde en yaygın olarak kullanılmakta olan kızılötesi ve ultrasonik olmak üzere iki çeşit mesafe sensörü vardır. Bizim engelden kaçan robotumuzu yaparken de ultrasonik mesafe sensörünü kullanacağız. Bugün kullanmakta olduğumuz HC-SR04 Ultrasonik Mesafe Sensörümüz 0 ila 4 metre arasında ölçüm yapmaktadır. Bu sensörler adına bildiğimiz gibi alıcı ve verici olmak üzere Trig ve Echo pinleri bulunmaktadır. Bunlar mesafe algılama ve ölçmede kritik rol oynarlar ve totalde 4 pinimiz bulunmaktadır.

Pin Girişleri

  • VCC = 5Volt
  • TRIG= Ultrasonik bir ses yayılması
  • ECHO= Geri dönen ultrasonik Sesin geri tutulması
  • GND= Topraklama

Motor Sürücü Nedir?

Bildiğimiz gibi projelerimizde motor kullanırken motor sürücüleri kullanmamız gerekmektedir. Sebebi ise eğer motorunuzu direk olarak kontrol etmek istediğiniz kartınıza bağlamaya çalışırsanız, motorunuz çekeceği akımı kontrol edemeyeceğinden ve yüksek akım çekmek isteyeceğinden dolayı yüksek ihtimalle kartınıza zarar verecektir. Sürücümüz güç kaynağından gelen akımı kontrol etmekte ve motorumuza istediğini gibi akım çekmesine izin vermemektedir. Bu sebepten ötürü her zaman motorlarımızla birlikte proje yaparken motor sürücü kullanmaktayız. Motor sürücüler güç kaynağından motora aktara bildiği akıma karşılık olarak seçilmektedirler. Tabii ki günümüzde bir sürü motor çeşidi olduğu için bu karşılık bir sürü motor sürücü bulunmaktadır. Projelerimizde en mantıklı ve faydalı olanı seçmek bizim yararımıza olacaktır. Biz bugün ki projemizde L9110 adlı DC motor sürücüsünü kullanacağız. Siz isteğe bağlı olarak L298 DC motor sürücüsünü de tercih edebilirsiniz.

engelden kaçan robot, mBlock ile Arduino! Engelden Kaçan Robot Projesi

Engelden Kaçan Robot Nedir?

Otonom olarak önündeki engeli algılayabilen, çevre kontrolünü yapabilen ve buna bağlı olarak karşısındaki engeli yine otonom olarak atlatabilen robotlara Engelden Kaçan Robot denir. Kendi içinde donanım, algoritma gibi bir sürü yapısı vardır. Çeşit çeşit malzemelerin kullanımı ile oluşturulabilir ama genel olarak çalışma mantaliteleri aynıdır. Tabii ki çalışma amacını yerine getirmesi için kendi içinde belli başlı kritik malzemeleri vardır. Bunlara örnek vermek gerekirse, Ultrasonik Mesafe Sensörü ve DC motorlarımızı kontrol etmemizi sağlayan motor sürücü denebilir. Günümüzde engelden kaçan robot birçok alanda sıklıkla kullanılmaktadır. Kullandığımız araçlarda çalışır durumdayken engel algılamadan, askeri kullanım alanlarına ve hatta etrafındaki engellere çarpmadan kendi kendine gezinen süpürgelere kadar geniş bir kullanım alanına sahiptir. Bu projemizin kullanım amacı tamamen kullanıcın isteğine bağlı olarak değişmektedir. Tabii ki de ona bağlı olarak proje üzerinde oynamalar olabilir. Yine de amaçları genel olarak benzer işlemektedir.

Gereken Malzemeler

Malzeme listesine geçmeden önce bir kavramdan bahsetmek istiyorum. Bu kavramın adı Mbot’dur. Mbot, yaş farketmeksizin robotik projelerine, programlamalarına yeni başlayanlar için veya kendini daha da geliştirmek isteyenler için üretilmiş olan aletlere verilen addır. Bu sistemi bir kit gibi düşünebilirsiniz. Bu kitlerin yapımı çok zor olmamakla birlikte, üstelik mBlockla kodlamaya da açık olduğundan dolayı kendini geliştirmek isteyenler için çok güzel bir fırsattır. Mbot’lar ile engelden kaçan robot, çizgi izleyen robot veya sumo robot gibi projeler gerçekleştirebilirsiniz. Orası tamamen sizin hayal gücünüze bağlıdır.

 

Konumuza devam etmek gerekirse, eğer bunları kit şeklinde almak istemiyorsanız o zaman engelden kaçan robot için aşağıdaki malzemeleri sağlamanız gerekmektedir.

·         Arduino UNO

·         2 Adet 6V 250RPM DC Motor + Tekerlek

·         L9110 Motor Sürücü

 

·         2WD Robot Şasesi

·         HCSR04 Ultrasonik Mesafe Sensörü

·         Mesafe Sensörü Tutucu (isteğe bağlı)

·         Jumper Kablolar

 

·         4’lü Pil Yuvası

engelden kaçan robot, mBlock ile Arduino! Engelden Kaçan Robot Projesi

Montaj Aşaması

Öncelikle montajımıza başlamadan önce sizlere robotumuzu üstüne kuracağımız şasemizden bahsetmek istiyorum. Bu şasemizin farklı farklı çeşitleri ve renkleri olmaktadır. Genellikle belirli noktalardan delikler sizin için açılmış hazır halde evinize gelmektedir. Eğer siz üstünde oynama yapmak isterseniz, bunun için küçük el matkabı işinizi görmektedir. İlk olarak bu tarz projelerimizin montajlarına her zaman motorlar ve tekerleklerle başlarız.  Ardından motor sürücü, pil yuvası, arduinonun yerleştirilmesi ve en son olarak ise ultrasonik mesafe sensörünün yerleştirilmesi ile son bulmaktadır. Ek hatırlatma olarak şunu söylemek isterim. Ultrasonik mesafe sensörünün yerleşme aşamasında sensör tutucu kullanabilirsiniz. Yine de benim elimde hali hazırda sensör tutucum olmadığı için ve çift taraflı bantım da bittiği için tamamen kendi imkanlarımla sabitlemeye çalıştım. Bu da bir nevi karantina zamanlarına ithafen, sizler tatlı bir çalışma ortaya koymamıza sebep oldu. Sizler isterseniz çift taraflı bant veya tutucu yardımı ile daha güzel bir görüntü elde edebilirsiniz.

Birinci Bölüm

İlk olarak DC motorlarımızı, elimizde sahip olduğumuz, hali hazırda elimize geçmiş olan parçalardan olan kahverengi ve uzun bir görünüme sahip parça yardımı ile yerlerine tutturuyoruz. Ardından vidalar ile daha da sağlam bir hale getiriyoruz. Devamında ise elimizdeki sarhoş tekerimizi de uç kısmına vidalar aracılığı ile sabitliyoruz. Bunları yaparken tabii ki de motorlarımıza zarar vermemeye özen gösteriyoruz. Ek olarak ise motorumuzu yerleştirirken eğer enerjiyi sağlayacağınız girişlerde kablo yoksa, benim gibi oraya lehim yardımı ile kablo lehimlemeniz gerekecektir.

engelden kaçan robot, mBlock ile Arduino! Engelden Kaçan Robot Projesi
engelden kaçan robot, mBlock ile Arduino! Engelden Kaçan Robot Projesi

İkinci Bölüm

Bu bölümümüzde ise sırası ile pil yuvamızın, motor sürücümüzün, arduinomuzun ve sensörümüzün montajlarını sırası ile yapıyoruz. Burada önemli nokta ise planlamanızı montajı gerçekleştirmeden yaparsanız, hata payını olabildiğince düşürmüş olursunuz. Ekstra olarak ise motor sürücümüze bir yükseltme işlemi uyguluyoruz. Bunun sebebi ise kablo bağlantı işlemlerimizi gerçekleştirirken, ortalığın çok fazla karışmasını önlemektir. Arduino montajı sırasında çift taraflı bant, sıcak silikon ve benzeri şeyleri kullanabilirsiniz. Ek olarak şunu belirtmek isterim, eğer projenizin kullanımını kolaylaştırmak isterseniz, pil yuvanızın kablolarına anahtar bağlayabilirsiniz. Bu sayede pilleri çıkartmanıza gerek kalmadan kontrolünü sağlamış olursunuz. Dediğim gibi bu süreçte en önemli şey, planlamanızın güzel ve doğru olmasıdır.           

engelden kaçan robot, mBlock ile Arduino! Engelden Kaçan Robot Projesi

Bağlantı Şeması

Öncelikle bağlantı şemamıza başlamadan önce söylemek istiyorum, burada yapılanlar bazen karmaşık gelebilir ama bunun sebebi konunun zor olması değil, sadece yeni başlayanların alışık olmadığından dolayıdır. İleri dönük düşündüğünüzde bu projeler hiç de zorlayıcı gelmeyecek, hatta ilerisi için çok güzel bilgi yatırımı sağlayacaktır. O zaman bağlantımıza geçelim. Montajımızı bitirdiğimiz için artık projemizin kafamızda biraz daha oturmuş olması lazım. İlk bağlantısını sağlayacağımız şey mesafe sensörümüz olacaktır. Bağlantı pinleri sırası ile 5V, 4 ve 5 numaralı pin, son olarak ise GND olacaktır. Devamında ise DC motorlarımızın kablolarını, sürücümüzün Motor A ve Motor B pinlerine bağlıyoruz. Bu işlemi elimizdeki küçük bir yıldız tornavida ile hızlıca halledebiliriz. Ardından motor sürücümü kontrol etmemizi sağlayan pinlerimizi alt tarafta gözüktüğü gibi bağlıyoruz. Devamında şunu belirtmek istiyorum, Pil yuvanızdan çıkan 5V ve GND kablolarını sürücünüzün VCC ve GND girişlerine bağlanmalıdır. Üstüne Arduinodan gelmekte olan 5V ve GND bağlantıları da sürücüne bağlanmalıdır ki kontrol sağlanabilsin. Bu yüzden bu noktada bu 3 giriş arasında bağlantı sağlamanız gerekmektedir. Kullandığınız sürücüye bağlı olarak bu bağlantıyı sağlama şekliniz değişebilir. Ben L9110 motor sürücüsü kullandığım için ve projemin sağlam olmasını istediğim için lehim yapmayı tercih ettim.

engelden kaçan robot, mBlock ile Arduino! Engelden Kaçan Robot Projesi
engelden kaçan robot, mBlock ile Arduino! Engelden Kaçan Robot Projesi

Kod Blok Yapısı

Öncelikle programımızı Arduino Kipi modunda çalıştıracağımız için “Arduino Programı” bloğuyla başlıyoruz. Devamında “Sürekli Tekrarla” bloğunu koyuyoruz. Sonrasında ““Ultrasonik 4 tetik pini 5 okuma pini” <20” olana kadar bekle bloğunu oluşturuyoruz. İçine ise sürücü sayesinde pinlerini bağlamış olduğumuz bağlantılarımıza enerji verip, kesmeyi sağlayan bloklardan atıyoruz. 6 ve 8 Numaralı pini yüksek diğer ikisini düşük yapıyoruz. Bu sayede ileri gitmesi sağlanıyor. 20 cm’e ulaştığında 0,5 saniye geri gitmesi sağlanıyor. Bunu sağlamak için bir önceki enerji verdiğimiz pinlerin tam tersine enerji vermemiz gerekiyor. Devamında ise bir yöne 0.3 saniyelik dönüşü sağlanıyor ve robotumuz tekrardan yoluna devam ediyor. Aslında kod blok yapımız bu kadar basit. Artık projemiz bitmiş bulunmaktadır. Son kontrolleri yaparak çalıştırabilirsiniz.

engelden kaçan robot, mBlock ile Arduino! Engelden Kaçan Robot Projesi

Simülasyon

engelden kaçan robot, mBlock ile Arduino! Engelden Kaçan Robot Projesi