İçindekiler:
Video: LED Parlaklığını Kalibre Etme: 5 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
Bir peri ışığı yaparken, PWM değerinin LED'in parlaklığı ile doğrusal orantılı olmadığını fark ettim. Basitçe söylemek gerekirse, PWM değeri iki katına çıkarsa parlaklık iki katına çıkmaz; özellikle PWM maksimuma yakın olduğunda, herhangi bir değişiklik gözlerim tarafından tanınmaz. Basit bir kalibrasyon sorunu olması gerektiğini düşündüm! ve bu projeyi böyle yaptım! Buradaki fikir, bir LED'in parlaklığını bir cihazla (parlaklık sensörü veya fotodirenç) ölçmek ve PWM değeri ile parlaklık arasında bir korelasyon bulmaktır. Daha sonra parlaklığı %50'ye ayarlarsam, Arduino ilgili PWM'yi hesaplayacak ve LED'i buna göre kısacaktır.
Bu nedenle, parlaklığı ölçmek için bir parlaklık sensörüne ve bir LED'e ihtiyacım var. Bir SD kart kullanarak verileri daha sonraki takma prosedürü için kaydedeceğim. Montaj Excel'de (veya başka bir programda) yapılacaktır. Çıktı Arduino kodunda kullanılacak ve bu kadar! Bir kez yapılmalıdır. O zaman kalibrasyon parametresini sonsuza kadar kullanabilirsiniz!
Adım 1: Parçalar
1- WEMOS mini D1: Aliexpress 3€
2- TSL 2561 (Parlaklık sensörü): Aliexpress 3€
3- SD kart modülü: Aliexpress 1€
4- LED
5- Direnç 220 ohm
6- teller
toplam maliyet: 8 -10 €
Adım 2: Kablolama
SD kart modülü ve parlaklık sensörü kabloları değiştirilmemelidir (çoğu). Led bir PWM pinine bağlanmalıdır.
3. Adım: Kodlayın
Üç parça kodu birleştirdim:
SD kart: kullanılan örnek >SD > Arduino IDE'de ReadWrite
TSL 2561: kullanılan Adafruit TSL2561 Kitaplığı örneği (sensorapi); Kitaplığı kurarsanız örneklerde bulacaksınız (Arduino IDE'de bir kitaplığın nasıl kurulacağını bildiğinizi varsayıyorum).
LED sönümlemesi: kullanılan örnekler > Analog > sönümleme
Kod, modülleri başlattıktan sonra led'i karartacak ve parlaklığı okuyacak ve SD karta kaydedecektir. bu şekilde kalibrasyon için bazı veriler toplayacağım.
Kodun her birini ihtiyaçlarıma göre değiştirdim. ekli son kod.
Sinyal ekteki resim gibi görünmelidir. Maalesef bir fotoğraf çekmeyi unuttum, bu yüzden nasıl olması gerektiğini size göstermek için excel'de tekrarladım.
NOT: Arduino yerine wemo mini D1 kullanıyorum. Bilmediğim bir nedenden dolayı PWM 0 ile 1023 arasında. Arduino'da 0-255 arasında olması gerekiyor. Kodu arduino için kullanmak istiyorsanız, onunla ilgilenmelisiniz (satır 90).
Adım 4: Takma ve Kullanma
veri topladıktan sonra dosyayı excel'de açtım ve verileri çizdim (resme bakın). ilk sütun PWM değeri ve ikincisi lüks (sensörün okunması, birim çok önemli değil). Bu nedenle, lüks (y ekseni) ile PWM'yi (x ekseni) karşılaştırın. Gördüğünüz gibi parlaklık, PWM değeri ile doğrusal orantılıdır. Ona bir çizgi koydum.
Bir satıra sığdırmak için aşağıdaki gibi izleyin:
1- verileri çizin (insert > dağılım grafiği) nasıl olduğunu bildiğinizi varsayıyorum.
2- çizilen verilere sağ tıklayın
3- trend çizgisine tıklayın.
4- (Excel 2013'te) sağ tarafta bir panel çıkıyor. Doğrusal seçin. Altta "grafikte denklemi göster" seçeneğini seçin.
Doğrusal ilişki benim algımdan farklı. Bu nedenle algımla parlaklık arasında logaritmik bir ilişki olması gerektiğini düşünüyorum (aklıma gelen en basit yol bu!). Bu yüzden uyumun eğimini aldım. Engelleme önemli değil, çünkü çevredeki ışık kirliliğine bağlı! bunun yerine 1 ekledim. Çünkü Log10(0) sonsuzdur. Bu yüzden sorunu çözmek için bir müdahaleye ihtiyacım var. Benim durumumda denklem şöyle görünür:
y =Log10(0.08 x +1), y parlaklık ve x PWM değeridir (0-1023)
Denklemi maksimum değere normalleştirdim. daha sonra çıkış aralığı her zaman 0-100 arasındadır. bu şekilde, maksimum mutlak parlaklıkla ilgili olmaksızın arduino'dan belirli bir göreceli parlaklık isteyebilirim.
y =Log10(0.08 x +1)*100/1.914
Arduino'da girişim göreceli parlaklık olduğundan, denklemi x (PWM) için yeniden düzenlemem gerekiyor:
x = (10^(y*1.914/100) - 1) / 0.08
Bu denklemi kodda kullanarak doğrusal bir parlaklık değişimi elde edebiliyoruz. Yani arduino'dan 0-100 arasında bir parlaklık (y) istiyorsunuz ve arduino buna karşılık gelen PWM değerini hesaplıyor. bu sayede parlaklık iki katına çıkarsa algınız da aynı olur.
kodunuzda kullanmak istiyorsanız, bu satırları eklemeniz daha iyi olur:
parlaklık=50; // yüzde olarak
PWM = pow(10, parlaklık*1.914/100)-1)/0.0793;
analogWrite(ledpin, PWM);
NOT: normalleştirme maksimum 1023 PWM için yapılır (Wemos mini D1 için). Arduino için PWM 0-255 arasındadır. buna göre hesaplamanız gerekir.
NOT2: Algı ve PWM değerimizin nasıl ilişkili olduğunu göstermek için log-lineer bir grafik ekledim. takmak için kullanmamalısınız!
Adım 5: Sonuç
Kalibrasyon benim için iyi çalışıyor. PWM değerleri büyük olduğunda farkı görebiliyorum. Önceleri büyük değerler olarak karartma etkisini göremiyordum. Temel olarak değişikliklerin çoğu küçük bir PWM aralığında yapıldı. şimdi kalibre edildi!
her LED, özellikle farklı renkler, kendi kalibrasyon parametrelerine sahip olmalıdır. Ancak mavi bir LED'i kalibre ettim ve parametreyi beyaz bir LED için kullandım ve sonuç kabul edilebilirdi. bu yüzden belki kendini rahatsız etmeden benim kalibrasyon parametremi kullanabilirsin!!
Önerilen:
Arduino İle Potansiyometre ile LED Parlaklığını Kontrol Etme: 3 Adım
Arduino İle Potansiyometre İle LED Parlaklığını Kontrol Etme: Bu projede, potansiyometre tarafından sağlanan değişken direnç kullanarak LED'in parlaklığını kontrol edeceğiz. Bu yeni başlayanlar için çok basit bir projedir ancak size potansiyometre ve LED çalışması hakkında daha fazla bilgi edinmek için gerekli olan birçok şeyi öğretecektir
Raspberry Pi ve Özel Web Sayfası ile Led'in Parlaklığını Kontrol Etme: 5 Adım
Led'in Parlaklığını Raspberry Pi ve Özel Web Sayfası ile Kontrol Etme: Pi'mde php ile bir apache sunucusu kullanarak, pi'nizle aynı ağa bağlı herhangi bir cihazdan erişilebilen özelleştirilmiş bir web sayfasına sahip bir kaydırıcı kullanarak bir led'in parlaklığını kontrol etmenin bir yolunu buldum .Bunun uygulanabileceği birçok yol var
Potansiyometre ve OLED Ekran ile LED Parlaklığını Kontrol Etme: 6 Adım
Potansiyometre ve OLED Ekran ile LED Parlaklığını Kontrol Etme: Bu eğitimde, bir potansiyometre ile LED parlaklığının nasıl kontrol edileceğini ve OLED Ekranda değeri nasıl görüntüleyeceğinizi öğreneceğiz.Bir tanıtım videosu izleyin
Potansiyometre ve Arduino ile LED Parlaklığını Kontrol Etme: 6 Adım
Potansiyometre ve Arduino ile LED Parlaklığını Kontrol Etme: Bu eğitimde, bir potansiyometre ve Arduino ile LED parlaklığını nasıl kontrol edeceğimizi öğreneceğiz.Bir tanıtım videosu izleyin
Epe Kordonunu Test Etme ve Tamir Etme: 9 Adım (Resimlerle)
Bir Epe Bodycord'un Test Edilmesi ve Onarılması: Modern, Olimpik tarzdaki eskrim sporunda, puanlama elektrikle yapılır. Elektrik sinyalinin silahınızdan puanlama makinesine gitmesi için, sinyalin silahınızdaki bir tel aracılığıyla (kılıç hariç) kolunuzdan yukarı ve aşağı hareket etmesi gerekir