07 Jul 2026
Kontrol Servo SG90 Pakai Arduino + Potensiometer: Dasar Robot Lengan
Tutorial Arduino Servo SG90: Kontrol Motor 180° Pakai Potensiometer
Apa Itu Servo SG90? Otot Kecil yang Gerakannya Presisi
Kalau sensor HC-SR04 tadi "mata" nya Arduino, maka Servo SG90 ini "otot" nya Arduino.
Bedanya sama motor DC biasa: Motor DC muter terus. Servo? Dia bisa disuruh "berhenti di sudut 90 derajat". "Oke sekarang ke 45 derajat". Presisi banget.
Makanya servo dipake di: Lengan robot, Pintu otomatis, Kamera CCTV yang bisa nengok kiri-kanan, Sayap pesawat RC.
SG90 ini servo paling murah dan paling populer. Harga 25ribu. Tenaganya kecil, tapi buat belajar udah paling pas.
Alat & Bahan yang Dibutuhkan
- 1x Arduino UNO R3
- 1x Servo SG90 - Perhatikan warna kabelnya:
Merah = 5V,
Coklat/Hitam = GND,
Oranye/Kuning = Sinyal ke Pin 9 - 1x Potensiometer 10K - Ini "tombol putar" buat ngatur sudut. Kayak volume di speaker.
- Kabel Jumper - Secukupnya
PENTING: Jangan colok servo langsung ke pin 5V Arduino kalau servonya banyak. Dia bisa nyedot arus gede dan bikin Arduino restart. Buat 1 servo SG90 masih aman.
Skema Kabel / Wiring Diagram
| Komponen | Kabel | Colok ke Arduino |
|---|---|---|
| Servo SG90 | Merah | 5V |
| Servo SG90 | Coklat | GND |
| Servo SG90 | Oranye | Pin 9 |
| Potensiometer | Kaki Tengah | Pin A0 |
| Potensiometer | Kaki Kanan | 5V |
| Potensiometer | Kaki Kiri | GND |
Kode Program Lengkap + Penjelasan
Copy kode ini ke Arduino IDE. Library `Servo.h` udah bawaan, gak perlu install.
#include // Panggil library servo
Servo myservo; // Bikin objek servo namanya "myservo"
int potPin = A0; // Potensiometer di pin Analog A0
int servoPin = 9; // Kabel sinyal servo di pin Digital 9
int potValue; // buat nyimpen nilai dari potensiometer 0-1023
int angle; // buat nyimpen sudut servo 0-180
void setup() {
myservo.attach(servoPin); // "Nempelin" servo ke pin 9
Serial.begin(9600); // buat debugging di Serial Monitor
}
void loop() {
// 1. BACA NILAI POTENSIOMETER
potValue = analogRead(potPin); // hasilnya 0 sampai 1023
// 2. UBAH 0-1023 MENJADI 0-180
// Ini fungsi ajaibnya. map(nilai, dari_min, dari_max, ke_min, ke_max)
angle = map(potValue, 0, 1023, 0, 180);
// 3. SURUH SERVO GERAK KE SUDUT TADI
myservo.write(angle); // suruh muter ke 'angle' derajat
// 4. TAMPILIN DI SERIAL MONITOR
Serial.print("Sudut: ");
Serial.print(angle);
Serial.println(" derajat");
delay(15); // jeda dikit biar servo gak geter
}
Cara Kerja Kode: Fungsi `map()` Adalah Kuncinya
Ini bagian yang paling bikin bingung pemula.
Potensiometer itu ngeluarin angka 0 sampai 1023. Tapi servo cuma ngerti perintah 0 sampai 180 derajat.
Nah `map()` tugasnya jadi "penerjemah":map(0, 0, 1023, 0, 180) = Kalau potensiometer di kiri mentok, servo ke 0°map(1023, 0, 1023, 0, 180) = Kalau potensiometer di kanan mentok, servo ke 180°map(512, 0, 1023, 0, 180) = Kalau di tengah, servo ke 90°
Gampang kan?
4 Ide Project Keren Setelah Ini
- Pintu Otomatis
Gabungin sama Sensor HC-SR04 artikel sebelumnya. Kalau ada orang <20cm, servo muter 90° buat "buka pintu". - Robot Lengan 1 Axis
Tempel penggaris ke servo. Udah jadi robot lengan paling dasar. - Jam Analog
Pake 3 servo buat jarum Jam, Menit, Detik. - Solar Tracker
Pake 2 LDR + 2 Servo. Biar panel surya selalu ngadep matahari.
3 Masalah Umum & Cara Mengatasinya
- Servo Geter-geter / Dengung
Penyebab: Arus kurang atau delay terlalu kecil.
Solusi: Kasih `delay(20)` bukan `delay(15)`. Atau pake adaptor 5V 2A eksternal buat servo. - Servo Muternya Gak Full 180°
Penyebab: Tiap servo beda-beda. Ada yang mentok di 160°.
Solusi: Ganti kodenya jadi `map(potValue, 0, 1023, 10, 170)`. Biar ada "spasi pengaman". - Arduino Restart Pas Servo Bergerak
Penyebab: Servo nyedot arus gede.
Solusi: WAJIB pake power eksternal 5V untuk servo. GND Arduino dan GND power eksternal harus digabung.
Kesimpulan: Kamu Baru Bikin "Sendi" Pertama Robot
Dengan project ini kamu udah bisa ngontrol gerakan. Gabungin sama "mata" dari sensor jarak tadi, dan kamu udah punya robot paling dasar.
Logika `baca sensor > proses > gerakin servo` ini dipakai di 90% project robotika.
Tugas kamu: Coba putar potensiometer pelan-pelan. Liat servo ngikutin gak? Kalau iya, komen "Berhasil" di bawah 👇
Di artikel selanjutnya kita bakal gabungin semua: `Sensor + Servo + Buzzer` jadi "Tempat Sampah Otomatis". Mau? Follow culobo.com biar gak ketinggalan.
Males Ngoding Sendiri?
Tim Culobo siap buatin website, ajarin coding, atau naikin SEO web kamu.
Lihat 3 Layanan Kami