LAPORAN PRAKTIKUM MINGGU KE: 2 PEMANTAU JARAK OTOMATIS BERBASIS ARDUINO UNO & SENSOR ULTRASONIK HC-SR04
Disusun Oleh :
| Muhamad Fauzan | 24051204013 |
| Julian Esa Mahendra. P | 24051204018 |
| Rahman Abror Zati | 24051204019 |
| Firmas Ferdiansya | 24051204032 |
BAB I
PENDAHULUAN
1.1 Latar Belakang
Perkembangan teknologi Internet of Things (IoT) telah membuka banyak peluang dalam bidang otomasi dan monitoring, salah satunya dalam pemantauan jarak dan pengamanan objek. Pengukuran jarak merupakan salah satu parameter penting yang perlu dipantau dalam berbagai aplikasi, seperti sistem pembantu parkir kendaraan, pendeteksi rintangan pada robot otomatis, hingga sistem keamanan ruang penyimpanan. Ketika objek/rintangan berada terlalu dekat dari batas aman, diperlukan suatu sistem yang dapat memberikan peringatan audio-visual secara otomatis agar tindakan pencegahan dapat segera dilakukan.
Mikrokontroler Arduino Uno sebagai salah satu platform embedded system yang populer dapat dimanfaatkan untuk membangun sistem alarm dan pemantau jarak sederhana. Dengan memanfaatkan sensor ultrasonik HC-SR04 sebagai pengambil data, layar LCD I2C, LED sebagai indikator visual, serta buzzer (piezo) sebagai indikator suara, dapat dibangun sebuah sistem yang mampu mendeteksi perubahan jarak dan memberikan peringatan secara real-time. Berdasarkan latar belakang tersebut, penulis membuat simulasi "Pemantau Jarak Otomatis dan Alarm Peringatan Berbasis Arduino Uno & Sensor Ultrasonik HC-SR04" menggunakan platform simulasi Tinkercad sebagai alternatif praktis dan gratis dari Wokwi.
1.2 Rumusan Masalah
Berdasarkan latar belakang di atas, rumusan masalah dalam laporan ini adalah:
- Bagaimana cara membaca data jarak menggunakan sensor ultrasonik HC-SR04 pada Arduino Uno?
- Bagaimana cara mengonversi waktu pantul gelombang ultrasonik menjadi nilai jarak dalam satuan sentimeter (cm)?
- Bagaimana cara membuat sistem alarm jarak yang memberikan indikator audio-visual melalui LED dan buzzer berdasarkan ambang batas jarak tertentu?
1.3 Tujuan Laporan
Tujuan dari penulisan laporan ini adalah:
- Mengetahui cara kerja sensor ultrasonik HC-SR04 dalam membaca jarak objek di lingkungan sekitar.
- Memahami proses perhitungan dan konversi sinyal waktu (pulse duration) menjadi nilai jarak menggunakan pemrograman Arduino.
- Merancang dan mensimulasikan sistem pemantau jarak dan alarm peringatan otomatis menggunakan Arduino Uno, sensor HC-SR04, layar LCD I2C, LED, dan buzzer melalui platform Tinkercad.
1.4 Manfaat Penulisan
Manfaat dari penulisan laporan ini antara lain:
- Menambah pemahaman penulis mengenai konsep dasar sistem embedded dan IoT, khususnya dalam pemanfaatan sensor jarak berbasis sinyal digital/pulsa.
- Memberikan gambaran implementasi sistem monitoring jarak dan keamanan sederhana yang dapat dikembangkan lebih lanjut untuk kebutuhan seperti smart parking system atau autonomous vehicle.
- Sebagai bahan referensi bagi pembaca yang ingin mempelajari pembuatan alarm dan detektor jarak berbasis Arduino.
BAB II
TINJAUAN PUSTAKA
2.1 Dasar Teori
Internet of Things (IoT) merupakan konsep yang menghubungkan berbagai perangkat fisik dengan jaringan internet sehingga dapat saling bertukar data. Dalam piramida IoT, terdapat empat lapisan utama, yaitu data from things (pengambilan data melalui sensor), connectivity (jaringan penghubung), platform (pengolahan data), dan apps (aplikasi yang menggunakan data tersebut). Pada laporan ini, sistem yang dibangun berada pada lapisan dasar piramida IoT, yaitu pengambilan data dari sensor (things) dan eksekusi aktuator berupa LED, buzzer, dan modul display LCD.
Sensor Ultrasonik HC-SR04 adalah sensor pengukur jarak non-kontak berbasis gelombang suara berfrekuensi tinggi (40kHz). Sensor ini bekerja dengan cara memancarkan pulsa gelombang ultrasonik melalui pin Trigger selama minimal 10μs. Gelombang tersebut merambat di udara, memantul saat mengenai objek, dan diterima kembali oleh pin Echo. Dengan mengukur durasi waktu pemantulan sinyal dari pin Echo, mikrokontroler dapat menghitung jarak objek menggunakan rumus kecepatan suara v=0,0343cm/μs
Arduino Uno merupakan salah satu papan mikrokontroler berbasis ATmega328P yang banyak digunakan untuk keperluan prototyping elektronika karena kemudahan penggunaannya dan dukungan pustaka (library) yang bersifat open source. Arduino Uno memiliki pin digital I/O yang dapat difungsikan sebagai input (membaca pulsa sinyal Echo) maupun output (memicu Trigger, menyalakan LED, serta menghasilkan nada suara pada buzzer melalui PWM/generator frekuensi).
2.2 Komponen
Komponen yang digunakan dalam simulasi ini adalah:
- Arduino Uno R3: Berfungsi sebagai pusat pengendali (mikrokontroler) yang membaca data waktu dari sensor, mengolah data jarak, dan mengendalikan output LCD, LED, serta buzzer berdasarkan program yang ditanamkan.
- Sensor Ultrasonik HC-SR04: Berfungsi sebagai komponen input yang mendeteksi jarak objek dengan memancarkan dan menerima kembali gelombang ultrasonik.
- Layar LCD 16x2 I2C: Berfungsi menampilkan teks jarak pembacaan secara real-time dan status kondisi sistem (AMAN/BAHAYA) menggunakan saluran komunikasi I2C (SDA/SCL).
- LED Merah: Berfungsi sebagai indikator visual alarm/peringatan yang menyala ketika jarak objek terbaca kurang dari ambang batas aman <15 cm
- LED Hijau: Berfungsi sebagai indikator visual kondisi aman yang menyala ketika objek berada pada jarak yang aman ≥15 cm
- Piezo Buzzer: Berfungsi sebagai indikator audio (suara alarm) yang berbunyi saat sistem mendeteksi kondisi bahaya/terlalu dekat.
- Resistor 220 Ohm: Digunakan sebagai pembatas arus pada rangkaian LED agar LED tidak rusak akibat arus berlebih.
BAB III
PEMBAHASAN
3.1 Penjelasan Simulasi
Simulasi ini dibuat menggunakan platform Tinkercad dengan rangkaian yang terdiri dari Arduino Uno, sensor ultrasonik HC-SR04, layar LCD 16x2 I2C, buzzer (piezo), dan dua buah LED (merah dan hijau) yang masing-masing dilengkapi resistor sebagai pembatas arus. Sensor HC-SR04 dihubungkan ke pin digital Arduino (pin Trigger ke Pin 7 dan pin Echo ke Pin 6). LED hijau dihubungkan ke pin digital 8, buzzer dihubungkan ke pin digital 9, LED merah dihubungkan ke pin digital 10, sedangkan modul LCD I2C dihubungkan melalui pin komunikasi I2C (SDA ke pin A4 dan SCL ke pin A5). Pin daya (VCC dan GND) seluruh komponen terhubung dengan benar ke pin 5V dan GND pada Arduino Uno.
Cara kerja rangkaian ini adalah sebagai berikut: Arduino secara berkala memberikan pulsa digital HIGH selama 10μs ke pin Trigger sensor HC-SR04 untuk memancarkan gelombang ultrasonik. Durasi pantulan gelombang yang ditangkap pin Echo dihitung menggunakan perintah pulseIn(). Durasi waktu tersebut dikonversi menjadi jarak dalam satuan cm dengan rumus Jarak=Durasi×0,0343/2. Apabila jarak objek yang terbaca kurang dari ambang batas yang ditentukan (15cm), maka LED merah akan menyala, buzzer akan berbunyi mengeluarkan nada alarm, dan layar LCD baris kedua akan menampilkan status "BAHAYA!" sebagai tanda peringatan, sementara LED hijau mati. Sebaliknya, apabila jarak objek berada di atas atau sama dengan ambang batas (> 15cm), LED hijau akan menyala, buzzer dimatikan, dan layar LCD menampilkan status "AMAN" menandakan kondisi aman, sementara LED merah mati. Hasil pembacaan angka jarak secara real-time ditampilkan pada baris pertama layar LCD, serta dicetak pada Serial Monitor sebagai informasi tambahan.
3.2 Program
Program yang digunakan dalam simulasi ini ditulis menggunakan bahasa C/C++ pada Arduino IDE. Berikut adalah penjelasan program secara garis besar:
- Pada bagian deklarasi variabel, ditentukan pin 7 sebagai output Trigger, pin 6 sebagai input Echo, pin 8 sebagai output LED hijau, pin 9 sebagai output buzzer, dan pin 10 sebagai output LED merah. Di bagian ini juga ditambahkan pemanggilan library Adafruit_LiquidCrystal untuk LCD dan inisialisasi LCD I2C dengan format 16 kolom dan 2 baris. Nilai ambang batas jarak (threshold) ditetapkan sebesar 15.0cm.
- Pada fungsi setup(), dilakukan inisialisasi komunikasi serial dengan baud rate 9600, serta pengaturan mode pin (INPUT untuk Echo dan OUTPUT untuk Trigger, buzzer, serta kedua LED). Selain itu, dilakukan juga inisialisasi untuk menyalakan layar LCD beserta lampu latarnya (backlight), dan menampilkan teks sapaan awal saat alat baru menyala.
- Pada fungsi loop(), program mengirimkan sinyal pemicu pada pin Trigger selama 10μs, kemudian mengukur waktu balasan sinyal Echo menggunakan fungsi pulseIn(). Nilai durasi tersebut dikonversi menjadi jarak (cm) dan ditampilkan pada Serial Monitor serta baris pertama layar LCD. Lalu, nilai jarak dibandingkan dengan nilai ambang batas menggunakan struktur kondisi if-else untuk menentukan LED mana yang menyala dan apakah buzzer diaktifkan (tone()) atau dimatikan (noTone()), sekaligus memperbarui teks status pada baris kedua LCD menjadi "BAHAYA!" atau "AMAN".
#include <Adafruit_LiquidCrystal.h>
Adafruit_LiquidCrystal lcd(0);
const int trigPin = 7;
const int echoPin = 6;
const int ledHijau = 8;
const int buzzerPin = 9;
const int ledMerah = 10;
const float thresholdJarak = 15.0;
void setup() {
Serial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(ledHijau, OUTPUT);
pinMode(ledMerah, OUTPUT);
pinMode(buzzerPin, OUTPUT);
lcd.begin(16, 2);
lcd.setBacklight(1); // Lampu latar menyala
lcd.setCursor(0, 0);
lcd.print("Sistem Deteksi");
lcd.setCursor(0, 1);
lcd.print("Jarak Aktif...");
delay(2000);
lcd.clear();
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
long duration = pulseIn(echoPin, HIGH, 30000);
float jarak = (duration * 0.0343) / 2.0;
Serial.print("Jarak: ");
Serial.print(jarak);
Serial.println(" cm");
if (jarak > 0) {
lcd.setCursor(0, 0);
lcd.print("Jarak: ");
lcd.print(jarak, 1);
lcd.print(" cm ");
lcd.setCursor(0, 1);
if (jarak < thresholdJarak) {
digitalWrite(ledMerah, HIGH);
digitalWrite(ledHijau, LOW);
tone(buzzerPin, 1000);
lcd.print("Status: BAHAYA! ");
} else {
digitalWrite(ledMerah, LOW);
digitalWrite(ledHijau, HIGH);
noTone(buzzerPin);
lcd.print("Status: AMAN ");
}
}
delay(150);
}BAB IV
PENUTUP
4.1 Kesimpulan
Berdasarkan simulasi yang telah dibuat, dapat disimpulkan bahwa:
- Sensor ultrasonik HC-SR04 dapat digunakan untuk mengukur jarak objek di sekitar lingkungan secara akurat melalui penghitungan durasi pemantulan gelombang suara tinggi yang kemudian dikonversi menjadi satuan sentimeter.
- Sistem alarm jarak otomatis dapat dibangun menggunakan Arduino Uno dengan memanfaatkan kombinasi indikator audio-visual, yaitu LED merah dan buzzer untuk kondisi rintangan terlalu dekat (bahaya) serta LED hijau untuk kondisi jarak aman.
- Simulasi menggunakan platform Tinkercad memudahkan proses perancangan, pengujian jalur skema elektronika, dan debugging kode program tanpa risiko kerusakan perangkat keras secara langsung.
4.2 Saran
Sistem pemantau jarak yang dibuat dalam laporan ini masih bersifat lokal dan mendasar. Untuk pengembangan lebih lanjut, disarankan untuk:
- Menambahkan variasi frekuensi/pola bunyi buzzer dan indikator interval kedipan LED yang berubah cepat seiring dengan makin mendekatnya jarak objek (seperti sistem sensor parkir mobil sungguhan).
- Menambahkan konektivitas WiFi atau Bluetooth (misalnya menggunakan modul ESP32/ESP8266) sehingga data jarak dan peringatan alarm dapat dikirimkan secara real-time ke aplikasi smartphone atau dashboard IoT cloud.
DAFTAR PUSTAKA
ElecFreaks. (n.d.). HC-SR04 Ultrasonic Sensor User Manual. ElecFreaks Co., Ltd. https://cdn.sparkfun.com/datasheets/Sensors/Proximity/HCSR04.pdf
Autodesk. (n.d.). Tinkercad: Create digital designs with the free, easy to use app for schools, kids, hobbyists, and makers. Autodesk, Inc. https://www.tinkercad.com
Circuit Basics. (2020). How to Set Up an Ultrasonic Range Finder on an Arduino. Circuit Basics. https://www.circuitbasics.com/how-to-set-up-an-ultrasonic-range-finder-on-an-arduino/
LAMPIRAN
Link Video Penjelasan:
https://drive.google.com/file/d/1V6gUPIgFrDb36vxZ6NhmVayjV8SlSHyq/view?usp=sharing
Tidak ada komentar:
Posting Komentar