Pendahuluan
Dalam tutorial ini, kita akan membahas cara mengukur ketinggian air menggunakan Arduino UNO dan sensor ultrasonic HC-SR04. Proyek ini sangat berguna untuk aplikasi pengukuran tinggi air dalam wadah tertentu seperti tangki atau tempat air lainnya.
Komponen Yang Digunakan
Berikut adalah daftar komponen yang digunakan dalam proyek ini beserta link pembelian di Golite Store:
- Arduino UNO – Beli Disini
- Sensor Ultrasonic HC-SR04 – Beli Disini
- Breadboard dan kabel jumper – Beli Disini
Skema Sistem

Konfigurasi pinout:
- Arduino UNO -> Sensor Ultrasonic HC-SR04
- 5V -> VCC
- GND -> GND
- D2 -> TRIG
- D3 -> ECHO
- Arduino UNO -> LCD 16×2 I2C
- 5V -> VCC
- GND -> GND
- A4 -> SDA
- A5 -> SCL
Penjelasan dengan bahasa yang sederhana untuk skema sistem:
- Arduino UNO bertindak sebagai pengontrol utama.
- Sensor Ultrasonic HC-SR04 digunakan untuk mengukur jarak antara sensor dan permukaan air.
Program Arduino
#include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd (0x27, 16, 2); #define TRIG_PIN 2 #define ECHO_PIN 3 const int DISTANCE_LOWER_BOUND = 12; const int DISTANCE_UPPER_BOUND = 2; long duration; int distance, percentage; void setup() { Serial.begin(115200); lcd.init(); lcd.backlight(); pinMode(TRIG_PIN, OUTPUT); pinMode(ECHO_PIN, INPUT); lcd.setCursor(0,0); lcd.print(" WATER LEVEL "); } void loop() { digitalWrite(TRIG_PIN, LOW); delayMicroseconds(2); digitalWrite(TRIG_PIN, HIGH); delayMicroseconds(10); digitalWrite(TRIG_PIN, LOW); duration = pulseIn(ECHO_PIN, HIGH); distance = duration / 29.1 / 2; percentage = map(distance, DISTANCE_LOWER_BOUND, DISTANCE_UPPER_BOUND, 0, 100); percentage = constrain(percentage, 0, 100); Serial.print("Distance: "); Serial.print(distance); Serial.print(" cm, Percentage: "); Serial.print(percentage); Serial.println("%"); lcd.setCursor(0,1); lcd.print("Level:"); lcd.print(percentage); lcd.print("% "); delay(500); }
Library yang harus di download :