Pengertian Sensor Ultrasonik
Sensor ultrasonik adalah sebuah sensor yang berfungsi untuk mengubah besaran fisis (bunyi/gelombang ultrasonik) menjadi besaran listrik dan sebaliknya.
Sensor ultrasonik dapat digunakan untuk mengukur jarak dengan suatu benda tertentu.
Gelombang ultrasonik adalah gelombang bunyi yang mempunyai frekuensi sangat tinggi yaitu 20.000 Hz. Bunyi ultrasonik tidak dapat di dengar oleh telinga manusia. Bunyi ultrasonik dapat didengar oleh anjing, kucing, kelelawar, dan lumba-lumba. Bunyi ultrasonik nisa merambat melalui zat padat, cair dan gas.
Cara Kerja
Cara kerja sensor ini didasarkan pada prinsip dari pantulan suatu gelombang suara sehingga dapat dipakai untuk menafsirkan eksistensi (jarak) suatu benda dengan frekuensi tertentu.
Dengan rumus sebagai berikut:
S = jarak (cm)
T = waktu (detik)
Rangkaian Sensor
Program digunakan untuk menampilkan hasil pembacaan data sensor ultrasonik . Hasil pembacaan ditampilkan di serial monitor.
- Tambahkan HC-SR04 Sensor Ultrasonik
- Hubungkan seluruh komponen sebagai berikut.
- VCC -> 5V
- Trig -> 11
- Echo -> 10
- Gnd -> GND
Kode Program
#define echoPin 10 //attach pin D2 Arduino to pin Echo of HC-SR04
#define trigPin 11 //attach pin D3 Arduino to pin Trig of HC-SR04
// defines variables
long duration; // variable for the duration of sound wave travel
int distance; // variable for the distance measurement
void setup() {
pinMode(trigPin, OUTPUT); // Sets the trigPin as an OUTPUT
pinMode(echoPin, INPUT); // Sets the echoPin as an INPUT
Serial.begin(9600); // // Serial Communication is starting with 9600 of baudrate speed
Serial.println("Ultrasonic Sensor HC-SR04 Test"); // print some text in Serial Monitor
Serial.println("with Arduino UNO R3");
}
void loop() {
// Clears the trigPin condition
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// Sets the trigPin HIGH (ACTIVE) for 10 microseconds
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Reads the echoPin, returns the sound wave travel time in microseconds
duration = pulseIn(echoPin, HIGH);
// Calculating the distance
distance = duration * 0.0344 / 2; // Speed of sound wave divided by 2 (go and back)
// Displays the distance on the Serial Monitor
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
}
Jalankan Program
- Klik Serial Monitor (bawah) untuk melihat hasil pembacaan sensor.
- Ubah jarak dengan klik pada sensor, lakukan pengubahan jarak.
- Jika jarak berhasil muncul, berarti pembacaan data sensor sudah berhasil.
- Klik Stop simulation untuk menghentikan simulasi.
Program Deteksi banjir
Rangkaian Program
Kode Program
/*
HC-SR04 Ultrasonic Sensor Example.
Turn the LED on when an object is within 100cm range.
Copyright (C) 2021, Uri Shaked
*/
#define ECHO_PIN 2
#define TRIG_PIN 3
#define ledMerah 8
#define ledKuning 7
#define ledHijau 6
void setup() {
Serial.begin(115200);
pinMode(LED_BUILTIN, OUTPUT);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
pinMode(ledMerah, OUTPUT);
pinMode(ledKuning, OUTPUT);
pinMode(ledHijau, OUTPUT);
}
float readDistanceCM() {
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
int duration = pulseIn(ECHO_PIN, HIGH);
return duration * 0.034 / 2;
}
void loop() {
float distance = readDistanceCM();
if(distance <= 100)
{
digitalWrite(ledMerah, HIGH);
digitalWrite(ledKuning, LOW);
digitalWrite(ledHijau, LOW);
Serial.println("Awas Banjir");
}
if(distance > 100 && distance <=200)
{
digitalWrite(ledMerah, LOW);
digitalWrite(ledKuning, HIGH);
digitalWrite(ledHijau, LOW);
Serial.println("Waspada");
}
if(distance>200)
{
digitalWrite(ledMerah, LOW);
digitalWrite(ledKuning, LOW);
digitalWrite(ledHijau, HIGH);
Serial.println("Aman");
}
delay(1000);
}
Jalankan Program
Program tersebut digunakan untuk memberikan notifikasi ketinggian air menggunakan LED.
- LED merah = air tinggi
- LED Kuning = air sedang
- LED Hijau = air rendah
Sensor Ultrasonik,
Jarak menjadi <100 cm, lampu merah akan menyala. Awas Banjir
Atur jarak menjadi 100 s/d 200 maka lampu kuning akan menyala. Waspada
Jika jarak lebih dari 200 cm maka lampu hijau akan menyala. Aman