Evdeki ve eldeki imkanlarla Robot Tasarlama – Kapak Yazısı

Şimdi ne durumda bilmiyorum ama bundan 6-7 sene önce  “Teknoloji Televizyonu” diye bir kanal vardı. Rüyalarımın kanalı… Sabah başına oturup akşam kalktığımı bilirim. Belki hatırlayanlarınız vardır; yazılım, donanım, internet, web tasarım, PIC programlama, digital devre tasarlama ve Robotik’e kadar her konuda programları mevcuttu… Türk televizyonlarında bir ilk…

Herneyse; yine bu kanal başında sabahlamalarımdan birinde robot tasarımı ve robotik konulu bir programda programın sahibi olduğunu düşündüğüm mühendis bey önceden tasarlayıp sipariş ettiği devre tahtasına yine önceden programladığı çipi, gerekli sensörleri, güç kaynaklarını lehimleyip, yine önceden tasarlayıp sipariş ettiği dış yüzey bileşenlerini de lehimleyerek yaklaşık 5 dakikada bir robot yapmıştı. O günden beridir içime dert oldu ben de yapayım, en azından ışık yakıp söndüreyim diye o günden beridir heveslenirim…

Gel gör ki üniversite yıllarına kadar hiç bir robot tasarlama girişiminde bulunmamışım.. Geç olsun güç olmasın diyerek sıvadım kolları…

Bu da diğer konularda olduğu gibi “Evdeki ve eldeki imkanlarla Robot Tasarlama” yazı dizisinin kapak yazısı olsun öyleyse…

Bir robot tasarlamayı ve programlamayı kafamıza koymadan önce bilmemiz gerek ilk şey;
Yaratım ve programlama süreci iki farklı adım olduğu gibi, bu süreçler de kendi içlerinde bölümleniyor.

Bu uyarıya rağmen hala dünyaya bir robot getirmek istiyorsanız, işe nereden ve nasıl başlamamız gerektiği ile giriş yazımıza başlayalım…

Öncelikle programlama aşamasından başlayalım.

Robotik programlama için önünüzde birkaç seçenek var. Geleneksel yöntemler ile programlama yapmak isterseniz ya ASSEMBLY ya da Micro C kullanarak, bir motoru çalıştırabilir, bir ses dosyası oynatabilir veya en basitinden bir ledi yakabilirsiniz.. Bu programlama dillerini hiç duymamış olanlar varsa, eminim gözleri korkmuştur. Ancak herhangi bir dille programlama yapmayı biliyorsanız, bu diller üzerinde en azından basit bir proje geliştirecek kadar hakimiyet kurmanız çok vaktinizi almayacaktır.

Eğer “Ben programlama konusunda bilgiye sahibim, ancak yeni bir dilin syntax’ına alışacak kadar bol vaktim yok!” diyorsanız, işte bu noktada MICROSOFT, biz üşengeçlerin yardımına koşuyor.

=== Microsoft Visual Programming Language ===

Adından da anlaşılacağı gibi, tamamen görsele dayalı bir programlama dili. Akış diyagramları, UML’ler… Programlamada kullandığınız tüm terimler, seçim yapıları, I/O komutları, her şey bu dil için birer sembolden ibaret…
Ancak bu dili kullanarak bir mikrodenetleyici nasıl programlanır diyorsanız, sonraki yazılarda böyle bir şeyin mümkün olup olmadığını, oluyorsa nasıl olduğunu paylaşacağım..

PIC programlama dillerine ve MVPL’ye daha sonra detaylı olarak değineceğiz. Şimdi dil konusunu hallettiğimizi varsayarak bir sonraki adıma geçelim..

Şüphesiz, yazdığımız kodu, bir PIC’e yüklememiz gerekli. PIC nedir ?

>> Budur <<

Bilgisayar, elektrik-elektronik veya makine mühendisliği bölümlerinde okuyanlar büyük olasılıkla bu küçük örümcekimsi parçacıkla daha önce karşılaşmıştır.
Basitçe, bilinen AND, OR, NOT gibi işlemleri yapmak üzere hazır olarak edindiğimiz entegrelerin (7808, 7800 gibi) gelişmişi diyebilirim sanırım. Modeline göre farklılık gösterse de çoğunluğunun genel özellikleri şöyle;
– İçlerinde küçük bir ROM (EPROM) barındırıyorlar. (Bu nedenle bir kez yazıldıktan sonra ancak manyetik işlemlere maruz bırakılarak silinebiliyorlar.)
Bu ROM, sizin bu çip için yazdığınız programı çipin üzerinde kalıcı olarak saklayabilmenizi sağlıyor. (Yani yazdığınız kod burada tutuluyor diyebilirim. )
– Bunun yanı sıra, devam eden işlemler için elde edilen veya kullanılacak verileri saklamak üzere bir adet RAM bulunduruyor. Tahmin edersiniz ki RAM, sistem her kapandığında sıfırlanıyor. Bu nedenle RAM için bir silme işlemine gerek kalmıyor.
– Bunlar dışında resimde de gördüğünüz gibi, PIC’in özelliğine göre üzerinde farklı sayılarda pin bulunuyor. (Metal ayaklar)
Bu ayakların sayısı yanlış bilmiyorsam 4 – 32 arasında değişiyor. PIC, üzerinde bulunduğu devreyle iletişimini bu ayaklar sayesinde sağlıyor. Ayaklar pek çok işe yarayabiliyor.
Bu ayaklardan bir tanesi PIC’in çalışmasını sağlayacak besleme gerilimine ayrılmış durumda. Kalan bacaklar da PIC’in modelinin değişmesine göre farklılık gösterse de genel olarak şu işlemleri yapabiliyor;

