Fredy Siswanto

Arduino

Memantau Pasang Surut Air Laut Menggunakan Sensor Ultrasonik dan Arduino

1 Oktober 2024 4 min read 0 Komentar
proyek-memantau-pasang-surut-air-laut-menggunakan-sensor-ultrasonik-dan-arduino

Proyek ini bertujuan untuk memantau ketinggian air laut dengan menggunakan sensor ultrasonik yang dipadukan dengan Arduino. Proyek ini bisa diaplikasikan untuk mengetahui pasang surut air laut atau mengukur ketinggian air di berbagai tempat seperti sungai, waduk, atau danau. Sensor ultrasonik digunakan untuk mengukur jarak antara sensor dan permukaan air, dan data tersebut akan dikirimkan ke Serial Monitor atau ke layar LCD untuk dipantau.

Alat dan Bahan yang Dibutuhkan

  1. Arduino Uno atau jenis Arduino lainnya
  2. Sensor Ultrasonik HC-SR04
  3. LCD 16×2 (opsional, untuk menampilkan data secara real-time)
  4. Resistor 10kΩ (jika menggunakan LCD)
  5. Potensio 10kΩ (jika menggunakan LCD)
  6. Breadboard
  7. Kabel jumper
  8. Sumber daya (baterai atau kabel USB untuk Arduino)

Cara Kerja Proyek

Sensor Ultrasonik HC-SR04 bekerja dengan cara memancarkan gelombang ultrasonik, kemudian mengukur waktu yang dibutuhkan gelombang tersebut untuk dipantulkan kembali oleh permukaan air. Dari waktu tersebut, Arduino menghitung jarak antara sensor dan permukaan air. Data jarak yang diperoleh dapat dikonversi menjadi ketinggian air dengan mengurangi hasil pengukuran dari total tinggi penempatan sensor.

Prinsip Pengukuran:

  • Jarak antara sensor dan air = (kecepatan suara di udara) × (waktu pulang pergi gelombang ultrasonik / 2).
  • Ketinggian air = total tinggi sensor – jarak yang terukur.

Diagram Rangkaian

Koneksi Sensor Ultrasonik HC-SR04 ke Arduino:

  • VCC (HC-SR04)5V (Arduino)
  • GND (HC-SR04)GND (Arduino)
  • Trig (HC-SR04)Pin 9 (Arduino)
  • Echo (HC-SR04)Pin 10 (Arduino)

Jika menggunakan LCD 16×2 untuk tampilan data:

  • VSS (LCD)GND
  • VDD (LCD)5V
  • V0 (LCD)Potensiometer tengah (untuk kontras)
  • RS (LCD)Pin 12 (Arduino)
  • RW (LCD)GND
  • E (LCD)Pin 11 (Arduino)
  • D4-D7 (LCD)Pin 5-2 (Arduino) (Data pin D4-D7 LCD)

Kode Program Memantau Pasang Surut Air Laut dengan Sensor Ultrasonik

Berikut ini adalah contoh kode untuk membaca data dari sensor ultrasonik dan menampilkannya di Serial Monitor. Jika menggunakan LCD, data juga bisa ditampilkan di layar LCD.

// Deklarasi pin untuk sensor ultrasonik
const int trigPin = 9;
const int echoPin = 10;
long duration;
float distance, height, waterLevel;
const float sensorHeight = 200.0; // Ketinggian sensor dari dasar laut dalam cm

#include <LiquidCrystal.h>
//  Parameters: (rs, enable, d4, d5, d6, d7)
// Jika menggunakan LCD, atur pin sesuai koneksi
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
  // Inisialisasi pin untuk sensor ultrasonik
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);

  // Inisialisasi Serial Monitor
  Serial.begin(9600);

  // Jika menggunakan LCD, inisialisasi layar
  lcd.begin(16, 2);
  lcd.print("Water Level:");
}

