Waktu Gema Ultrasonik
Termasuk bagian Layar dan Sensor dalam perjalanan Arduino di Coddy. Pelajaran 18 dari 24.
HC-SR04 mengukur jarak seperti kelelawar: alat ini mengirimkan bunyi klik yang terlalu tinggi untuk didengar manusia, lalu mengukur waktu pantulannya. Semakin jauh letak object, semakin lama waktu yang dibutuhkan gema untuk kembali.
Alat ini memiliki dua pin sinyal. Pulsa HIGH singkat pada TRIG memberi tahu alat untuk mengirimkan bunyi klik. ECHO kemudian menjadi HIGH dan tetap HIGH sampai gema kembali, jadi panjang pulsa HIGH tersebut menunjukkan waktu yang dibutuhkan suara.
delayMicroseconds() menunggu dalam satuan sepersejuta detik, cukup singkat untuk pulsa pemicu 10 mikrodetik. pulseIn(pin, HIGH) menunggu pin menjadi HIGH dan mengembalikan berapa mikrodetik pin tersebut tetap HIGH. Jika tidak ada pulsa yang datang dalam satu detik, fungsi ini berhenti menunggu dan mengembalikan 0.
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10); // pulsa pemicu
digitalWrite(trigPin, LOW);
long duration = pulseIn(echoPin, HIGH);Gema dapat berlangsung hingga 38000 mikrodetik, lebih lama daripada kapasitas int, jadi simpan nilainya dalam long.
Tantangan
SedangTRIG berada di pin 9 dan ECHO di pin 10. Di loop():
- kirim pulsa HIGH selama 10 mikrodetik pada TRIG
- ukur gema dengan
pulseIn(echoPin, HIGH) - cetak waktunya dengan
Serial.println()
Tekan Jalankan, gerakkan object mendekat dan menjauh di papan, lalu tekan Periksa.
Coba sendiri
const int trigPin = 9;
const int echoPin = 10;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
Serial.begin(9600);
}
void loop() {
// kirim pulsa 10 mikrodetik pada TRIG
// ukur waktu pantulan dengan pulseIn() dan tampilkan hasilnya
delay(200);
}
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Layar dan Sensor
Latihan sendiri: Playground Arduino