Sensor Parkir: Lampu
Termasuk bagian Proyek dalam perjalanan Arduino di Coddy. Pelajaran 10 dari 24.
Tidak ada yang membaca angka saat parkir. Tiga LED mengubah jarak menjadi warna: hijau pada pin 6 saat jalur bebas, kuning pada pin 7 saat kamu mulai mendekat, merah pada pin 13 saat kamu harus berhenti.
Tiga rentang, dan tepat satu LED untuk setiap rentang. Rangkaian if / else if / else cocok, karena hanya satu cabangnya yang dijalankan:
if (cm >= 100) {
// hijau
} else if (cm >= 30) {
// kuning: 30 hingga 99
} else {
// merah: di bawah 30
}Pengujian kedua tidak perlu menyebutkan cm < 100: else berarti pengujian pertama bernilai false, jadi jaraknya sudah di bawah 100.
Matikan ketiga LED sebelum menyalakan salah satunya, seperti pada lampu lalu lintas. Jika tidak, LED kuning akan tetap menyala saat LED merah menyala.
Tantangan
MudahTampilkan jarak dengan warna:
- atur pin 6, 7, dan 13 sebagai output
- 100 cm atau lebih: hanya hijau
- 30 hingga 99 cm: hanya kuning
- kurang dari 30 cm: hanya merah
Terus cetak jaraknya. Tekan Run, seret jarak sensor, lalu tekan Check.
Coba sendiri
// Sensor jarak
const int trigPin = 9;
const int echoPin = 10;
// Kirim pulsa dan kembalikan jarak dalam cm.
long readDistance() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
long duration = pulseIn(echoPin, HIGH);
return duration / 58;
}
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
Serial.begin(9600);
}
void loop() {
long cm = readDistance();
Serial.println(cm);
delay(100);
}
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Proyek
Latihan sendiri: Playground Arduino