Kategori
IoT

Praktek Sensor Ultrasonik (IoT)

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)

Rumus Jarak
Cara Kerja

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

Ref : [1][2][3]