Arduino ile Adreslenebilir Şerit (Neopixel) Led Kodlamak

Merhabalar,
Bu yazıda Bu sayfadaki gibi ledlerin nasıl programlandığına değineceğim…

 

15 Adet Led düşünelim bu ledleri sırasıyla veya belirli animasyonlarla, kara şimşek usülü veya kayar şekilde yakabilmek için Arduino kullanmamız gerekir ise 15′ ledimizin – lerini ortak , + kutuplarını dijital ve analog girişleri kullanarak sırasıyla yakıp söndürebiliriz.

Fakat her pinlerin özelliği (PWM) aynı olmadığından , tümünün parlaklığını artırıp azaltamazsınız. ve tüm pinler dolduğu için arduinoyu başka iş için kullanamazsınız ve ledleriniz hep tek renk olur mecburen.

Varsayalım RGB led aldınız yine 1 led için 3 PWM pinlerinizi kullanmanız gerekir. Arduino da 6 pwm olduğunu düşünürsek. 1 arduino ile 2 RGB led kontrol edebilirsiniz.

 

  • Peki Nedir Bu Adreslenebilir led ?
    Bu Ledlerin her biri RGB’dir yani tabiri caizde sınırsız renk üretebilir. Her ledin içerisinde bir Kontrolcü (WS2812 ,  WS2811  ve SK6812)  ve 3 Adet led bulunur. RGB (Red,Green,Blue) (Kırmızı,Yeşil,Mavi) ve içerisindeki kontrolcü vasıtasıyla bu kontrolcüyü kodlayarak istediğimiz rengi üretmesiniz sağlayabiliriz.

 

  • Arduino’ya nasıl bağlanır  ?
    Adreslenebilir ledlerin bir çok türü var ben şerit led olanı üzerinden anlatım yapacağım.
    Adreslenebilir ledimiz 5v gerilim ile çalışır 3 girişi bulunur, 5v+ , Gnd ve Data girişi, Aşağıdaki gibi, Arduinon’un 5v ve gnd çıkışını olduğu gibi bağlayabiliriz.  PWM çıkışlarından herhangi birini de Adreslenebilir ledimizin Data girişine (Direnç kulanarak) bağlıyoruz..
  • Bu şekilde bir bağlantıdan sonra Arduino’da yazılım ile 1. led sarı yansın parlaklığı 50 olsun,  2. led kırmızı yansın parlaklığı 100 olsun,  3. led pembe yansın parlaklığı 50 olsun… diyerek istediğimiz sıradaki ledi istediğimiz tonda yakabiliriz ve sadece tek bir pwm çıkışı ile…
  • Dikkat edilmesi gereken şey ise, şerit ledimiz her ledde bir microchip ve 3 led olduğu düşünülünce, yüksek amper çekmekte arduino ile ek bir güç bağlantısı yapmadan en fazla ard arda 5 ledi tam parlaklıkta ve beyaz renkte yakabilirsiniz. (beyaz renk üretmek için led içerisinde 3 led’de yanmak zorunda) daha fazla ledi kodlamaya kalkarsanız güç yetmeyecek ve renk tonlarınız bozulacaktır.
  • Bunun için ek bir beslemeye ihtiyacınız olacak.  Bu ledlerimizin bir kaç türü olduğunu söylemiştik 1M-30led , 1M-60led,1M-144led gibi yani 1metrede 60 led sık bir şekilde yani, Elimdeki adreslenebilir led 1M-60led IP67 Modeli, yani 1 metre boyunda be 60 adet rgb led bulunuyor. IPxx ise su geçirmezlik serfitikası. Yaptığım testlerde 60 adreslenebilir ledimizi tam parlaklıkta ve beyaz renkte yaktığımızda yaklaşık 4 Amper güç çekmekte, ek besleme olmadan arduino ile yakmayı denediğimde ise renkler turuncuya kaymakta 🙂

    Bunu gidermek için, gerekli gerilimi lede dağıtabilirsiniz.
    leds_nobrown.jpg
  • Ek güç sağlamak için aşağıdaki şemayı kullanabiliriz.
  • Nelere Dikkat edilmeli ?
    • Bu ürünü kullanacaksanız ek güce mutlaka ihtiyacınız olacak, ek güç bağlantısına mutlaka bir kapasitor\kondansator ekleyin (1000 μF, 6.3V veya daha fazla..)
    • Data girişine mutlaka 300 ohm -500 ohm arası bir direnç ekleyin.
    • Arduino ‘nun pwm çıkışı ile ledin Data girişi arasındaki kabloyu olabildiğince kısa tutun 1 mt üzerine çıkmamaya çalışın.
    • Eğer arduino ile ledi ayrı ayrı güçle besleyecekseniz mutlaka GND yani – uçları birbirine bağlanmalıdır.
    • Adreslenebilir ledimiz statik elektrikten etkilenir, başlamadan önce en azından elinizi duvara yere dokundurarak üzerinizde oluşan statik elektriği boşaltın.
    • Arduino, 5V pine sadece 500 ma güç verebilir.  Her adreslenebilir led tam güçte 60 ma güç çeker.
      • 60 NeoPiksel Ledimiz olsa  × 60 mA ÷ 1000 = 3.6 Amper, yani hesabımıza göre de yukarıda bahsettğimiz gibi 60 ledimiz  yaklaşık 4A güç ister ve arduino bunu sağlayamaz, eğer arduino ile 60 ledi kullanmaya kalkarsanız üzerindeki direnç iyice ısınıp yanana kadar çalışır tabi bozuk renklerle sonra da arduinoyu çöpe atarsınız.
      • Ek güç bağlamayacaksanız 10 ledin üzerinde çıkmayın çıkacaksanız da parlaklığı 50’ye kadar düşürün (maximum 255’tir.)
      • Ledinize besleyeceğiniz güç kaynağı Amperi olabildiğince yüksek olabilir bu hiç sorun değil ama gerilimi 5v üzerine çıkarmamalısınız Ledleriniz bozulur.

 

  • Gelelim yazılım Kısmına, Eğer Yok ise önce Arduino IDE‘mizi kuruyoruz.

  • Dosyayı indirdikten sonra Aşağıdaki gibi kuruyoruz.

 

  • Ekrana Gelen bu uyarıları “Yükle” diyerek geçim

 

  • Ve Kurulum bittikten sonra pencereyi kapatın. Masaüstüne oluşan Arduino simgesine tıklayıp uygulamayı çalıştırın.
  • Adafruit Kütüphanesini Yükleme, Aşağıdaki adımlarla kütüphanemizi arduino ide’mize ekliyoruz
  • Arama kısmına yazarak bulabilirsiniz. Şu an son versiyonu 1.1.2 Sürekli güncellenmekte, siz gördüğünüz en son sürümü yükleyin.
  • Yükleme bittiğinde “INSTALLED” yazısını göreceksiniz. ve pencereyi kapatıyorsunuz.

 

  • Arduinomuzu açtığımızda, ekranımıza boş bir proje sayfası açılıyor.

     
  • Adafruid kütüphanemizi include ediyoruz, Adafruit_NeoPixel class’ımızı tanımlıyoruz, ardından Data olarak kullanacağımız pwm pinini ve ledimizde kaç adet ledimiz var onu tanımıyoruz.

     
  • ve Setup’ta aşağıdaki  gibi başlatıp show ediyoruz. Herhangi bir renk tanımlaması adresleme yapmadığımız için tüm ledlerimiz off konumunda,

     
  • Kullanmamız gereken procedure’ümüzün birisi setBrightness bu ledlerimizin hangi parlaklıkta yanacağını ayarladığımız procedure, setPixelColor, kaçıncı ledi hangi renkte yakacağımızı ayarlarayacağımız procedure,  her zaman aldığı ilk değer ledin indexidir ve daima 0’dan başlar.  Öncelikle yukarıda bahsetmediğim bir konu daha var RGB ledlerin yanı sıra RGBW ledlerde vardır.
    • RGB , Red,Green,Blue yani Kırmızı, Yeşil, Mavi, ana renklerden oluşur beyaz rengi oluşturmak için 3’ü birden yanar.
    • RGBW, Red,Green,Blue,White yani Kırmızı, Yeşil, Mavi ve Beyaz ana renklerden oluşur beyaz rengi oluşturmak için sadece white olan 1 led yanar.
    • Benim elimdeki led RGB  olan modeli.

 

  • Bu örnekleri yaınca, Tv , Telefon lcd ekranlarının nasıl çalıştığını daha iyi anlaracaksınız. Aşağıdaki görüntüler, televizyon ve monitorün yakından fotoğrafları 1080p diye adlandırılan moitorlerde, yatay olarak 1920 adreslenebilir led, dikey olarak 1080 tane  adreslenebilir led kullanılır. Ve görüntü chipi bu ledleri çok hızlı bir şekilde kodlayarak güzel bir görüntü oluşturur.Eski bir Monitör’den görüntü.
    LG IPS Tv’den görüntü.

 

  • Yazının burasından sonra içerisinde 3 led bir chip bulunan her lede pixel, içerisindeki her bir lede led diyerek devam edeceğim.

     
  • Aşağıdaki Renk Seçiciyi kullanarak, RGB değerlerine ulaşabilir, istediğiniz tonu uygulayabilirsiniz.

