28 Haziran 2021 Pazartesi

Arduıno ile Örümcek Robot Yapımı

 

    Evet Dostlar, bugün sizlerle birlikte Arduıno tabanlı bir örümcek robot yapıcaz.Ben projemde daha az yer kaplamasından dolayı Arduıno Nano kullanmayı tercih ettim fakat sizler istediğiniz Arduıno modelini kullanabilirsiniz.

Bu projeyi biraz kafa dağıtmak ve zaman geçirmek içi yaptığımdan dolayı robotumun bazı bölümlerini 3d kalem ile tasarladım. Projemizde kullandığımız malzemeleri sıraladıktan sonra projemizi yapmaya başlayabiliriz.

- Arduıno Nano (istediğiniz modeli kullanabilirsiniz)

- 3d kalem ve filament (sizler dilediğiniz materyalden parçaları yapabilirsiniz)

- bolca jumper kablo

-HC-SR04 mesafe sensörü

-2 adet motor

-bolca örümcek ayağı

-HC06 bluetooht modülü

    1.AŞAMA:

        İlk aşamızda robotumuzun belirli bir kısmını oluşturacağız. Tercihen öncelikle robotun baş kısmını yapmayı tercih ettim. 


    Görselden çok sağlam gözükmese de yaptığım düşme testlerini geçecek kadar sağlam bir yapıya sahip :) Şimdi robotumuzun baş kısmını yani Arduınomuzu koyacağımız yeri yaptığımıza göre artık Arduıno bağlantılarını frizting üzerinden yapma vakti.

    

            Fritzing üzerinden yapmış olduğumuz  devrenin bağlantılarını yapıp robotumuzun baş kısmına monteleyeceğiz.

 










21 Haziran 2021 Pazartesi

Arduıno ile Led Yakma

 Merhaba arkadaşlar. Arduino serimiz boyunca sizlerle birçok uygulama yapacağız. Ve ilk uygulamamıza bu yazımız ile başlıyoruz ! Hemen hemen bütün elektronik sistemlerde gördüğümüz, aydınlatmaya yarayan elektronik devre elemanı olan LED’i yakıp söndüreceğiz, sonrasında da biraz da LED nedir konusundan ve elektronik hesaplamalardan bahsedeceğiz.

Hadi başlayalım !

Gerekli malzemeler:

  • Arduino Uno
  • Breadboard
  • Led
  • Direnç
  • İki ucu erkek jumper kablo

Birkaç Satır Kod: Arduino LED Yakma (Blink) Kodu

Arduino kartının üzerinde 13 numaralı pine bağlı bir LED bulunmaktadır. Bu LED’i yakıp söndürmek için herhangi bir ekstradan dirence ihtiyaç duyulmaz; direnç zaten kart üzerinde mevcuttur.

Arduino programımızı açıyoruz. Şu sırayı takip ederek “Blink” isimli örnek programı açıyoruz:

Dosya > Örnekler 01.Basics > Blink


Bu kodu beraber inceleyelim:

pinMode(13, OUTPUT);

Bu satır, kart üzerindeki 13 numaralı pini çıkış verecek şekilde ayarlıyor. Kullanacağımız pin çıkış veya giriş olarak belirlenmez ise programın devamında yazacağımız giriş veya çıkış fonksiyonları, o pini kullanamaz.

digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);

Bu kısım ise öncelikle 13 numaralı pine HIGH lojik seviyesine, yani 5V’a ayarlıyor, 1000 milisaniye (1 saniyeye eşittir) hiçbir işlem yapmadan bekliyor ve bu sefer 13 numaralı pini lojik LOW yani 0V veya toprak hattı seviyesine ayarlıyor. Bu işlemi yaptıktan sonra mikokontrolcü, delay fonksiyonu sayesinde tekrardan 1 saniye hiçbir işlem yapmadan bekliyor.

Bu koddaki delay komutlarının sürelerini değiştirerek LED’in açık ve kapalı kaldığı süreleri değiştirebiliriz. Eğer başka bir pin kullanmak istersek tek yapmamız gereken pinMode ve digitalWrite fonksiyonlarında bulunan pin numarasını kullanmak istediğimiz pin numarası ile değiştirmek. LED’imize 220 Ω’luk bir direnci seri bağlamayı unutmuyoruz!

