Artikel Blog

Menggerakan Micro Servo menggunakan Sensor Ultrasonic HC-SR04

 

1. ALAT DAN BAHAN

  • Arduino Uno R3

  • MIcro Servo

  • Breadboard

  •  Sensor Ultrasonic HC-SR04 

 

2. SKEMA RANGKAIAN

 

3. SKEMA PIN RANGKAIAN

 

4. CODE PROGRAM

#include <Servo.h>

// Deklarasi pin sensor ultrasonik

const int trigPin = 9;

const int echoPin = 10;

 

// Deklarasi pin servo

const int servoPin = 6;

 

// Objek servo

Servo myServo;

 

// Variabel hitung jarak

long duration;

int distance;

 

void setup() {

  // Inisialisasi komunikasi serial untuk monitoring

  Serial.begin(9600);

 

  // Set mode pin ultrasonik

  pinMode(trigPin, OUTPUT);

  pinMode(echoPin, INPUT);

 

  // Hubungkan servo ke pin 6

  myServo.attach(servoPin);

  

  // Posisi awal servo (0 derajat)

  myServo.write(0);

}

 

void loop() {

  // 1. Bersihkan trigger pin

  digitalWrite(trigPin, LOW);

  delayMicroseconds(2);

 

  // 2. Pancarkan gelombang ultrasonik selama 10 mikrodetik

  digitalWrite(trigPin, HIGH);

  delayMicroseconds(10);

  digitalWrite(trigPin, LOW);

 

  // 3. Baca pantulan gelombang (durasi dalam mikrodetik)

  duration = pulseIn(echoPin, HIGH);

 

  // 4. Hitung jarak dalam centimeter (kecepatan suara = 0.034 cm/us)

  distance = duration * 0.034 / 2;

 

  // Tampilkan nilai jarak ke Serial Monitor

  Serial.print("Jarak: ");

  Serial.print(distance);

  Serial.println(" cm");

 

  // 5. Logika Gerakan Servo berdasarkan jarak

  if (distance > 0 && distance <= 15) { 

    // Jika objek terdeteksi pada jarak <= 15 cm

    myServo.write(90); // Gerakkan servo ke 90 derajat

    delay(1000);       // Tahan posisi selama 1 detik

  } else {

    // Jika tidak ada objek / objek lebih jauh dari 15 cm

    myServo.write(0);  // Kembalikan servo ke 0 derajat

  }

 

  delay(100); // Teda pembacaan berikutnya

}


 

5. PENJELASAN SINGKAT