Selasa, 22 Oktober 2024

Membuat Sensor Jarak Menggunakan Arduino dan Ultrasonic Transceiver HC-SR04 dengan indikator LED

 

Membuat Sensor Jarak Menggunakan Arduino dan Ultrasonic Transceiver HC-SR04

Alat dan Bahan yang digunakan dalam project ini adalah:

    1. Arduino Uno R3 : 1 buah
    2. Ultrasonic transceiver HCSR04 : 1 buah 
    3. LED : 3 buah (berbeda warna) 
    4. Buzzer : 1 buah
    5. Resistor 330Ω : 4 buah

Setelah alat dan bahan siap, dapat dilakukan Langkah Kerja sebagai berikut:

rangkaian

  1. Menyiapkan alat dan bahan, serta program untuk arduino
  2. Memasangkan kabel jumper di pin 5v dan pin GND pada arduino, lalu sambungkan ke protoboard
  3. Menyusun resistor dengan LED, dan resistor dengan buzzer secara seri pada protoboard
  4. Menyambungkan kaki negatif (-) LED dan buzzer pada GND arduino
  5. Menyambungkan LED hijau pada pin 13 arduino
  6. Menyambungkan n LED kuning pada pin 10 arduino
  7. Menyambungkan LED merah pada pin 8 arduino
  8. Menyambungkan buzzer pada pin 3 arduino
  9. Memasang ultrasonik sensor transduser ke protoboard
  10. Menyambungkan pin Vcc transduser ke 5v arduino
  11. Menyambungkan pin GND ke GND arduino
  12. Menyambungkan pin Trig pada transduser ke pin 7 arduino
  13. Menyambungkan Echo pada transduser ke pin 6 arduino
  14. Mengoneksi arduino ke komputer
  15. 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);

}

 


0 Comments:

Posting Komentar