NeoPixel Parlaklığı
Coddy'nin Arduino Journey'sinin Ekranlar ve Sensörler bölümünün bir parçası. Ders 16 / 24.
NeoPixel'lar parlaktır. ring.setBrightness(level) hepsinin parlaklığını aynı anda azaltır: 0 kapalı, 255 tam parlaklıktır.
Bu işlem, kartın belleğinde saklanan renkleri ölçeklendirerek çalışır. Parlaklık 64'te, yani yaklaşık dörtte bir seviyedeyken, 255 değerindeki kırmızı 64 olarak saklanır. Ancak bu ölçeklendirme ayrıntıları kaybettirir. Parlaklığı 0'a düşürürseniz saklanan her renk 0 olur; dolayısıyla parlaklığı tekrar artırdığınızda ölçeklendirilecek hiçbir şey kalmaz ve halka karanlık kalır.
Bu yüzden parlaklık her değiştiğinde, ardından renkleri yeniden ayarlayın:
ring.setBrightness(level);
ring.fill(white); // yeni parlaklık düzeyinde saklanır
ring.show();setBrightness() sonrasında ayarlanan renkler saklanırken ölçeklendirilir.
Görev
OrtaA0 üzerindeki düğme, halka için bir parlaklık ayarlayıcısıdır:
- okuma değerini
map()ile 0 ile 255 arasında bir parlaklık değerine dönüştür ring.setBrightness()ile ayarla- ardından
loop()döngüsünün her geçişinde halkayı beyazla doldur ve göster
Run'a bas ve düğmeyi çevir, ardından Check'e bas.
Kendin dene
#include <Adafruit_NeoPixel.h>
// 16 piksel, veri 6 numaralı pinde
Adafruit_NeoPixel ring(16, 6, NEO_GRB + NEO_KHZ800);
uint32_t white = ring.Color(255, 255, 255);
void setup() {
ring.begin();
}
void loop() {
int reading = analogRead(A0);
// parlaklığı düğmeye göre ayarla, ardından halkanın tamamını beyaz renkte yak
delay(50);
}
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Ekranlar ve Sensörler bölümündeki tüm dersler
1Yedi Segmentli Göstergeler
Yedi Segmentli GöstergeBaytlardaki Rakam DesenleriGöstergede SaymaSıfıra Geri SayımZar Atıcı3NeoPixel'ler
İlk NeoPixel'inizPixel Halkasında RenklerHalkayı Doldurma ve TemizlemePixel TakipçisiNeoPixel ParlaklığıGökkuşağı HalkasıKendi başına pratik yap: Arduino playground