Bir kaç yakından görünüm

 

Örnek Projelerden bir tanesinin uygulanmış hali

 

 

 

 

 

 

Bulduğum bir örnekte yağmur bulutu efekti yapmış benim gibi kasvetli havaları sevenlerden sanırım,

 

Kurucusu ve Mühendisi Ladyada ürün tanıdım videosu.

* Bu bilgiler ışığında istediğinizi yapmak size kalmış.Kalın Sağlıcakla….

 

Arduino ile Adreslenebilir Şerit (Neopixel) Led Kodlamak” için 14 yorum

  • 29 Eylül 2017 tarihinde, saat 20:46
    Permalink

    Merak edilen bir konuydu.Herzamanki gibi güzel açıklamalar ile bizleri aydınlattınız.
    Teşekkürler

    Yanıtla
    • 2 Ekim 2017 tarihinde, saat 08:36
      Permalink

      Ben teşekkür ederim 🙂

      Yanıtla
  • 11 Ekim 2017 tarihinde, saat 01:00
    Permalink

    Selamın Aleyküm Size Telefon Numarası İle Ulaşmamız Mümkünmü ?

    Yanıtla
  • 18 Mart 2018 tarihinde, saat 17:14
    Permalink

    “Örnek Projelerden bir tanesinin uygulanmış hali” bunun kodları varmı sayfanızda ? teşekkürler.

    Yanıtla
    • 19 Mart 2018 tarihinde, saat 07:59
      Permalink

      Merhaba,

      Siz kütüphaneyi yüklediğinizde (Example-Örnekler) Menüsünde bir kaç örnek kodda ekleniyor.

      Yanıtla
  • 17 Nisan 2018 tarihinde, saat 14:11
    Permalink

    Merhabalar Hocam;
    Ben uzun zamandır adreslenebilir ledler ile ilgili araştırma yapmaktayım. Lise de ve üniversite de Pic kontrollü Microişlemci dersi aldım, Arduino ile kodlama yapmayı gram bilmiyorum. WS2812B Adreslenebilir şerit ledi ile uygulamalı proje devreleri buldum, fakat her hangi bilgim olmadığı için türkçe kaynak da sınırlı ve bir şey anlamadım sizden ricam. Linkte paylaştığım sitede ki Adreslenebilir led animasyonunun kodları nedir, sağdan sola soldan sağa veya ortadan iki yana açılan bir animasyon nasıl oluşturabilirim ve bunun gibi animasyonlar oluşturabilmem için nasıl bir yol izlemem gerekir.
    https://randomnerdtutorials.com/guide-for-ws2812b-addressable-rgb-led-strip-with-arduino/
    https://gph.is/2JSsvMj

    Yanıtla
    • 17 Nisan 2018 tarihinde, saat 15:50
      Permalink

      Merhaba İbrahim,
      Bu işlemleri yapabilmen için öncelikle arduino öğrenmen gerekiyor , gram arduino bilmeden ezbere olmaz.

      Yanıtla
      • 18 Nisan 2018 tarihinde, saat 23:57
        Permalink

        Bende bilgim olmadığını öğrenmek için nasıl bir yol izlemem gerektiğini sordum. Kaynak vb yani

        Yanıtla
        • 19 Nisan 2018 tarihinde, saat 08:11
          Permalink

          Hmm pardon, Yazınızdan Hazır kod istiyorsunuz gibi düşündüm.

          Ben size bir youtube kanalı olan “Meraklı Maymun” kanalını öneririm başlangıç için çok başarılı anlatımı var.

          Yanıtla
  • 12 Temmuz 2018 tarihinde, saat 02:53
    Permalink

    MERHABALAR BU NEOPIXEL R,G,B,12V GIRISI OLAN LEDLER ICIN UYGUN MU? LEDLERI SIRA ILE YAKABILMEK MUMKUN MU? TESEKKURLER

    Yanıtla
    • 12 Temmuz 2018 tarihinde, saat 08:35
      Permalink

      5v olanı da var 12v olanı da var, hangisini kullanıyorsan ona göre beslersin. ledleri istediğin gibi yakabilirsin videolarda görüldüğü gibi.

      Yanıtla
  • 26 Temmuz 2018 tarihinde, saat 17:34
    Permalink

    normal ledlerle benzeri bi uygulama yapmak mümkün mü?

    Yanıtla
    • 27 Temmuz 2018 tarihinde, saat 21:52
      Permalink

      Mümkün değil.

      Yanıtla

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

50

Toplam Yazı

50

Toplam Yorum

104

Günlük

7654

Aylık

3.80.218.53