Menu
CoddyTech

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.

challenge icon

Tantangan

Mudah

Knob 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
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Output

Latihan sendiri: Playground Arduino