Jasność NeoPixeli
Część sekcji Wyświetlacze i czujniki ścieżki Arduino w Coddy. Lekcja 16 z 24.
NeoPixele świecą jasno. ring.setBrightness(level) przyciemnia je wszystkie naraz: 0 oznacza wyłączenie, a 255 pełną jasność.
Działa to przez skalowanie kolorów zapisanych w pamięci płytki. Przy jasności 64, czyli około jednej czwartej, czerwień o wartości 255 jest zapisywana jako 64. Jest jednak pewien haczyk: skalowanie powoduje utratę szczegółów. Zmniejsz jasność do 0, a każdy zapisany kolor zmieni się na 0, więc po ponownym zwiększeniu jasności nie pozostanie nic do przeskalowania i pierścień nadal będzie ciemny.
Dlatego po każdej zmianie jasności ustaw kolory ponownie:
ring.setBrightness(level);
ring.fill(white); // zapisane z nowym poziomem jasności
ring.show();Kolory ustawione po setBrightness() są skalowane podczas zapisywania.
Wyzwanie
ŚredniPokrętło na A0 służy do regulacji jasności pierścienia:
- zamień odczyt na jasność z zakresu od 0 do 255 za pomocą
map() - ustaw ją za pomocą
ring.setBrightness() - następnie wypełnij pierścień białym kolorem i wyświetl go przy każdym przebiegu
loop()
Naciśnij Run i obróć pokrętło, a następnie naciśnij Check.
Spróbuj swoich sił
#include <Adafruit_NeoPixel.h>
// 16 diod LED, dane na pinie 6
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);
// ustaw jasność za pomocą pokrętła, a następnie zaświeć cały pierścień na biało
delay(50);
}
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Wyświetlacze i czujniki
1Wyświetlacze siedmiosegmentowe
Wyświetlacz siedmiosegmentowyWzory cyfr w bajtachLiczenie na wyświetlaczuOdliczanie do zeraSymulator rzutu kostkąPoćwicz samodzielnie: Edytor online Arduino