Membuat Sensor Jarak Menggunakan Arduino dan Ultrasonic Transceiver HC-SR04
Alat dan Bahan yang digunakan dalam project ini adalah:
- Arduino Uno R3 : 1 buah
- Ultrasonic transceiver HCSR04 : 1 buah
- LED : 3 buah (berbeda warna)
- Buzzer : 1 buah
- Resistor 330Ω : 4 buah
Setelah alat dan bahan siap, dapat dilakukan Langkah Kerja sebagai berikut:

- Menyiapkan alat dan bahan, serta program untuk arduino
- Memasangkan kabel jumper di pin 5v dan pin GND pada arduino, lalu sambungkan ke protoboard
- Menyusun resistor dengan LED, dan resistor dengan buzzer secara seri pada protoboard
- Menyambungkan kaki negatif (-) LED dan buzzer pada GND arduino
- Menyambungkan LED hijau pada pin 13 arduino
- Menyambungkan n LED kuning pada pin 10 arduino
- Menyambungkan LED merah pada pin 8 arduino
- Menyambungkan buzzer pada pin 3 arduino
- Memasang ultrasonik sensor transduser ke protoboard
- Menyambungkan pin Vcc transduser ke 5v arduino
- Menyambungkan pin GND ke GND arduino
- Menyambungkan pin Trig pada transduser ke pin 7 arduino
- Menyambungkan Echo pada transduser ke pin 6 arduino
- Mengoneksi arduino ke komputer
- Mengupload script/program pada aplikasi arduino keperangkat arduino.
Script/Program yang diupload di arduino:
#define trigPin 7
#define echoPin 6
#define led 13
#define led2 10
#define led3 8
#define buzzer 3
int sound = 250;
void setup() {
Serial.begin (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(led, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(buzzer, OUTPUT);
}
void loop() {
long duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration/2) / 29.1;
if (distance <= 150) {
digitalWrite(led, HIGH);
sound = 250;
}
else {
digitalWrite(led,LOW);
}
if (distance <=50) {
digitalWrite(led2, HIGH);
sound = 300;
}
else {
digitalWrite(led2, LOW);
}
if (distance < 20) {
digitalWrite(led3, HIGH);
sound = 350;
}
else {
digitalWrite(led3, LOW);
}
if (distance > 150 || distance <= 0){
Serial.println("Jarak diluar jangkauan!");
noTone(buzzer);
}
else {
Serial.print(distance);
Serial.println(" cm");
tone(buzzer, sound);
}
delay(500);
}