void loop() {
  // Mengirim sinyal trigger dari sensor ultrasonik
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  // Membaca durasi sinyal yang dipantulkan
  duration = pulseIn(echoPin, HIGH);

  // Menghitung jarak dalam cm
  distance = (duration * 0.034) / 2;

  // Menghitung ketinggian air (sensorHeight - distance)
  waterLevel = sensorHeight - distance;

  // Mencetak hasil pengukuran di Serial Monitor
  Serial.print("Jarak ke air: ");
  Serial.print(distance);
  Serial.println(" cm");

  Serial.print("Ketinggian air: ");
  Serial.print(waterLevel);
  Serial.println(" cm");

  // Jika menggunakan LCD, tampilkan hasil pengukuran
  lcd.setCursor(0, 1);
  lcd.print(waterLevel);
  lcd.print(" cm");

  // Tunggu sebelum pengukuran berikutnya
  delay(2000);
}

Penjelasan Kode:

  1. pulseIn(echoPin, HIGH): Mengukur durasi sinyal ultrasonik yang dipantulkan.
  2. distance = (duration * 0.034) / 2: Menghitung jarak antara sensor dan permukaan air. Konstanta 0.034 adalah kecepatan suara di udara (34 cm/ms), dan hasilnya dibagi dua karena sinyal pulang-pergi.
  3. waterLevel = sensorHeight – distance: Menghitung ketinggian air berdasarkan jarak sensor dan permukaan air.
  4. Serial Monitor dan LCD digunakan untuk menampilkan hasil pengukuran.

Jika menggunakan LCD:

  • lcd.begin(16, 2): Inisialisasi layar LCD 16×2.
  • lcd.setCursor(0, 1): Menentukan posisi baris dan kolom untuk mencetak data di LCD.

Langkah-langkah Pembuatan:

  1. Rangkai semua komponen sesuai dengan diagram koneksi di atas.
  2. Sambungkan Arduino ke komputer melalui kabel USB.
  3. Buka Arduino IDE, salin kode di atas, lalu unggah ke Arduino.
  4. Buka Serial Monitor di Arduino IDE untuk melihat data jarak dan ketinggian air.
  5. Jika menggunakan LCD, data ketinggian air juga akan ditampilkan di layar LCD.

Pengembangan dan Modifikasi Proyek

  1. Koneksi dengan Internet of Things (IoT): Menghubungkan proyek ini ke platform IoT seperti Blynk atau ThingSpeak untuk memantau ketinggian air secara real-time dari jarak jauh.
  2. Peringatan Banjir: Menambahkan alarm atau buzzer untuk memberikan peringatan jika ketinggian air mencapai batas tertentu yang menunjukkan risiko banjir.
  3. Data Logging: Menyimpan data ketinggian air di kartu SD atau mengirimnya ke database untuk analisis lebih lanjut.
  4. Kalibrasi Sensor: Jika diperlukan, kalibrasi sensor ultrasonik dengan memperhatikan kondisi lingkungan, seperti perubahan suhu dan angin.

Kesimpulan

Proyek memantau pasang surut air laut menggunakan sensor ultrasonik dengan Arduino merupakan aplikasi yang sangat praktis untuk keperluan monitoring di lingkungan perairan. Dengan sensor ultrasonik, kita dapat dengan mudah mengukur perubahan ketinggian air dan menerapkan sistem ini untuk berbagai keperluan, mulai dari memantau kondisi pasang surut air laut, hingga deteksi dini banjir atau peringatan cuaca buruk. Proyek ini juga memberikan wawasan tentang penggunaan sensor dalam aplikasi dunia nyata dan bisa diperluas ke teknologi yang lebih kompleks seperti IoT untuk pemantauan jarak jauh.

Simulasi

Link Simulasi https://wokwi.com/projects/411498505393028097

0 Komentar

Tambahkan Komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *


Math Captcha
six × = thirty six


Belum ada komentar.