Halo teman-teman, ketemu lagi kita di artikel duwiarsana nih. Kali ini kita akan membuat sebuah project yang menarik dan bermanfaat, yaitu penggaris digital menggunakan sensor ultrasonic dan LCD 16×2. Dengan project ini, kita bisa mengukur jarak dengan lebih mudah dan praktis. Yuk, kita mulai!
Bahan-bahan yang Dibutuhkan:
- Arduino Uno
- Sensor Ultrasonic HC-SR04
- LCD 16×2
- Potensiometer 10k Ohm
- Breadboard
- Kabel jumper
- Resistor 220 Ohm (untuk backlight LCD)
- Power supply (bisa menggunakan baterai atau adaptor)
Rangkaian:
Sebelum kita masuk ke coding, pertama-tama kita harus membuat rangkaian seperti berikut:
- Sensor Ultrasonic HC-SR04:
- VCC -> 5V pada Arduino
- GND -> GND pada Arduino
- Trig -> Pin 9 pada Arduino
- Echo -> Pin 10 pada Arduino
- LCD 16×2:
- VSS -> GND pada Arduino
- VDD -> 5V pada Arduino
- V0 -> Middle pin potensiometer (kaki lainnya ke 5V dan GND)
- RS -> Pin 7 pada Arduino
- RW -> GND pada Arduino
- E -> Pin 6 pada Arduino
- D4 -> Pin 5 pada Arduino
- D5 -> Pin 4 pada Arduino
- D6 -> Pin 3 pada Arduino
- D7 -> Pin 2 pada Arduino
- A (LED+) -> 5V pada Arduino melalui resistor 220 Ohm
- K (LED-) -> GND pada Arduino
Coding:
Setelah rangkaian selesai, sekarang kita masuk ke bagian coding. Pastikan kalian sudah menginstall library “LiquidCrystal” untuk LCD. Berikut adalah kodenya:
#include <LiquidCrystal.h>
// Inisialisasi pin LCD
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);
// Inisialisasi pin untuk sensor ultrasonic
const int trigPin = 9;
const int echoPin = 10;
void setup() {
// Inisialisasi LCD
lcd.begin(16, 2);
lcd.print("Penggaris Digital");
// Inisialisasi pin untuk sensor ultrasonic
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
// Delay sejenak
delay(2000);
}
void loop() {
// Menyiapkan sensor ultrasonic
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Membaca durasi dari echo
long duration = pulseIn(echoPin, HIGH);
// Menghitung jarak dalam cm
int distance = duration * 0.034 / 2;
// Menampilkan jarak pada LCD
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Jarak: ");
lcd.print(distance);
lcd.print(" cm");
// Delay sebelum loop berikutnya
delay(500);
}Penjelasan Coding:
- Inisialisasi Library dan Pin:
#include <LiquidCrystal.h>: Menyertakan library LCD untuk mengontrol LCD.LiquidCrystal lcd(7, 6, 5, 4, 3, 2): Menginisialisasi LCD dengan pin yang terhubung ke Arduino.const int trigPin = 9;danconst int echoPin = 10;: Mendefinisikan pin untuk sensor ultrasonic.
- Setup Function:
lcd.begin(16, 2): Menginisialisasi LCD dengan 16 kolom dan 2 baris.lcd.print("Penggaris Digital"): Menampilkan teks pada LCD.pinMode(trigPin, OUTPUT)danpinMode(echoPin, INPUT): Mengatur mode pin untuk sensor ultrasonic.
- Loop Function:
- Mengirim sinyal trigger untuk mengaktifkan sensor ultrasonic.
- Mengukur durasi sinyal echo yang kembali.
- Menghitung jarak berdasarkan durasi sinyal echo.
- Menampilkan jarak pada LCD.
Dengan mengikuti langkah-langkah di atas, teman-teman sudah bisa membuat penggaris digital sendiri menggunakan sensor ultrasonic dan LCD 16×2. Semoga artikel ini bermanfaat dan bisa menjadi inspirasi untuk project selanjutnya. Sampai jumpa di artikel berikutnya!
Suatu yang sangat bermanfaat. Saya mencoba belajar arduino secara autodikdak, sudah menginjak umur 5o tahun sepertinya harus mengeluarkan tenaga ekstra, ditambah lagi basic yang belum begitu kuat. Di dalam aktifitas saya saat mengajar fisika di lab, sering membutuhkan alat stop watch dengan akurasi tinggi agar diperoleh data yang baik, untuk mengukur kecepatan sebuah obyek.