ARDUNIOUNO SERVO
Program Servo Arduino Uno (Gerak 0° – 180°)
🔧 Kebutuhan
-
Arduino Uno
-
Motor Servo (SG90 / MG90 / sejenis)
-
Kabel jumper
Koneksi servo:
-
Merah → 5V Arduino
-
Coklat/Hitam → GND
-
Kuning/Putih → Pin 9
🔌 Rangkaian Pin
Servo
-
Merah → 5V
-
Coklat/Hitam → GND
-
Kuning → Pin 9
Ultrasonik HC-SR04
-
VCC → 5V
-
GND → GND
-
TRIG → Pin 7
-
ECHO → Pin 6
#include <Servo.h> // Memanggil library servo
Servo servoMotor; // Membuat objek servo
void setup() {
servoMotor.attach(9); // Servo terhubung ke pin 9
}
void loop() {
servoMotor.write(0); // Servo ke posisi 0 derajat
delay(1000); // Tunggu 1 detik
servoMotor.write(90); // Servo ke posisi 90 derajat
delay(1000); // Tunggu 1 detik
servoMotor.write(180); // Servo ke posisi 180 derajat
delay(1000); // Tunggu 1 detik
}
full
#include <Servo.h>
Servo servoMotor;
// Pin Ultrasonik
const int trigPin = 7;
const int echoPin = 6;
long duration;
int distance;
void setup() {
servoMotor.attach(9); // Servo di pin 9
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
Serial.begin(9600); // Untuk monitoring jarak
}
void loop() {
// Mengirim gelombang ultrasonik
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Menerima pantulan
duration = pulseIn(echoPin, HIGH);
// Menghitung jarak (cm)
distance = duration * 0.034 / 2;
Serial.print("Jarak: ");
Serial.print(distance);
Serial.println(" cm");
// Logika Servo
if (distance <= 15) { // Jika objek ≤ 15 cm
servoMotor.write(90); // Servo bergerak (buka)
} else {
servoMotor.write(0); // Servo kembali (tutup)
}
delay(500);
}
Comments
Post a Comment