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
}