İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
Bu, WS2812 LED'leri ve bir ESP8266 Mikrodenetleyici kullanılarak yapılan 8x8 LED matrisidir.
Bu projeden ilham alındı:
Adım 1: WS2812 LED'lerini Kablolama
Kısacası, LED'ler yukarıda gösterilen uzun bir şerit halinde zincirlenmiştir. (Satır satır ve 1 satırın sonu bir sonraki satırın başlangıcına bağlı)
(Eksik 4 LED'i dikkate almayın, LED'lerim bitti. Zaten çok büyük bir fark yaratmıyorlar)
Bundan sonra, LED şerit bir mikro denetleyiciye (ESP8266) bağlandı.
Adım 2: Akrilik (ve Ahşap) Kasa
2 adet siyah akrilik kesilmiş (bıçakla), bükülmüş (havya kullanılarak) ve sıcak yapıştırılmış (destek olarak tahta bir çubukla) matrisin kenarlarını oluşturmak için
Arkasındaki şeffaf akrilik ve aydınger kağıdı, ön ekran olarak kullanıldı, LED'leri dağıtmak ve elektroniği korumak için matrisin önüne yerleştirildi.
Tahta çubuklar birbirine oturacak ve LED'ler arasında ayırıcı oluşturacak şekilde kesilmiştir. Bu, LED'lerden gelen renklerin birbirine yayılmasını önler, netliği bozabilir
Bundan sonra, siyah akrilik yan parçaya LED matrisi, ayırıcı ve şeffaf akriliği koyun.
3. Adım: Yazılım
Adafruit NeoMatrix Kütüphanesini, NeoMatrix GFX Demosunu kullandım.
ESP8266'yı Wifi'ye bağlamak ve veri toplamak için diğer yazılımları kodlayabilirsiniz.
Adım 4: Raspberry Pi LED Matrisi
(Bu Devam Eden Bir Çalışmadır)
Sonunda LED Matrix'e bir Raspberry Pi (1B) koydum. Ayrıca Wifi üzerinden Pixel Art'ı (ve belki Animasyonları) gösterecek şekilde programladım ve yapılandırdım.
LED'lerin veri pinini Raspberry Pi'nin Pin 18'ine bağladım. Ayrıca LED'lerin 5V ve Toprak Pinleri Raspberry Pi'den ayrı olarak harici bir Güç Kaynağına (Başka bir USB Şarj Cihazı gibi) bağlandı. Bu, LED'lerin Yanmak için yeterli güce sahip olmasını sağlamak içindir.
İstemci Tarafı Web Uygulaması tamamen Saf vanilya HTML, CSS ve Javascript ile yazılmıştır. Sunucu Programı bir Flask Uygulamasıdır ve Adafruit Neopixel Library'yi kullanır. Adafruit Kitaplığını kullandığından, LED'lerin güncellenmesi daha uzun sürebilir (ve animasyonları düzgün göstermez vb.) Kod burada GitHub'da mevcuttur ve program açılışta çalışacak şekilde ayarlanmıştır (belirtildiği gibi /etc/rc.local kullanılarak) GitHub'da)