– I/O Enable
Veri giriş çıkışına izin verilip verilmediğini belirliyor (Pindeki gerilim yüksek ise izin veriliyor, düşük ise verilmiyor – gibi…)
– I/O
Eğer okuma ve yazma yapılan pinler çakışıyorsa, bu pinler üzerinde o an hangi işlemin yapılmasının beklendiğini belirliyor. (Gerilim yüksekse okuma, düşükse yazma – gibi…)
– Enable
Bütün çipin, aktif olup olmama durumunu belirliyor.
– Input ve Output pinleri
Veri giriş ve çıkışının yapılacağı pinler.
– Flag pins
Yapacağınız işleme göre, özel bir durum oluşma ihtimali var ise, bu durumun kontrolünü sağlayabilmeniz için kullanabileceğiniz pinler. (Örneğin 0’a bölme hatası gibi – hata varsa bu pine yüksek gerilim verilir – gibi..)

Genel hatlarıyla aklıma gelen işlevler bunlar..
Hangi pin’in ne işe yaradığını da datasheet’lerden öğreniyoruz…

Bir datasheet örneği.

Örneğin yukarıdaki bağlantıda,
PIC16F627A/628A/648A için datasheet’leri bulabilirsiniz…

Bir diğer merak konusu elbette bu küçük parçacıkların fiyatı… Araştırdığım kadarıyla fiyatlar 5 Türk Lirası’ndan başlıyor. Özelliklerine göre bu fiyat daha da artabiliyor.
( Örneğin üzerinde düşük kapasitede RAM ya da ROM barındıran bir çipi edinip, dışarıdan o çipe RAM – ROM takviyesi yapmanız da mümkün. )

İş bu parçaları almakla da bitmiyor. Eğer evde kendim bu işle uğraşacağım diyorsanız, o zaman size bir adet de PIC Programlayıcı lazım. Burada da üç seçenek karşımıza çıkıyor.
– Seri Port bağlantılı PIC programlayıcı
Masaüstü bilgisayarlarınız varsa 25-30 lira arasında bir fiyata edinip rahatlıkla işlem yapabileceğiniz bir programlayıcı. Arayüz programı ile birlikte geliyor.
– USB Bağlantılı PIC programlayıcı
Hem masaüstü bilgisayar hem de dizüstü bilgisayar kullanıcıları için rahatlıkla kullanabilecekleri bir programlayıcı. Fiyatı biraz daha tuzlu da olsa, evrenselliği açısından düşününce fiyat/performans oranı
çok da fena sayılmaz. 45-50 lira arası bir fiyata edinebilirsiniz. Bu da arayüz programı ile birlikte geliyor.

Son olarak da canlısını hiç görmediğim ama burada rastladığım Paralel Port bağlantılı PIC programlayıcı… İnceleme fırsatım olmadı ne yazık ki…

PIC programlayıcımızı alıp arayüz kurulumunu da yaptıktan sonra, artık iş tasarlayacağımız robotun yerine getireceği işlemlere göre diğer donanımları edinmeye geliyor. Burada bir fiyat vermek çok zor, çünkü hak verirsiniz ki kumandalı bir robot tasarlamak istediğinizde, kumanda alıcısı kızıl ötesi alıcı da olabilir, bir bluetooth alıcı da olabilir. Tekerlekler veya eklemler için kullanacağınız motorlar 9 voltluk basit motorlar da olabilir, rpm’i çok yüksek olan devasa motorlar da olabilir. Bu tamamen sizin fantezilerinize kalmış durumda…

En sona da, yaptığınız robotun kılıfını geçirmek kalıyor. Bunun için de eğer işi ciddiye alıyorsanız, metal plakalar, kaynak makineleri, sprey yüzey boyaları ve bir alet çantası dolusu ekipmanla geçecek bir dönem sizi bekliyor olacak… Robotu tasarlayıp simüle ettikten sonra, en zevkli kısmın bu olacağını düşünüyorum, sonuçta herşeyin göze hitap edeni daha bir güzel…

Şimdilik bu konuda edindiğim bilgiler bunlarla sınırlı… Yanlış öğrendiğim, hatalı olduğum bir bölüm varsa, doğrusunu paylaşırsanız sevinirim…

Çok sık olmasa da yeni bir şey öğrendikçe bu yazı dizisinin de devamı gelecek…

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: