Pengukuran jarak berbasis sensor ultrasonik telah menjadi salah satu teknologi penting dalam sistem otomatisasi, robotika, dan keamanan. Sensor HCSR04 mampu mendeteksi jarak dengan akurasi tinggi menggunakan gelombang ultrasonik, dan hasilnya dapat ditampilkan secara real-time pada layar OLED SSD1306.
Dengan menggunakan Arduino, kita bisa mengintegrasikan kedua komponen ini dengan mudah. Informasi jarak yang ditampilkan pada layar OLED sangat bermanfaat untuk pengguna yang ingin mendapatkan pembacaan cepat tanpa harus membuka komputer atau Serial Monitor. Sistem ini dapat dikembangkan untuk parkir otomatis, robot penghindar rintangan, atau alat ukur jarak portabel.
Komponen yang Digunakan
- 1x Arduino Uno / MFB ATMEL 328 micro
- Sensor Ultrasonik HC-SR04
- OLED SSD1306 128×64 (I2C)
- Kabel jumper
- Breadboard (opsional)
Skema Rangkaian

Koneksi Rangkaian
Komponen | Pin Arduino |
---|---|
VCC HCSR04 | 5V |
GND HCSR04 | GND |
TRIG HCSR04 | D3 |
ECHO HCSR04 | D2 |
VCC OLED | 5V |
GND OLED | GND |
SDA OLED | A4 |
SCL OLED | A5 |
Pastikan kedua perangkat (HCSR04 dan OLED) terhubung dengan kuat dan tidak terbalik.
Library yang Harus Ditambahkan
Sebelum mengupload program, pastikan kamu telah menambahkan library berikut ke Arduino IDE:
Cara instal:
- Buka Arduino IDE
- Masuk ke Sketch > Include Library > Manage Libraries
- Cari dan instal library di atas satu per satu
Kode Program Lengkap
// PROGRAM INI DI BUAT OLEH : MANFAHBOT INDUSTRIAL AUTOMATION
// HAK CIPTA PROGRAM/CODING : LUKMAN HAKIM A.
// WEBSITE : http://manfahbot.cc
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <HCSR04.h>
#define SCREEN_WIDTH 128 // Lebar layar OLED dalam piksel
#define SCREEN_HEIGHT 64 // Tinggi layar OLED dalam piksel
const int TRIG_PIN = 3; // Pin Arduino yang terhubung ke pin TRIG sensor ultrasonik
const int ECHO_PIN = 2; // Pin Arduino yang terhubung ke pin ECHO sensor ultrasonik
// Inisialisasi objek sensor ultrasonik
HCSR04 sensor(TRIG_PIN, ECHO_PIN);
// Membuat objek display SSD1306 yang terhubung melalui I2C
Adafruit_SSD1306 oled(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
String jarakString;
void setup() {
Serial.begin(9600);
// Inisialisasi layar OLED dengan alamat 0x3C untuk ukuran 128x64
if (!oled.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println(F("Inisialisasi SSD1306 gagal"));
while (true); // Berhenti di sini jika OLED gagal diinisialisasi
}
delay(2000); // Tunggu sebentar untuk inisialisasi
oled.clearDisplay(); // Bersihkan tampilan OLED
oled.setTextSize(2); // Ukuran teks
oled.setTextColor(WHITE);// Warna teks (putih)
oled.setCursor(0, 10); // Posisi awal teks pada layar
}
void loop() {
float jarak_cm = sensor.dist(); // Membaca jarak dari sensor (dalam cm)
Serial.print("Jarak: ");
Serial.print(jarak_cm, 2);
Serial.println(" cm");
jarakString = String(jarak_cm, 2);
jarakString += " cm";
Serial.println(jarakString); // Tampilkan nilai jarak ke Serial Monitor
oledDisplayCenter(jarakString); // Tampilkan nilai jarak ke OLED
}
void oledDisplayCenter(String text) {
int16_t x1;
int16_t y1;
uint16_t width;
uint16_t height;
// Menghitung posisi teks agar bisa ditampilkan di tengah layar
oled.getTextBounds(text, 0, 0, &x1, &y1, &width, &height);
// Tampilkan teks di tengah layar, baik secara horizontal maupun vertikal
oled.clearDisplay(); // Bersihkan tampilan
oled.setCursor((SCREEN_WIDTH - width) / 2, (SCREEN_HEIGHT - height) / 2);
oled.println(text); // Tampilkan teks
oled.display(); // Update tampilan OLED
}
Penjelasan Singkat Program
- Inisialisasi library OLED dan HCSR04 dilakukan di
setup()
. - Program membaca data jarak dari sensor HCSR04 setiap saat menggunakan
sensor.dist()
. - Data jarak ditampilkan ke Serial Monitor dan juga ke layar OLED SSD1306.
- Fungsi
oledDisplayCenter()
berguna untuk menampilkan teks di tengah layar, agar tampilan lebih simetris dan profesional.
Kesimpulan
Dengan memanfaatkan sensor ultrasonik HCSR04 dan layar OLED SSD1306, kamu bisa menciptakan sistem pengukur jarak digital yang mudah dibaca, cepat, dan akurat. Sistem ini cocok diterapkan untuk proyek pengukuran jarak otomatis, sensor parkir mobil, robot navigasi, dan alat bantu jarak industri.
Sistem ini bisa dikembangkan lebih lanjut dengan:
- Menambahkan buzzer sebagai alarm jarak tertentu
- Menghubungkan ke Bluetooth atau WiFi untuk monitoring jarak dari jarak jauh
- Menyimpan log pengukuran ke SD card