Meteran Digital
Ini merupakan gabugan dari dua latihan sebelumnya menggunkan sensor jarak ultrasonik HC-SR04 untuk mengukur jarak yang kemudian ditampilkan pada layar LCD.Kebutuhan Komponen:
— 1 x Arduino UNO— 1 x Breadboard
— 1 x LCD 1602
— 1 x HC-SR04 Ultrasonik
— 1 x Potensiometer
— 1 x Resistor 330Ω
— 19 x Kabel Jumper
Perakitan:
Rangkaian:
Upload Sketch:
Untuk mengisikan program ke board Arduino melalui PC/Laptop dapat menggunakan software Arduino IDE.Apabila kamu tidak mau menggunakan PC/Laptop untuk mengupload sketch/program ke board Arduino, kamu masih bisa menggunakan handphone Android untuk mengisikan program ke Arduino menggunakan aplikasi Bluino Loader, cara uploadnya pun bisa dua cara melalui USB dengan menggunakan adapter OTG atau melalui Bluetooth.
Cara lain dapat juga upload sketch langsung melalui aplikasi ini ke Arduino melalui USB OTG atau Bluetooth dengan cara menekan ikon upload (tanda panah ke kanan) di bawah.
/*
17 - Meteran Digital
Mengukur jarak benda yang berada didepan sensor ultrasonik HC-SR04 kemudian menampilkannya pada LCD
*/
#include //librarry liquid crystal kumpulan perintah untuk menampilakan karakter pada layar LCD
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //memberitahu Arduino pin mana saja yang dihubungkan dengan LCD
int trigPin = 6; //hubungkan dengan pin trigger pada sensor jarak
int echoPin = 7; //hubungkan dengan pin echo pada sensor jarak
float distance = 0; //menyimpan nilai jarak yang diukur oleh sensor
void setup() {
lcd.begin(16, 2); //memberitahu libarry LCD bahwa kita menggunakan layar LCD berukuran lebar 16 karakter dan tinggi 2 karakter
lcd.clear(); //membersihkan layar
pinMode(trigPin, OUTPUT); //pin trigger mengeluarkan pulsa listrik
pinMode(echoPin, INPUT); //pin echo akan mengukur durasi pulsa balik yang dikeluarkan dari sensor
}
void loop() {
distance = getDistance(); //variabel untuk menyimpan nilai jarak yang diukur oleh sensor
lcd.setCursor(0,0); //set kursor pada posisi 0 (pojok kiri atas)
lcd.print("Distance:"); //menampilkan Distance: pada posisi awal
lcd.setCursor(0,1); //memindahkan pada posisi 1 dibaris kedua
lcd.print(distance,1); //menampilkan jarak dan satuannya yang telah diukur pada layar LCD
lcd.print(" cm "); //menampilkan unit satuan dalam cm
delay(100); //jeda 50ms antara setiap pembacaan
}
//------------------FUNCTIONS-------------------------------
//Menghasilkan nilai jarak yang terukur oleh sensor jarak HC-SR04
float getDistance() {
float echoTime; //variabel untuk menyimpan waktu yang diperlukan sebuah ping memantul dari sebuah objek
float calcualtedDistance; //variabel untuk menyimpan kalkulasi jarak dari echo time
//mengirim pulsa ultrasonic pulse yang lamanya 10ms
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
echoTime = pulseIn(echoPin, HIGH); //menggunakan perintah pulsein untuk melihat seberapa lama waktu yang dibutuhkan
//pulsa ubtuk memantul kembali ke sensor
calcualtedDistance = echoTime / 58.26; //menghitung jarak dari objek yang telah memantulkan pulsa (setengah waktu pantul dikalikan dengan kecepatan suara)
return calcualtedDistance; //kirim hasil nilai jarak yang telah dihitung
}