Cara Memprogram Sensor Ultrasonik di
Arduino UNO
Jenis sensor ultrasonik yang dipakai adalah sensor ultrasonik HC-SR04.
Sensor Ultrasonik HC-SR04 kini banyak digunakan untuk alat otomatis yang
berdasarkan jarak. Seperti kran otomatis, pintu otomatis dan masih banyak lainnya.
Sensor ultrasonik HC-SR04 memiliki prinsip kerja seperti kelelawar yaitu dengan
memantulkan gelombang suara agar mengetahui ada atau tidak adanya penghalang
di depannya.
Untuk bisa mengukur jarak dengan sensor ultrasonik dan Arduino UNO kamu harus
paham dulu komponen utama sensor ultrasonik dan cara kerja sensor ini.
Sensor ultrasonik memiliki 2 komponen utama yaitu Trigger yang digunakan sebagai
transmitter atau pengirim gelombang suara dan Echo sebagai receiver yang
digunakan sebagai penerima pantulan gelombang suara ultrasonik.
Cara kerja sensor ini, transmitter akan mengirimkan sinyal suara ke arah depan, jika
di depan ada benda maka benda itu akan memantulkan suara tadi ke arah receiver.
Alat dan Bahan
Arduino UNO (1 buah)
Modul Sensor Ultrasonik HC-SR04 (1 buah)
Resistor 100 Ohm atau 220 Ohm (1 buah)
Kabel Jumper secukupnya
Breadboard (1 buah)
LED 5 mm atau 3 mm, warna bebas (1 buah)
Rangkaian Menggunakan Sensor Ultrasonik di Arduino
Keterangan :
Kabel jumper warna merah terhubung ke pin VCC sensor ultrasonik dan pin
5V Arduino
Kabel jumper warna hitam terhubung ke pin GND sensor ultrasonik dan
Arduino
Kabel jumper warna kuning terhubung ke pin Echo sensor ultrasonik dan pin
digital 11 Arduino
Kabel jumper warna hijau terhubung ke pin Trigger sesnor ultrasonik dan pin
digital 12 Arduino
Program Sensor Ultrasonik HC-SR04 di Arduino
1. #define echoPin 11
2. #define trigPin 12
3. long duration, distance;
4. void setup() {
5. Serial.begin (9600);
6. pinMode(trigPin, OUTPUT);
7. pinMode(echoPin, INPUT);
8. }
9.
10. void loop() {
11.
12. //Program agar Trig mengirim sinyal ultrasonik
13. digitalWrite(trigPin, LOW);
14. delayMicroseconds(5);
15. digitalWrite(trigPin, HIGH);
16. delayMicroseconds(5);
17. digitalWrite(trigPin, LOW);
18. delayMicroseconds(5);
19.
20. duration = pulseIn(echoPin, HIGH);
21. distance = (duration/2)/29.1;
22.
23. Serial.println(distance);
24. }
Keterangan
Fungsi void setup() di dalam program Arduino adalah sebuah program yang
dibaca sekali saja
Fungsi void loop() di dalam program Arduino adalah sebuah program yang
dibaca berulang kali
Serial.begin() pada program di atas digunakan untuk komunikasi Arduino
dengan komputer
Fungsi digitalWrite() di dalam program Arduino adalah sebuah program untuk
memberi perintah 1 atau 0 (TRUE or FALSE)
Serial.print() di dalam program Arduino adalah sebuah program untuk
menampilkan data di serial monitor tanpa enter
Serial.println() di dalam program Arduino adalah sebuah program untuk
menampilkan data di serial monitor tanpa dengan enter
Rangkaian Ke-2 Sensor Ultrasonik HC-SR04 dengan LED Sebagai Indikator
Keterangan :
Kabel jumper warna merah terhubung ke pin VCC sensor ultrasonik dan pin
5V Arduino
Kabel jumper warna hitam terhubung ke pin GND sensor ultrasonik dan
Arduino
Kabel jumper warna kuning terhubung ke pin Echo sensor ultrasonik dan pin
digital 11 Arduino
Kabel jumper warna hijau terhubung ke pin Trigger sesnor ultrasonik dan pin
digital 12 Arduino
Kabel jumper warna merah terhubung ke pin 10 Arduino dan ke resistor yang
terhubung dengan kaki positif LED
Program Sensor Ultrasonik dengan LED
1. // Mengukur jarak dengan Sensor Ultrasonik HC-SR04 dan LED
2. #define led 10 //Membuat variabel LED ke-pin 10
3. #define echoPin 11 //Membuat variabel Echo ke-pin 11
4. #define trigPin 12 //Membuat variabel Trig ke-pin 12
5. long duration, distance; //Membuat variabel untuk durasi dan jarak
6.
7. void setup() {
8. Serial.begin (9600); //Berfungsi untuk komunikasi serial dengan komputer
9. pinMode(trigPin, OUTPUT); //Set varibel trigPin sebagai output
10. pinMode(echoPin, INPUT); //Set variabel echoPin sebagai input
11. pinMode(led, OUTPUT); //Set variabel led sebagai output
12. }
13.
14. void loop() {
15. //Program agar Trig mengirim sinyal ultrasonik
16. digitalWrite(trigPin, LOW);
17. delayMicroseconds(5);
18. digitalWrite(trigPin, HIGH);
19. delayMicroseconds(5);
20. digitalWrite(trigPin, LOW);
21. delayMicroseconds(5);
22.
23. duration = pulseIn(echoPin, HIGH); //Echo menerima sinyal ultrasonik
24. distance = (duration/2)/29.1; //Rumus mengubah durasi menjadi jarak (cm)
25.
26. //Program jika jarak kurang dari 10 CM maka LED akan menyala
27. if(distance<=10){
28. digitalWrite(led, HIGH);
29. }else{
30. digitalWrite(led, LOW);
31. }
32.
33. //Meanmpilkan jarak di serial monitor dengan jeda 0.05 detik
34. Serial.print(distance);
35. Serial.println(" cm");
36. delay(5);
37. }
Keterangan :
Fungsi void setup() di dalam program Arduino adalah sebuah program yang
dibaca sekali saja
Fungsi void loop() di dalam program Arduino adalah sebuah program yang
dibaca berulang kali
Fungsi pinMode() di dalam program Arduino adalah sebuah program untuk
menentukan pin tersebut menjadi input atau output
Serial.begin() pada program di atas digunakan untuk komunikasi Arduino
dengan komputer
Fungsi digitalWrite() di dalam program Arduino adalah sebuah program untuk
memberi perintah 1 atau 0 (TRUE or FALSE)
Serial.print() di dalam program Arduino adalah sebuah program untuk
menampilkan data di serial monitor tanpa enter
Serial.println() di dalam program Arduino adalah sebuah program untuk
menampilkan data di serial monitor tanpa dengan enter