Yukarıdaki örnekte kart üzerinde hali hazırda bulunan LED ile blink uygulaması gerçekleştirdik. Şimdi ise kendi devremize kurup Arduino’ya bağlayarak bu uygulamayı gerçekleştirelim.

Devrede LED’e seri olarak bir direnç bağlanır. Böylelikle LED üzerinden yüksek akım geçmesi ve LED’in zarar görmesi engellenir. Örnek devrede LED’in (+) bacağı Arduino’nun 8.pinine bağlıdır. LED’in (-) bacağını dirence seri bağlayarak direncin diğer bacağından da Arduino’nun GND pinine bağlantı yapılmıştır. Böylelikle devre hazır hale gelmiş olur.  Bu devre ile blink yapabilmek için önceki uygulamanın kodunda 13 yazdığımız kısımları 8 yapmamız yeterli olacaktır. Böylelikle LED’in 13.pine değil 8.pine bağlı olduğunu Arduino’ya tanımlamış oluruz.

Gerilim, Akım ve Ohm Yasası Hakkında Bilgi Sahibi Olalım

Çeşitli devre elemanlarının farklı gerilim yani voltajlarda çalıştığını biliyoruz. Arduino kartımız ise 5V gerilimle çalışmaktadır. LED’imiz için ise bu durum biraz farklıdır. LED’in üzerinden geçecek maksimum akımın 20 mA (miliamper = amperin 1000’de 1’i) değerini geçmemesi gereklidir. Arduino’muz 5V ile çalışıyor demiştik. 5V değeri bize kartın çıkış gerilimini ifade etmektedir. Fakat LED 20 mA akıma ihtiyaç duymakta. Sanırım işler biraz karışmaya başladı. Korkmaya gerek yok! Her şeyin bir çözümü var 🙂

Eğer LED’imizi Arduino’ya doğrudan bağlayacak olursak, LED üzerinden kartın sağlayabileceği maksimum değerde akım geçecek ve LED’imiz veya kartımız bozulacaktır. Bunun için akım sınırlayıcı bir direnci LED’imize seri olarak bağlamamız gerekmekte. Peki bu direncin değeri nasıl belirlenecek? İşte burada Ohm Kanunu dediğimiz denklem devreye giriyor:

= i x R

Bu denklemde V bize gerilimi, i akımı ve R ise direnci temsil ediyor. Eğer 20 mA akıma ihtiyaç duyan LED’i,  Arduino’muzun 5V çıkış sağlayan pinlerinden birine bağlayacak olursak;

5V = 0,020A x R

Denklemini elde etmiş oluruz. Bu denklemden R’yi çekecek olursak sonucu 250 buluruz. Bu demek oluyor ki LED’imizi 5V gerilimle kullanmak için 250 Ω (ohm) değerinde bir dirence ihtiyacımız var. Tam değeri doğru tutturmamız çok önemli değil, elimizde mevcut olan 220 Ω’luk direnci kullanabiliriz.

Bu kadar teorik bilgi şimdilik yeterli 🙂 Hadi uygulamaya geçelim !

LED’lerimizi Yaktık Peki Nedir Bu LED?

LED, ışık yayan diyot anlamına gelen Light Emitting Diode sözcüğünün baş harflerinden oluşan bir kısaltmadır. Alışık olduğumuz ve çoğu projemizde kullandığımız 6V ile çalışan ufak ampullerin aksine LED’lerin anot ve katot olmak üzere iki farklı bacağı vardır. Bunlardan anodu pozitif gerilime yani + uca,  katot ise negatif gerilime yani – uca ya da toprak hattına (GND, Ground) bağlanmalıdır.




LED hakkında daha detaylı bilgi sahibi olmak için LED Nedir yazımızı inceleyebilirsiniz.

Arduino İle Malzemeler Ekleyerek Hangi Farklı Şekillerde LED Yakabiliriz?

Arduino ile LED’i sadece programlama yoluyla yakıp söndürerek kendimizi sınırlamıyoruz tabi ki. Buton, potansiyometre gibi devre elemanlarıyla manuel olarak yakıp söndürebilir veya sensörler yardımı ile sensör-aktüatör algoritmaları kurabilirsiniz.