Kecerahan NeoPixel
Termasuk bagian Layar dan Sensor dalam perjalanan Arduino di Coddy. Pelajaran 16 dari 24.
NeoPixel bersinar terang. ring.setBrightness(level) meredupkan semuanya sekaligus: 0 berarti mati, 255 berarti kecerahan penuh.
Fungsi ini bekerja dengan menskalakan warna yang tersimpan di memori papan. Pada kecerahan 64, sekitar seperempat, warna merah dengan nilai 255 disimpan sebagai 64. Kekurangannya: penskalaan membuang detail. Turunkan kecerahan ke 0 dan semua warna yang tersimpan menjadi 0, jadi saat kecerahan dinaikkan kembali, tidak ada lagi yang tersisa untuk diskalakan, dan ring tetap gelap.
Jadi, setiap kali kecerahan berubah, atur warna kembali setelahnya:
ring.setBrightness(level);
ring.fill(white); // disimpan pada tingkat kecerahan yang baru
ring.show();Warna yang diatur setelah setBrightness() diskalakan saat disimpan.
Tantangan
SedangKnob pada A0 berfungsi sebagai pengatur kecerahan untuk ring:
- ubah pembacaan menjadi kecerahan dari 0 hingga 255 dengan
map() - atur dengan
ring.setBrightness() - lalu isi ring dengan warna putih dan tampilkan pada setiap perulangan
loop()
Tekan Jalankan dan putar knob, lalu tekan Periksa.
Coba sendiri
#include <Adafruit_NeoPixel.h>
// 16 piksel, data pada pin 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);
// atur kecerahan dengan kenop, lalu nyalakan seluruh ring dengan warna putih
delay(50);
}
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Layar dan Sensor
Latihan sendiri: Playground Arduino