Peredup LED dengan Kenop
Termasuk bagian Output dalam perjalanan Arduino di Coddy. Pelajaran 5 dari 24.
Knob memberikan angka dari 0 hingga 1023 kepada analogRead(), sedangkan analogWrite() membutuhkan angka dari 0 hingga 255. Kedua rentang ini tidak cocok, jadi ubah rentang yang satu ke rentang lainnya dengan map():
int reading = analogRead(A0);
int brightness = map(reading, 0, 1023, 0, 255);
analogWrite(9, brightness);Saat knob diputar ke bawah, nilainya 0 dan LED mati. Saat knob diputar ke atas, nilainya 1023, yang menjadi 255, sehingga LED menyala penuh. Setiap posisi di antaranya menghasilkan tingkat kecerahan di antaranya.
Menuliskan hasil pembacaan langsung ke LED tidak akan berhasil: analogWrite() hanya menerima angka dari 0 hingga 255, jadi hasil pembacaan seperti 600 menghasilkan tingkat kecerahan yang keliru.
Tantangan
MudahKnob terhubung ke A0 dan LED ke pin 9. Atur agar knob mengatur kecerahan:
- baca knob
- ubah hasil pembacaan menjadi 0 sampai 255 dengan
map() - tulis nilainya ke LED, lalu tunggu 10 ms
Tekan Run dan putar knob, lalu tekan Check.
Coba sendiri
const int knobPin = A0;
const int ledPin = 9;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
// baca nilai knob, petakan ke 0..255, lalu tulis nilainya ke LED
}
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Output
1Kecerahan
Redupkan LED dengan PWMPin PWM Bertanda ~Tingkatkan Kecerahan LED secara BertahapTerangkan dan Redupkan LED secara BertahapPeredup LED dengan KenopLatihan sendiri: Playground Arduino