Menu
CoddyTech

Pengukur Cahaya

Termasuk bagian Input dalam perjalanan Arduino di Coddy. Pelajaran 22 dari 22.

Pelajaran ini menyatukan bagian ini: pengukur cahaya yang mencetak tingkat cahaya dalam persen dan menampilkannya pada batang dengan tiga LED, seperti batang sinyal pada ponsel.

Bagi tugasnya menjadi beberapa fungsi, masing-masing dengan satu tugas, agar loop() terbaca seperti deskripsi:

void loop() {
  int percent = lightPercent();
  showLevel(percent);
  // cetak persentasenya
}

lightPercent() membaca AO dari module cahaya dan mengembalikan nilai dari 0 (gelap) hingga 100 (terang). Nilai AO turun saat cahaya meningkat, jadi petakan secara terbalik: map(reading, 0, 1023, 100, 0) mengubah 1023 menjadi 0 dan 0 menjadi 100.

showLevel(int percent) memberi setiap LED pada batang ambangnya sendiri: LED pertama menyala di atas 25, LED kedua di atas 50, dan LED ketiga di atas 75. Masing-masing memerlukan else, agar batang dapat memendek lagi saat cahaya meredup.

challenge icon

Tantangan

Sedang

AO pada modul cahaya terhubung ke A0, dan LED pada bar terhubung ke pin 10, 11, dan 12:

  • int lightPercent(): 0 dalam gelap, 100 dalam cahaya terang
  • void showLevel(int percent): pin 10 menyala di atas 25, pin 11 di atas 50, pin 12 di atas 75
  • di loop(), panggil keduanya, cetak persentasenya, lalu tunggu 200 ms

Tekan Jalankan, geser slider cahaya, lalu tekan Periksa.

Coba sendiri

const int lowPin = 10;
const int midPin = 11;
const int highPin = 12;

// tulis int lightPercent() di sini

// tulis void showLevel(int percent) di sini

void setup() {
  pinMode(lowPin, OUTPUT);
  pinMode(midPin, OUTPUT);
  pinMode(highPin, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  // baca tingkat cahaya sebagai persentase, tampilkan pada bar, cetak nilainya, lalu tunggu 200 ms
}
quiz iconUji dirimu

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

Semua pelajaran di Input

Latihan sendiri: Playground Arduino