Bugünkü yazımızda daha sonrasına temel oluşturacağımız robotik uygulamaların Arduino ile temellenmesine başlayacağız. Bir nevi seri olacak. Aslında Arduino’ya özel yazılarımız var ama ben direkt robotik üzerinden paylaşım yapacağım. Arduino, en basit tanımıyla hafızasına aldığı veriyi (EEPROM adı altında özel bir mikrodenetleyici) analog ve dijital çıkışlarıyla yapılan çalışmayı istenildiği gibi yönlendiren bir özel platformdur. Bu platform açık dünya oyunları gibi Elektroniğe sürekli geliştirilebilir ve genişletilebilir bir ortam sağlamıştır. Peki neden robotik? Zira robotik uygulamalar Arduino için biçilmiş kaftandır.
5 maddede ne tür uygulamalar yapabileceğimizi ve nasıl hayata geçirebileceğimizi konuşalım;
1. Telefon yardımıyla uzaktan kontrollü standart araç
2. Sensörlerle telefona veri ileten robot
3. Konuşan bir robot
4. Kameralı ve görüntü işlemeli uygulamalar
5. GSM ve WiFi üzerinden robotun dışarıdan kontrolü
Telefon yardımıyla uzaktan kontrollü standart araç
Burada ihtiyacımız olan ilk modül elbette HC-05 (HC-06 gibi türevleri de var) isimli Arduino üzerinde kullanılan modüldür. Bunu herkesin yapabilmesi istendiğinden oyuncak bir platform kullanabiliriz. Daha sonra video ekleyeceğim konu ise bu platformda olacaktır. (Aynı zamanda kıskaç eklemesi yapılacak, robotun istenilen bir yerden başka bir yere ufak malzemeler taşıması sağlanacak) Telefona yazılan özel uygulama sayesinde robotun Arduino ile iletişimi sağlanacak ve bağlantılar görevini yerine getirecektir. (Telefon uygulamasının ayrıca diğer konuda tanıtımı yapılacak, MIT’ye (Üniversite) ait App Inventor 2 ile yapacağım ve ayrıca APK dosyasını vereceğim. İsteyenler daha sonra Android Studio üzerinden yapılışını da sorabilir) Bu telefon uygulamasında kıskaç için gereken çeşitli servo motorlar ile tekerlekler aynı anda kontrol edilecektir, bu yüzden butonların küçük olabilmesi söz konusu, ekranınız geniş ekran olursa uygulamayı daha rahat kontrol edebilirsiniz. Tekerlekler gerçek bir robotta uygun mekanik aksam sağlandıktan sonra tekerleklerin işlevini görmektedir.
Uygun Arduino motor sürücüsü ve robotik kol;
O görülen robot kol kiti oyuncak görünümlü araç platformunun üzerine yerleştirilecektir.
Böylece, bu tarz basit bir platformun aslında bize ne kadar çok şey öğretebildiğini de görmüş olacağız.
Sensörlerle telefona veri ileten robot
Çeşitli sensörler kullanarak robotun otonom (Kendi halinde) kontrolü sağlanabilir ama bu kontrol esnasında veri alabilirsek aynı zamanda robotun ne gibi bir durumla karşılaştığından da haberdar olabiliriz. Sensörlerden örnek verecek olursak ultrasonik (Mesafe algılayan) sensör kullanılabilir, hareket sensörü veya kızılötesi sensör kullanılabilir. Hepsi bir arada da kullanılabilir. Burada amaç ev içerisinde durum kontrolü yapmak.
Konuşan bir robot
Burada direkt olarak yapay zekadan bahsetmiyorum, kendi başıma böyle bir sistem tasarlasam şüphesiz kendi şirketim de olurdu. Sensörlerden veya kameradan (Görüntü işleme ile) aldığı her bilgiye göre Arduino’nun okuyacağı (Özel SD kart bağlantısı ile) bir çeşit cümle toplulukları bu esasında. Elbette hoparlör de gerekecektir, bunun için ilerleyen zamanlarda daha büyük platformlar üzerinde çalışabilirim.
Kameralı ve görüntü işlemeli uygulamalar
Kameranın en büyük avantajı durumu izleyebilmemiz, en büyük dezavantajı ise Arduino’nun istediğim kadar büyük veriyi aktarabilecek kapasiteye sahip olup olmadığı sorunsalı. Burada devreye Bluetooth da gireceğinden daha uygun mikrodenetleyicili DIY (Do It Yourself) sistemlere gidilebilir. Yine Arduino sistemine benzer ve tıpkı Arduino gibi C++ ile idare edilen bir sistem olacaktır ama bunu tasarlamam birkaç yılı dahi bulabilir. Yani kamera uygulaması şimdilik görüntü işleme için tercih edilebilir ya da HD görüntü tercih edilmeyebilir, yoksa özel kamera sistemleri mevcut. Ancak asıl istediğim şey bunu sadece Bluetooth ile yapmaması.
GSM ve WiFi üzerinden robotun dışarıdan kontrolü
Bomba en sonda. Şu anda arzuladığım son nokta ise geliştirdiğim robotun kesinlikle dışarıdan da bana tepki verebilmesi. Burada sürekli açık durmaması önemli. Bu yüzden muhakkak farklı bir sistem tercih edeceğim, yoksa kullanılan akü çabuk bir şekilde bitebilir. Dışarıdan tetiklemek de mümkün aslında ama öyle bir sistem olmalı ki sensörler tepki aldığında (Uyku modunda çok az güç çekebilecek şekilde bir tasarım olabilir) bana direkt veri gönderebilmeli. (Bildirim gibi) O esnada telefona bakamıyorsam anlık kamera görüntüleri atabilmeli ve gerekirse görüntü işleme de yaparak evdekinin kim olduğuna bağlı olarak konulan yerden çıkabilmeli, bana kimin geldiğini haber verebilmeli veya tanımlanamayan kişi ihbarı da verebilmeli. (Bana veya 155 gibi acil servislere) Bu benim robotik konusunda nirvanam.
İlginizi çekebilir: mikrodenetleyici nedir ne işe yarar
Öyle koşsun, adam devirsin, zıplasın gibi dertlerim yok. Anlayana bu oldukça gelişmiş bir uygulama, hatta isteyen fikrimden faydalanabilir, benden önce yaparlarsa onlara ne mutlu. Robotun görüntüsü basit kaçabilir, bu yüzden robot sınıfında görülmeyebilir de ama otonom ve normal yollardan bir arada çalışabilen her cihaz bir robottur esasında. Bunu gerçekleştirmem benim için önemli ama gerçekleştirmem durumunda GSM – WiFi bağlantı uygulamamı (Haberleşme kitapları belki de geri çıkarılacak) ve seçtiğim Arduino türevi gelişmiş denetleyici sistemimin (Board üzerindeki devre şeması) detaylarını elbette ki sadece kendim bileceğim. Bunu yapmam yıllar sürebilir ama hiçbir şey imkansız değildir! Okuyanlara teşekkürler. Bilim ve mühendislik ile esen kalın! Mobil araba ile yapacağım video ve uygulamanın açıklamaları bir sonraki yazımızda.