Alışverişlerinizi Robotistan’dan Yapın

Faydalı içerikler oluşturarak size yardımcı olmak istiyoruz. Aynı zamanda uygun fiyat, hızlı teslimat ve kaliteli hizmetle Robotistan.com’da hizmet veriyoruz. Siz de alışverişlerinizi robotistan.com‘dan yaparak bize yardımcı olabilirsiniz 🙂

Arduino ile LED Yakma – Arduino Blink Uygulaması

Merhaba arkadaşlar. Arduino serimiz boyunca sizlerle birçok uygulama yapacağımızı, bunları yaparak öğreneceğimizi söylemiştik. İlk yazımızda detaylı olarak Arduino’dan bahsetmiştik ve sonrasında da kurulumunu göstermiştik.

Eğer “ben görmedim” diyorsanız seriyi kaçırmamanız adına ilk yazımıza buradan ulaşabilirsiniz: Arduino Nedir, neler yapılabilir? Detaylı Arduino Kurulumu

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 !

Arduino Blink – Arduino İle LED Yakmak Çok Kolay! 

Gerekli malzemeler: ( Not: Arduino ile LED Yakma ve 10. Derse Kadar Olan Dersleri “Arduino Başlangıç Seti” İle Yapabilirsiniz. Malzemeler Bu Sette! >)

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!

Arduino LED Yakmak İçin Gereken Devre

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:

V = 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.

Direnç hesaplamaları, Ohm yasası ve direnç renk kodları hakkında daha detaylı bilgi edinmek isterseniz sizi Direnç Nedir yazımıza yönlendirebiliriz.

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.

Örnek olarak Arduino ile Buton ve LED Uygulaması yazımızı inceleyebilirsiniz.

Paylaş

Yorumları Görüntüle

  • Arduino:1.6.5 (Windows 8.1), Kart:"Arduino Uno"

    Çalışmanız programın 906 bayt (2 %) saklama alanını kullandı. Maksimum 32.256 bayt.

    Global variables use 9 bytes (0%) of dynamic memory, leaving 2.039 bytes for local variables. Maximum is 2.048 bytes.

    avrdude: stk500_recv(): programmer is not responding

    avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x0d

    avrdude: stk500_recv(): programmer is not responding

    avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x0d

    avrdude: stk500_recv(): programmer is not responding

    avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x0d

    avrdude: stk500_recv(): programmer is not responding

    avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x0d

    avrdude: stk500_recv(): programmer is not responding

    avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x0d

    avrdude: stk500_recv(): programmer is not responding

    avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x0d

    avrdude: stk500_recv(): programmer is not responding

    avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x0d

    avrdude: stk500_recv(): programmer is not responding

    avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x0d

    avrdude: stk500_recv(): programmer is not responding

    avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x0d

    avrdude: stk500_recv(): programmer is not responding

    avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x0d

    Karta yüklenirken sorun oluştu. Tavsiyeler için http://www.arduino.cc/en/Guide/Troubleshooting#upload adresine göz atabilirsiniz.

    Rapor daha fazla veri içermeli
    "Derleme sırasında ayrıntılı çıktı göster"
    Dosya > Tercihler'de etkinleştirilmiş.
    yğklerken bu hatayı veriyor

    • Aldığınız hatanın birkaç sebebi olabilir.
      - Arduino'nuzun 0 ve 1 numaralı dijital pinlerine bir devre elemanı bağlıdır.
      - Bilgisayarınızda Arduino sürücüleri doğru bir şekilde yüklü değildir.
      - Arduino IDE'de doğru COM portu seçili değildir.
      - Arduino'nuz arızalıdır.

      Arduino'nuzun sürücülerini yüklemede sorun yaşıyorsanız buradaki rehberimizden yararlanabilirsiniz.

  • Sadece Arduino hakkında değil, temel kavramlara ait bilgi aktarımlarının da olması, dersleri mükemmel hale getirmiş. Ellerinize sağlık.

  • 3 adet paralel ledi tek çıkışa bağladığımızda 120 ohm direnç kullanabilir miyiz? 5/120=42 mA 3 ledin yanmasını sağlar mı? Bir de her pinden en fazla 40 mA çekilmesi gerekiyor; 42 mA bu durumda Arduino'ya zarar verir mi?

    • Verebilir. Çıkışları bir transistör veya sürücü devresi ile güçlendirmeniz gereklidir.

  • Merhaba ben devreyi herhangi bir direnç olmadan kurdum ve başarılı bir şekilde çalıştı. Led'in kendi direnci nedir acaba? Birde ne kadarlık bir akım değeri Led'in yanmasına sebep olur? Şimdiden teşekkürler. İyi çalışmalar.

    • Bu devredeki direncimiz LED'i değil, daha çok Arduino'yu korumak için kullanılmıştır. LED'lerin akım değerleri modeline göre değişmektedir, güvenli olması için çoğu LED'in sorunsuzca çalışacağı 20mA değerinde sabitliyoruz.

  • Kerem bey;
    Her arduino uno modeli ile bu çalışmayı yapabilir miyiz?
    Elimde ard-brd-102 modeli var.

  • Direnci değiştirirsek sonuç nasıl değişir/değişir mi? Mesela 220 yerine 330 ya da 1k ohm direnç kullanmak?

  • kolay gelsin ben bluetooth ile yanan isimli bi led tabela yapıcam bu arduino uno kart ile kaç lede kadar nasıl bi bağlantı yapabilirim 100 kadar led kullanıcam yardımcı olursanız çok sevinirim iyi çalışmalar

  • Binary sketch size: 1082 bytes (of a 32256 byte maximum) hatası alıyorum her denememde. Bu hatayı nasıl çözebilirm?

