Search Code

Ders 5 / 10: WS2812B RGB LED Kontrolü Raspberry Pi Pico Kullanarak

Bu ders, bir parçasıdır: Raspberry Pi Pico 4WD Akıllı Araba

Ders 5 / 10: WS2812B RGB LED Kontrolü Raspberry Pi Pico Kullanarak

Robojax Raspberry Pi Pico Akıllı Araba kursunun bir parçası olan bu ders, SunFounder 4 tekerlekli araba kitindeki RGB LED şeridini (WS2812B) kontrol etmeye odaklanır. Basit açma/kapama kontrolünün ötesine geçerek kırmızı, yeşil ve mavi değerlerini karıştırarak herhangi bir renk oluşturmayı, tek tek LED'leri kontrol etmeyi ve "yürüyen" ışık efekti gibi dinamik ışık dizileri oluşturmayı öğreneceksiniz. Bu beceri, robotik projelerinize görsel geri bildirim ve kişilik katmak için temeldir.

RGB LED'leri kontrol etmek, herhangi bir robotik veya elektronik proje için temel bir beceridir. Bu bilgiyle oluşturabileceğiniz birkaç pratik şey şunlardır:

  • Özel Durum Göstergeleri: Robotunuzun durumunu göstermek için farklı renkler kullanın; örneğin "hazır" için yeşil, "çalışıyor" için mavi ve "hata" için kırmızı.
  • Etkileşimli Aydınlatma Efektleri: Daha dinamik ve ilgi çekici bir robot için "kovalamaca" veya "şövalye sürücüsü" tarzı ışık desenleri oluşturun.
  • Sensörler için Görsel Geri Bildirim: LED'leri sensör verilerine göre renk değiştirecek şekilde programlayın; örneğin bir engel yaklaştığında kırmızıya dönme veya bir çizgiyi takip ederken maviye dönme gibi.
  • Ortam Aydınlatması: Arabanız veya diğer projeleriniz için özel bir atmosfer oluşturmak üzere LED'leri rastgele bir renge veya belirli bir tona ayarlayın.

Donanım/Bileşenler

Bu proje, SunFounder Raspberry Pi Pico 4 tekerlekli araba kitiyle gelen bileşenleri kullanır. Ana bileşen, Raspberry Pi Pico tarafından kontrol edilen RGB LED şeridinin kendisidir.

  • Raspberry Pi Pico
  • SunFounder 4 tekerlekli araba kiti (WS2812B RGB LED şeridini içerir)
  • Araba için pil paketi (videoda belirtildiği gibi LED'lere güç sağlamak için)

Bağlantı Kılavuzu

Video dersi, araba kitinin önceden monte edilmiş tasarımının bir parçası olduğu için bağlantı sürecini detaylandırmaz. LED'ler zaten Raspberry Pi Pico'ya bağlıdır. Özel bir kurulum için, WS2812B şeridinin veri pinini Pico'daki bir GPIO pinine, ayrıca güç (5V) ve toprak (GND) bağlantılarını yapmanız gerekir. Bu ders araba kitini kullandığından, ek bağlantı gerekmez.

Bunu bir breadboard üzerinde kuruyorsanız, LED şeridinizin veri hattını bir GPIO pinine (örneğin GP0) bağlar ve harici bir 5V kaynağıyla güç verirsiniz.

Kod Açıklaması

Ders, araba kitinin kütüphanesindeki önceden yazılmış işlevleri kullanmaya odaklanır. Işıkları kontrol etmek için temel işlev set_light_color() işlevidir. Bu yöntem araba nesnesi üzerinde çağrılır ve iki ana argüman alır: ışığın kimlik numarası ve Kırmızı, Yeşil ve Mavi (RGB) yoğunluğunu temsil eden üç değerden oluşan bir liste.

Videoda gösterilen temel işlevlerin nasıl kullanılacağına dair bir döküm şöyledir:

  • car.set_light_color(LED_ID, [R, G, B]): Bu, tek bir LED'i kontrol etmenin en doğrudan yoludur. LED_ID, 0 ile 23 arasında bir tam sayıdır ve renk, kırmızı için [255, 0, 0] gibi bir listedir.
  • Kütüphane Yardımcı İşlevleri: Kitin kütüphanesi, LED gruplarını daha kolay kontrol etmek için set_all_light_color(), set_bottom_left_color() ve set_bottom_right_color() gibi üst düzey işlevler sağlar.

Özel bir renk oluşturmak için listedeki üç değeri ayarlayabilirsiniz. Örneğin, [255, 255, 0] sarı, [0, 255, 255] camgöbeği ve [255, 0, 255] pembe veya macenta yapar. Video, bu renkleri birincil RGB değerlerini karıştırarak oluşturmayı gösterir.

Rastgele renkler için, "rastgele" örneğinde gösterildiği gibi R, G ve B için rastgele değerler üretmek üzere random.randint(0, 255) işlevini kullanabilirsiniz. Bu, 24 LED'in her birine benzersiz, rastgele bir renk atar.

Canlı Proje/Gösterim

Videoda eğitmen kavramları canlı olarak gösterir. Önce RGB değerlerini [0, 255, 0] olarak ayarlayarak tüm alt ışıkları düz yeşile nasıl açacağını gösterir. Ardından [255, 0, 0] ayarlayarak rengi kırmızıya değiştirir. Gösterim, kimlik numaralarına (0-23) göre tek tek LED'leri nasıl kontrol edeceğini ve renklerini bağımsız olarak nasıl ayarlayacağını göstererek devam eder.

Videonun önemli bir kısmı "yürüyen ışık" efekti oluşturmaya ayrılmıştır. Bu, 1'den 24'e kadar döngü yapan bir for döngüsüyle yapılır. Her yinelemede, geçerli LED'i belirli bir süre (örneğin 300 milisaniye) açar ve bir sonrakine geçmeden önce çok kısa bir süre (örneğin 10 milisaniye) kapatır. Bu, ışığın şerit boyunca hareket ettiği yanılsamasını yaratır. Eğitmen ayrıca gecikme değerlerini değiştirerek bu efektin hızının nasıl ayarlanacağını gösterir.

Son olarak, kod her çalıştığında 24 LED'in her biri için benzersiz bir renk oluşturmak üzere random kütüphanesini kullanan "rastgele renk" programını gösterir ve canlı, çok renkli bir görüntü oluşturur.

Bölümler

  • [00:00] RGB LED'lere ve Akıllı Araba Kursuna Giriş
  • [02:36] RGB Renk Modelini Anlama
  • [05:00] Kütüphane İşlevleriyle Işıkları Kontrol Etme
  • [09:01] Tek Tek LED'leri (0-23) Kontrol Etme
  • [13:08] Yürüyen Işık Efekti Oluşturma
  • [15:32] Her LED için Rastgele Renkler Üretme
Kod eklenmemiş.

Kaynaklar ve referanslar

Henüz kaynak yok.

Dosyalar📁

Dosya mevcut değil.