İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
Sayın Arkadaşlar
Herhangi bir tarayıcı özellikli cihazla Wifi ile kontrol edilebilen ve ayrıca Apple Home Kit'e entegre edilebilen ve onlar üzerinden kontrol edilebilen Accu şarj edilebilir WS2812 LED'li lambalı bir proje var.
Bazı özellikler:
1. Entegre 2xAccu 18650, orta parlaklıkta harici güç olmadan ~12 çalışma saati sağlar
2. Dahili OLED 0.96 ekran
3. Sıcaklık, Nem ve Basıncı ölçmek için BME280 hava durumu sensörü. Veriler Web'de veya entegre 0.96 OLED ekranda görüntülenebilir
4. Şarj için mikro USB bağlantı noktası
Adım 1: Bir Vücut Yapın
Tüm parçaları 3d yazıcımda yazdırdım
1. Gövde
2. ESP32 Geliştirme kartı kapağı
3. Kendi tasarımımla USB şarj denetleyicisi desteği, ekteki STL'ye bakın
2. Adım: Elektronik Parça
Bu projeyi oluşturmak için ihtiyacınız olan
1. ESP32, ESP32 geliştirme kartını kullandım
2. OLED ekran, SSD1306 çipinde 0.96 inç kullandım
3. BME280 sensörü
4. 2x 18650 Lityum Accu 3000 mAh/h
5. USB lityum şarj modülü
6. DC-DC adım YUKARI
7. Herhangi Bir Anahtar
8. WS2812 LED'ler metre başına yaklaşık 1,5 m 120 LED şeritler
8. Bazı Teller
Adım 3: Montaj ve Kablolama
Montaj aşağıdaki adımla yapılabilir
1. ESP32'yi kapağa yerleştirin ve kabloları kablo şemasına göre uygun PIN'lere lehimleyin
2. 2x18650'yi bir araya getirin ve paralel olarak lehimleyin
3. USB şarj cihazını desteğe yerleştirin ve uygun delikle hizalanacak şekilde gövdenin altına yerleştirin, gerekirse deliği takın.
4. Anahtarı başka bir deliğe yerleştirin
5. Accu 18650'yi lehimleyin, Anahtar, USB şarj cihazı ve DC-DC çıkışı (ESP32'yi takmayın!)
6. Güç açıldıktan sonra, dahili potansiyometreyi kullanarak DC-DC'nin çıkış voltajını ~ 5v'ye ayarlayın.
7. OLED ekranı duvara yerleştirin. Gerekirse gövde üzerindeki dikdörtgeni ayarlayın
8. Diğer parçayı, ESP 32'yi, Ekranı, sensörü ve WS2812 konektörlerini lehimleyin
8. WS2812 şeridini gövde borusuna sarın. Tüpün yanındaki kabloları gizleyin
Bazı hileler:
- Tüm parçaları düzeltmek için sıcak tutkal ve B7000 kullandım
- Direnç, ESP kutusunun dışında, doğrudan teller arasında lehimlenmiştir.
- Tüm teller termo büzülme borusu ile kaplanmıştır
Adım 4: ESP'yi Programlama
Bu proje için kendim geliştirdiğim evrensel bir yazılım kullandım.
Lütfen github sayfasına bir göz atın
Bu, nasıl derleneceği ve kurulacağı konusunda tam talimat içerir
Bu proje için dosyalanan konfigürasyon örnek olarak eklenmiştir.
Ancak bunu manuel olarak gerekli bir ayarlama ile yapabilirsiniz.
Kontrol etmeniz ve değiştirmeniz gerekenler: 1. Services.json - "sayıları" ayarlayın: xxx, burada şerit kesmeden sonra gerçek LED'lerinizin xxx sayısı
2. config.json - "localhost" cihazınız için uygun ana bilgisayar adını ayarlayın:
3. config.json - mqtt bağlantınız için uygun değerleri ayarlayın: "mqtt_host", "mqtt_port":, "mqtt_user", "mqtt_pass"., mqtt_host boşsa, cihaz mqtt'ye bağlanmaya çalışmaz
Adım 5: Keyfini çıkarın
Artık her şey bittiğinde lambanızla keyfini çıkarabilir ve Web arayüzü üzerinden yönetebilirsiniz.
Bu lambayı henüz Apple Home Kit'e entegre etmedim, ancak bu oldukça basit, yapılandırma dosyalarında küçük değişiklikler yapmanız gerekiyor. Bundan sonra cihazı Apple Home kiti ile kontrol edebileceksiniz.
Bunu yapmak için lütfen benzer bir projeye bakın
www.instructables.com/id/Bed-Room-Lamp-Ws2…
ve wiki'yi oku
github.com/Yurik72/ESPHomeController/wiki/…
6. Adım: SSS, Püf Noktaları ve Sorun Giderme
WS2812'nin bazı üreticileri çalışmıyor, çünkü 5v mantığı gerektiriyor, ancak ESP32 3.3 v sağlıyor
Bu sorun aşağıdaki yollarla çözülebilir
- DC-DC kademesinin voltajını 4,7-4,8 V'a düşürmeye çalışın. Genellikle %80 oranında yardımcı olur.
- +5 v çıkışı ile WS2812 +5v girişi arasına herhangi bir diyot koyun. Diyot voltajı 0,6-0,8 volt düşürür ve yardımcı olur
2. Verilen örnekte ve firmware'de WS2812 LED'lerin GRB dizisi vermesi beklenirken, RGB içinde çok sayıda şeritle karşılaşıyorum. Bunu çözmek için, RGBStripController hizmet tanımı için "rgb_startled":1 için services.json'a yeni bir ayar ekleyerek sadece basit bir bellenimi değiştirebilirsiniz. Bu, RGB dizisinin LED #1'den başlayacağı anlamına gelir. Ayrıca iki şeridi farklı sırayla bağladıysanız. örneğin ilk şerit 30 Led GRB ve ikinci 60 led RGB "rgb_startled":31 tanımlayabilirsiniz ve iki lents birlikte düzgün çalışır
3. Verilen ESP32 üretici yazılımı zaten başka bir hava sensörünü destekliyor. DHT12, Dallas gibi. Onlarla da kolayca kurulabilir