En Son İçerik

  • Arduino
  • Arduino Programlama ve Dersler

Arduino ile RFID Kart Okuyucu (RC522) Modül Kullanarak Kapı Kilidi Yapımı

< 19. Derse Dön Herkese merhabalar. Eve kim ne zaman girmiş çıkmış, bilmek istemez misiniz? Öyleyse bu proje size göre…

19 dakika Önce
  • Arduino
  • Arduino C# Projeleri ve Uygulamaları

Arduino ve C# ile Mesafe Ölçer – 4. Ders

Sonraki Ders > < Önceki Ders Arkadaşlar merhaba, bu dersimizde HC-SR04 sensörü ile ölçtüğümüz mesafeyi seri haberleşme yardımıyla anlık olarak…

5 gün Önce
  • Arduino
  • Arduino Programlama ve Dersler
  • Arduino Projeleri
  • Genel

Arduino İle MQ Gaz Sensörlerinin Kullanımı – Yanıcı Gaz Alarmı

20. Derse Geç > < 18. Derse Dön Arkadaşlar herkese selamlar ! Daha önce hiç gaz sensörü kullandınız mı? Bu…

3 hafta Önce
  • Arduino
  • Arduino Programlama ve Dersler
  • Arduino Projeleri
  • Genel

Arduino İle Yağmur Sensörü Kullanarak Yağmur Alarmı Yapalım

19. Derse Geç > < 17. Derse Dön Herkese selamlar ! Bu yazımızda ise yağmur sensörü kullanarak Arduino ile Yağmur…

3 hafta Önce
  • Arduino
  • Arduino C# Projeleri ve Uygulamaları

Arduino ve C# Haberleşmesi ile RGB Led Kontrolü – 3. Ders

Sonraki Ders > < Önceki Ders Arkadaşlar merhaba, Arduino ve C# haberleşmesi serisinin 3. yazısında RGB led kontrolü yapabileceğimiz bir…

1 ay Önce
  • Arduino
  • Arduino Programlama ve Dersler
  • Arduino Projeleri
  • Genel

Arduino İle Toprak Nem Sensörü Kullanarak Nem Ölçer Yapımı

18. Derse Geç > < 16. Derse Dön Merhaba arkadaşlar ! Arduino serimiz boyunca keyifli projeler yaptık ve bu yazımızda…

1 ay Önce