Contents
Sensor Ultrasonik adalah sensor yang bekerja berdasarkan pantulan gelombang suara untuk mendeteksi keberadaan sebuah objek. Sensor ultrasonik terdapat dua bagian yaitu pemancar yang berfungsi sebagai pemancar gelombang dan penerima yang berfungsi sebagai penerima gelombang. Sensor ultrasonik HC-SR04 ini bisa digunakan untuk mengukur jarak benda dari 2 cm – 400 cm dengan akurasi 10 mm. Sensor ultrasonik umum digunakan untuk mengukur jarak suatu benda. Saat ini sensor ultrasonik hadir dalam bentuk modul seperti terlihat pada gambar di bawah ini
Cara kerja sensor ultrasonik adalah Sinyal yang dipancarkan akan merambat sebagai gelombang bunyi dengan kecepatan sekitar 340 m/s. Ketika mengenai suatu benda, maka sinyal tersebut akan dipantulkan menuju penerima sensor ultrasonik. Sinyal tersebut akan diproses untuk menghitung jarak benda tersebut. Sensor Ultrasonik HC-SR04 terdapat 4 pin yaitu Vcc, Trig, Echo, dan Gnd. Pada tutorial kali ini data pembacaan sensor ultrasonik akan ditampilkan pada LCD 20×4 serta digunakan untuk mengendalikan LED. Untuk lebih memahami tutorial kali ini marilah kita buat percobaan sederhana, namun sebelum itu persiapkan :
Alat dan Bahan Percobaan HCSR04 LCD 20×4 NodeMCU
- NodeMcu Lolin
- Sensor ulrasonik HC-SR04
- Resistor 220
- LED merah
- Jumper secukupnya (Male to female)
- LCD 2004
- Protoboard
Dari bahan komponen di atas kemudian buat rangkaian seperti pada gambar dibawah ini dengan konfigurasi pin:
• VCC dihubungkan dengan VU NodeMcu
• Echo dihubungkan dengan pin D5 NodeMcu
• Trig dihubungkan dengan pin D6 NodeMcu
• Gnd dihubungkan dengan GND NodeMcu.
• SDA dihubungkan dengan pin D2 NodeMcu.
• SCL dihubungkan dengan pin D1 NodeMcu
Source Code HCSR04 LCD 20×4 – NodeMCU
Setelah merangkai komponen seperti gambar di atas mari kita coba buat programnya. Buka Arduino IDE di laptop Anda kemudian isikan baris program sebagai berikut:
Catatan: Jika Anda belum menginstal library LiquidCrystalI2C.h, Anda bisa menginstalnya melalui menu Tools – Manage Libraries, kemudian ketikkan ‘liquid crystal i2c’ di kotak search
#include <Wire.h> // Memanggil library wire.h #include <LiquidCrystal_I2C.h> // Memanggil library LCD dengan I2C LiquidCrystal_I2C lcd(0x27, 20, 4); // Alamat I2C(0x27) LCD dan Jenis LCD (20x4) #define echoPin D5 //Deklarasi echo terhubung pada pin D5 HC-SR04 #define trigPin D6 //Deklarasi trig terhubung pada pin D6 HC-SR04 #define led D7 //Deklarasi LED terhubung pada pin D7 // defines variables long durasi; // variabel durasi suara int jarak; // variabel untuk mengukur jarak void setup() { lcd.init(); // instruksi untuk memulai LCD lcd.begin(20,4); // instruksi untuk menggunakan lcd 20x4 lcd.backlight(); // instruksi untuk mengaktifkan lampu latar LCD pinMode(trigPin, OUTPUT); // deklarasi pin trig sebagai output pinMode(echoPin, INPUT); // deklarasi pin echo sebagai input pinMode(led, OUTPUT); // deklarasi LED sebagai output Serial.begin(9600); // komunikasi serial menggunakan baudrate 9600 } void loop() { digitalWrite(trigPin, LOW); // Trig tidak aktif delayMicroseconds(2); digitalWrite(trigPin, HIGH); // Trig aktif delayMicroseconds(10); digitalWrite(trigPin, LOW); // Membaca sinyal masuk pada echo durasi = pulseIn(echoPin, HIGH); // Menghitung Jarak jarak = durasi * 0.034 / 2; // Rumus menghitung jarak ultrasonik lcd.setCursor(2, 0); // karakter dimulai dari kolom 2 baris 1 lcd.print("Tutorial HC-SR04"); // Karakter yang akan ditampilkan pada LCD lcd.setCursor(4, 1); // karakter dimulai dari kolom 4 baris 2 lcd.print("NodeMcu"); // Karakter yang akan ditampilkan pada LCD lcd.setCursor(0,2); // karakter dimulai dari kolom 1 baris 3 lcd.print("Distance:"); // Karakter yang akan ditampilkan pada LCD lcd.print(jarak); // Menampilkan data jarak pada LCD lcd.print(" cm"); delay(10); if (jarak < 5){ // instruksi untuk mengaktifkan LED jika jarak benda kurang dari 5 cm digitalWrite(led, HIGH); lcd.setCursor(0,3); lcd.print("LED ON "); } else { digitalWrite(led, LOW); // instruksi untuk mematikan LED jika jarak benda lebih dari 5 cm lcd.setCursor(0,3); lcd.print("LED OFF"); } delay(1000); }
Upload sketch di atas, tapi pastikan settingan board di Arduino IDE adalah NodeMCU (ESP-12E Module) ya. Pastikan juga port COM sudah benar (cek di Control Panel – Device Manager)
Pada gambar di atas terlihat saat jarak benda yang terdeteksi lebih dari 5 cm maka LED akan padam dan berdasarkan Gambar 4 terlihat saat jarak benda yang terdeteksi kurang dari 5 cm maka LED akan menyala (ON). Hal ini sesuai dengan instruksi pada baris 43-54
Program di atas mengendalikan LED untuk ON / OFF berdasarkan jarak yang terukur, jika jarak benda dari sensor lebih dari 5 cm maka LED akan Padam. Namun jika jarak benda dari sensor kurang dari 5 cm maka LED akan aktif. Jika hasil percobaan Anda telah sesuai dengan hasil pada tutorial ini maka Anda telah berhasil mengakses data sensor ultrasonik HC-SR04 serta menggunakan data terebut untuk mengendalikan LED. Anda dapat mengembangkan percobaan ini sesuai dengan kebutuhan project Anda.