Servo 360 Derajat (FS90R): Kecepatan dan Arah dengan Arduino
Bagaimana cara kerja servo 360 derajat FS90R? Berhenti dengan write(90), kendali kecepatan dan arah, trimpot titik berhenti, penggunaan sebagai roda robot, serta kode PWM ESP32 dan Pico.
Servo 360 derajat memang disebut servo, tetapi sebenarnya merupakan motor kecil bergearbox yang terus berputar, alih-alih bergerak ke suatu sudut lalu berhenti di sana. Yang paling dikenal adalah FEETECH FS90R: ukuran dan tiga kabelnya sama dengan SG90, tetapi sinyal yang kamu kirim menentukan kecepatan dan arah putarannya, bukan sudut. Karena bisa langsung dihubungkan ke pin Arduino tanpa driver motor, servo ini sangat praktis untuk roda robot kecil, meja putar, dan perangkat seperti pemberi makan hewan peliharaan.
Dalam panduan ini kamu akan mempelajari perbedaan bagian dalam FS90R dengan servo biasa, alasan perintah write(90) menghentikan motor, cara mengatur kecepatan dan arah melalui lebar pulsa, serta cara memakai trimpot titik berhenti untuk mengatasi servo yang terus berputar pelan. Lalu kamu akan menggerakkan robot kecil dengan dua FS90R, mengendalikan kecepatan dengan potensiometer, dan mencoba hal yang sama pada ESP32 dan Raspberry Pi Pico. Terakhir, kamu akan memahami mengapa servo ini tidak bisa mengendalikan posisi dan apa yang sebaiknya dipilih sebagai gantinya.

Apa itu servo 360 derajat dan apa bedanya dengan servo biasa?
Servo biasa berisi motor DC kecil, gearbox, rangkaian kendali, dan potensiometer yang terhubung ke poros output. Rangkaian kendali membandingkan sudut yang diminta oleh pulsa masuk dengan sudut sebenarnya yang dibaca dari potensiometer, lalu memutar motor hingga selisihnya nol; begitu poros mencapai target, motor berhenti. Pada servo putaran kontinu, hubungan umpan balik ini diputus: potensiometer dilepas dari poros dan ditetapkan pada posisi tengahnya, sementara pembatas mekanis pada roda gigi dihilangkan. Rangkaian tetap menghitung “selisih antara posisi target dan posisi sebenarnya”, tetapi karena posisi sebenarnya tidak pernah berubah, selisih itu tidak pernah habis. Hasilnya, semakin besar selisihnya, semakin cepat motor berputar, dan tanda positif atau negatif selisih tersebut menentukan arahnya.
| Fitur | SG90 (servo 180°) | FS90R (putaran kontinu 360°) |
|---|---|---|
| Apa yang diatur oleh sinyal? | Sudut poros (0–180°) | Kecepatan dan arah putaran |
| Pulsa 1500 µs | Bergerak ke tengah (90°) dan tetap di sana | Berhenti |
| 1000 µs / 2000 µs | Bergerak ke salah satu ujung | Kecepatan penuh ke salah satu arah |
| Umpan balik internal | Potensiometer terhubung ke poros | Tidak ada; potensiometer hanya mengatur titik berhenti |
| Pembatas mekanis | Ada | Tidak ada, berputar tanpa henti |
| Mempertahankan posisi | Mempertahankan sudutnya ketika dibebani | Tidak bisa; tidak mengetahui posisi berhentinya |
| Penggunaan umum | Lengan, tutup, kemudi | Roda, meja putar, pengumpan ulir |
Spesifikasi FS90R
| Fitur | Nilai |
|---|---|
| Tegangan operasi | 4,8–6 V |
| Kecepatan tanpa beban | Sekitar 100–110 rpm pada 4,8 V, sekitar 130 rpm pada 6 V |
| Torsi ketika macet (stall) | Sekitar 1,3 kg·cm pada 4,8 V, sekitar 1,5 kg·cm pada 6 V |
| Arus | 100–130 mA tanpa beban, hingga 800 mA pada 6 V ketika macet |
| Sinyal kendali | PWM 50 Hz; berhenti pada 1500 µs, rentang yang bisa dipakai sekitar 900–2100 µs |
| Level sinyal | Bekerja dengan sinyal 5 V dan 3,3 V |
| Arah | Di atas 1500 µs ke satu arah, di bawahnya ke arah sebaliknya (dilihat dari poros output, di atas 1500 µs berlawanan arah jarum jam) |
| Berat dan ukuran | 9 g, sekitar 23 × 12 × 22 mm (bodi sama dengan SG90) |
| Kabel | Cokelat GND, merah VCC, oranye sinyal |
Pengkabelan FS90R: Arduino Uno, ESP32, dan Pico
| Kabel servo | Fungsi | Arduino Uno | ESP32 | Raspberry Pi Pico |
|---|---|---|---|---|
| Cokelat | GND | GND | GND | GND |
| Merah | Catu daya 4,8–6 V | 5V (satu servo) atau catu daya eksternal 5 V | VIN / 5V atau catu daya eksternal 5 V | VBUS (5 V) atau catu daya eksternal 5 V |
| Oranye | Sinyal PWM | D9 | GPIO 18 | GP15 |
Pin 5V Uno cukup untuk menjalankan satu FS90R tanpa beban. Ketika roda servo menyentuh tanah atau dua servo mulai bergerak bersamaan, arus melonjak hingga beberapa ratus miliampere; tegangan USB turun, Arduino bisa reset atau servo bergetar. Jadi pada robot, beri daya servo dari sumber 5 V terpisah (4 sel NiMH, regulator 5 V, atau catu daya yang sesuai), selalu hubungkan GND catu daya servo ke GND Arduino, dan tambahkan kapasitor 470 µF di dekat kabel servo. Sinyal 3,3 V dari ESP32 dan Pico cukup untuk FS90R; servo itu sendiri tetap harus diberi daya 5 V, bukan dari pin 3.3V.
write(90) = berhenti: bagaimana lebar pulsa menentukan kecepatan?
Sinyal kendali servo berupa pulsa yang dikirim 50 kali per detik (setiap 20 ms), dan yang penting adalah durasi pulsa tersebut. Untuk FS90R, 1500 µs berarti “berhenti”. Ketika pulsa lebih panjang dari 1500 µs, servo semakin cepat ke satu arah; ketika lebih pendek, servo semakin cepat ke arah sebaliknya; kecepatan penuh tercapai sekitar 1000 µs dan 2000 µs, dan di luar itu kecepatannya hampir tidak bertambah. Karena itulah write(90) dalam library Servo Arduino berarti berhenti, sedangkan write(0) dan write(180) berarti kecepatan penuh ke masing-masing arah. Ada satu hal kecil yang perlu diperhatikan: secara default library memetakan 0–180 ke rentang 544–2400 µs, sehingga write(90) sebenarnya menghasilkan 1472 µs. Selisih itu bisa cukup untuk membuat servo tetap berputar pelan meski memakai write(90). Solusinya adalah mempersempit rentang dengan attach(9, 1000, 2000) atau langsung memakai writeMicroseconds(1500).
| Pulsa | Padanan Servo.write (dengan attach(pin, 1000, 2000)) | Perilaku FS90R |
|---|---|---|
| 1000 µs | write(0) | Kecepatan penuh, searah jarum jam |
| 1300 µs | write(54) | Kecepatan sedang, searah jarum jam |
| 1461 µs | write(83) | Sangat pelan, searah jarum jam |
| 1500 µs | write(90) | Berhenti (jika trimpot diatur dengan benar) |
| 1538 µs | write(97) | Sangat pelan, berlawanan arah jarum jam |
| 1700 µs | write(126) | Kecepatan sedang, berlawanan arah jarum jam |
| 2000 µs | write(180) | Kecepatan penuh, berlawanan arah jarum jam |
Sketch pertama: maju, berhenti, mundur
1// FS90R ilk test: ileri, dur, geri / FS90R first test: forward, stop, backward
2#include <Servo.h>
3
4Servo teker; // sürekli dönüş servosu / continuous rotation servo
5
6void setup() {
7 teker.attach(9, 1000, 2000); // write(0..180) artık 1000..2000 µs üretir / write(0..180) now outputs 1000..2000 µs
8}
9
10void loop() {
11 teker.write(180); // tam hız bir yöne / full speed one way
12 delay(2000);
13 teker.write(90); // 1500 µs: dur / 1500 µs: stop
14 delay(1000);
15 teker.write(0); // tam hız ters yöne / full speed the other way
16 delay(2000);
17 teker.write(110); // yavaş / slow
18 delay(2000);
19 teker.writeMicroseconds(1500); // durmanın en kesin yolu / the most precise way to stop
20 delay(1000);
21}Sketch menghubungkan servo ke D9 dan, dengan attach(9, 1000, 2000), memetakan skala write() ke rentang yang benar-benar dipakai FS90R, sehingga write(90) tepat 1500 µs. Kecepatan tidak mengikuti pulsa secara linear: di sekitar 1500 µs terdapat zona mati selebar beberapa puluh mikrodetik tempat servo tidak bergerak, dalam rentang 1500 ± 300 µs kecepatan naik dengan cepat, dan mendekati ujung rentang kecepatannya hampir tetap. Jika kamu menginginkan gerakan pelan dan presisi, gunakan nilai yang dekat dengan 1500 µs. Konsep umum lebar pulsa dibahas dalam Apa Itu PWM?, dan kendali sudut dengan servo biasa dalam Apa Itu Motor Servo?.
Mengatur trimpot titik berhenti (tengah)
- Upload sketch kalibrasi di bawah ini; servo menerima sinyal 1500 µs dan biasanya akan berhenti.
- Jika servo berputar pelan, cari lubang kecil di sisi casing dekat keluarnya kabel; di dalamnya terdapat trimpot yang mengatur titik berhenti.
- Putar trimpot sedikit saja dengan obeng pipih atau obeng Phillips kecil; jika servo melambat, arah putaranmu sudah benar.
- Lanjutkan sedikit demi sedikit hingga servo berhenti sepenuhnya dan dengung pelan pun menghilang. Trimpot sangat sensitif; bahkan seperempat putaran sudah terlalu banyak.
- Jika kamu tidak ingin menyentuh trimpot, kirim + dan - dari Serial Monitor untuk menemukan nilai pulsa yang membuat servo berhenti, lalu gunakan nilai tersebut sebagai pengganti 1500 dalam kodemu.
1// Durma noktası ayarı: Serial Monitor'den µs değeri gönder
2// Stop point calibration: send a µs value from the Serial Monitor
3#include <Servo.h>
4
5Servo teker;
6int darbe = 1500; // başlangıç: teorik durma noktası / start: theoretical stop point
7
8void setup() {
9 Serial.begin(9600);
10 teker.attach(9);
11 teker.writeMicroseconds(darbe);
12 Serial.println(F("Sayi yaz (900-2100) ya da + / - gonder"));
13 Serial.println(F("Type a number (900-2100) or send + / -"));
14}
15
16void loop() {
17 if (Serial.available()) {
18 char c = Serial.peek();
19 if (c == '+') { Serial.read(); darbe += 5; } // 5 µs artır / add 5 µs
20 else if (c == '-') { Serial.read(); darbe -= 5; } // 5 µs azalt / subtract 5 µs
21 else if (isDigit(c)) darbe = Serial.parseInt(); // doğrudan değer / direct value
22 else { Serial.read(); return; } // satır sonu vb. atla / skip line endings etc.
23
24 darbe = constrain(darbe, 900, 2100);
25 teker.writeMicroseconds(darbe);
26 Serial.print(F("Darbe / pulse: "));
27 Serial.print(darbe);
28 Serial.println(F(" us"));
29 }
30}Kendali kecepatan dan arah dengan potensiometer
1// Potansiyometreyle hız ve yön: ortada dur, sağa ileri, sola geri
2// Speed and direction with a pot: centre = stop, right = forward, left = backward
3#include <Servo.h>
4
5const int POT_PIN = A0;
6const int OLU_BOLGE = 40; // ortadaki ±40 adım: kesin dur / ±40 steps in the middle: solid stop
7Servo teker;
8
9void setup() {
10 teker.attach(9);
11}
12
13void loop() {
14 int okuma = analogRead(POT_PIN) - 512; // -512 ... +511
15 int darbe = 1500; // varsayılan: dur / default: stop
16 if (okuma > OLU_BOLGE) {
17 darbe = map(okuma, OLU_BOLGE, 511, 1540, 2000); // ileri, yavaştan hızlıya / forward, slow to fast
18 } else if (okuma < -OLU_BOLGE) {
19 darbe = map(okuma, -OLU_BOLGE, -512, 1460, 1000); // geri / backward
20 }
21 teker.writeMicroseconds(darbe);
22 delay(20); // servo periyodu kadar / one servo period
23}Dengan potensiometer terhubung di antara 5V, A0, dan GND, posisi tengah berarti berhenti, memutar ke kanan berarti maju, dan memutar ke kiri berarti mundur. Kode menentukan zona mati sebesar ±40 langkah di tengah, sehingga servo tetap berhenti dengan andal meskipun potensiometer tidak tepat di tengah atau pembacaannya sedikit berfluktuasi. Di luar zona mati, nilai dipetakan ke 1540–2000 µs atau 1460–1000 µs, sehingga sedikit putaran kenop membuat servo berputar pelan dan putaran penuh menghasilkan kecepatan penuh. Kamu bisa menerapkan konsep yang sama dengan joystick; pengkabelan potensiometer ada dalam Apa Itu Potensiometer?.
FS90R sebagai roda robot kecil
FS90R sangat populer untuk robot karena sederhana: gearbox dan rangkaian driver sudah terpasang di dalamnya, jadi kamu tidak memerlukan driver motor, H-bridge, atau encoder terpisah; satu pin sinyal per roda sudah cukup. Kedua servo dipasang di kedua sisi sasis dengan posisi saling bercermin, sehingga untuk maju salah satunya harus berputar searah jarum jam dan yang lain berlawanan arah jarum jam. Kode di bawah menangani hal ini di dalam fungsi surus(); kamu cukup memberikan kecepatan antara -100 dan +100. Roda 60 mm yang berputar pada 130 rpm dengan 6 V menempuh sekitar 0,4 meter per detik; pada 4,8 V kecepatannya turun menjadi sekitar 0,3 m/dtk.
1// İki FS90R ile küçük robot: tekerlekler ayna gibi takılır
2// A small robot with two FS90Rs: the wheels are mounted as mirror images
3#include <Servo.h>
4
5Servo sol, sag;
6const int DUR_SOL = 1500; // kalibrasyonla bulduğun değerler / values you found during calibration
7const int DUR_SAG = 1500;
8
9// hiz: -100 (tam geri) ... +100 (tam ileri) / speed: -100 (full back) ... +100 (full forward)
10void surus(int hizSol, int hizSag) {
11 sol.writeMicroseconds(DUR_SOL + hizSol * 5); // sol teker normal yönde / left wheel normal direction
12 sag.writeMicroseconds(DUR_SAG - hizSag * 5); // sağ teker ters takılı / right wheel is mounted reversed
13}
14
15void setup() {
16 sol.attach(9);
17 sag.attach(10);
18 surus(0, 0);
19 delay(1000);
20}
21
22void loop() {
23 surus(80, 80); delay(1500); // ileri / forward
24 surus(0, 0); delay(500); // dur / stop
25 surus(-60, 60); delay(600); // yerinde sola dön / spin left in place
26 surus(60, 60); delay(1000);
27 surus(30, 80); delay(1500); // sola doğru yay çiz / curve to the left
28 surus(-80, -80); delay(1000); // geri / backward
29 surus(0, 0); delay(2000);
30}Dua servo tidak pernah berputar dengan kecepatan yang persis sama; jika robotmu menyimpang ke satu sisi alih-alih bergerak lurus, kalibrasikan nilai berhenti setiap servo (DUR_SOL, DUR_SAG) secara terpisah dan kurangi sedikit faktor servo yang lebih cepat. Torsi FS90R sebesar 1,5 kg·cm cocok untuk robot kecil dengan berat tidak lebih dari beberapa ratus gram; untuk sasis lebih berat atau roda besar, motor DC dengan L298N atau motor bergearbox merupakan pilihan yang lebih baik. Untuk baterai, 4 sel NiMH (4,8 V) memberikan tegangan ideal; 4 sel alkalin baru bisa mencapai 6,4 V dan melampaui batas servo. Untuk pembuatan sasis dan pemasangan sensor yang lengkap, lihat Mobil Robot Arduino.
FS90R dengan ESP32
Library Servo Arduino tidak bekerja pada ESP32; sebagai gantinya, instal library ESP32Servo dari Library Manager. Penggunaannya hampir sama, hanya saja kamu perlu mengatur 50 Hz secara eksplisit dengan setPeriodHertz(50). Hampir semua GPIO yang bisa menghasilkan PWM dapat dipakai untuk sinyal; hanya GPIO 34–39 yang khusus input yang tidak bisa digunakan untuk ini. Hubungkan kabel merah servo ke pin VIN (USB 5 V) ESP32 atau catu daya eksternal 5 V, bukan ke pin 3V3. Kode di bawah menaikkan kecepatan servo secara bertahap dari diam ke kecepatan penuh, lalu memperlambat dan membalik arahnya; Serial Monitor menampilkan durasi pulsa pada setiap langkah.
1// ESP32 + FS90R: ESP32Servo kütüphanesiyle hız rampası
2// ESP32 + FS90R: a speed ramp with the ESP32Servo library
3#include <ESP32Servo.h>
4
5const int SERVO_PIN = 18; // PWM verebilen herhangi bir GPIO / any PWM-capable GPIO
6Servo teker;
7
8void setup() {
9 Serial.begin(115200);
10 teker.setPeriodHertz(50); // standart servo frekansı / standard servo frequency
11 teker.attach(SERVO_PIN, 1000, 2000);
12 teker.writeMicroseconds(1500); // dur / stop
13 delay(1000);
14}
15
16void loop() {
17 for (int us = 1500; us <= 2000; us += 25) { // yavaşça hızlan / speed up gently
18 teker.writeMicroseconds(us);
19 Serial.println(us);
20 delay(200);
21 }
22 for (int us = 2000; us >= 1000; us -= 25) { // yavaşla, dur, ters yöne hızlan / slow down, stop, reverse
23 teker.writeMicroseconds(us);
24 Serial.println(us);
25 delay(200);
26 }
27 teker.writeMicroseconds(1500);
28 delay(2000);
29}FS90R dengan Raspberry Pi Pico dan MicroPython
Pada Pico kamu tidak memerlukan library tambahan: atur objek machine.PWM ke 50 Hz dan berikan durasi pulsa dalam nanodetik dengan duty_ns(). Fungsi hiz() dalam kode mengubah nilai antara -100 dan +100 menjadi 1000–2000 µs; cukup masukkan nilai berhenti yang kamu temukan ketika melakukan kalibrasi sendiri pada baris DUR_US. Ketika program dihentikan dengan Ctrl+C, servo juga dihentikan; jika tidak, PWM terus berjalan dengan nilai terakhir dan roda terus berputar. Beri daya servo dari pin VBUS Pico (5 V dari USB). Jika kamu baru mengenal MicroPython, baca dasar-dasar MicroPython terlebih dahulu.
1# Raspberry Pi Pico (MicroPython) + FS90R: hız -100 ... +100
2# Raspberry Pi Pico (MicroPython) + FS90R: speed -100 ... +100
3from machine import Pin, PWM
4import time
5
6servo = PWM(Pin(15))
7servo.freq(50) # 20 ms periyot / 20 ms period
8DUR_US = 1500 # kalibrasyonla bulduğun durma noktası / your calibrated stop point
9
10def hiz(yuzde):
11 yuzde = max(-100, min(100, yuzde))
12 us = DUR_US + yuzde * 5 # -100 -> 1000 µs, +100 -> 2000 µs
13 servo.duty_ns(us * 1000)
14
15try:
16 while True:
17 for h in (50, 100, 0, -50, -100, 0):
18 hiz(h)
19 print("Hiz / speed:", h)
20 time.sleep(2)
21except KeyboardInterrupt:
22 hiz(0) # durdurunca teker dönmeye devam etmesin / stop the wheel on exit
23 servo.deinit()Ide proyek servo 360 derajat
- Robot pengikut garis mini: Sasis ringan dengan dua FS90R dan dua sensor inframerah; logikanya dibahas dalam Robot Pengikut Garis.
- Robot penghindar rintangan: Tambahkan HC-SR04 di bagian depan agar robot berputar di tempat dan berganti arah ketika mendeteksi rintangan.
- Mobil yang dikendalikan ponsel: Kirim perintah dari ponselmu dengan Modul Bluetooth HC-05.
- Pemberi makan hewan peliharaan: Biarkan FS90R memutar ulir pengumpan agar makanan jatuh pada waktu yang ditentukan oleh timer.
- Meja putar pajangan: Platform yang berputar sangat pelan untuk foto produk atau pengambilan gambar time-lapse; atur kecepatan dengan nilai yang dekat dengan 1500 µs.
- Kerekan kecil atau penarik tirai: Gulung tali ringan, dengan dua sakelar batas di kedua ujung untuk menghentikan motor pada posisi yang tepat.
Masalah umum dan solusinya
| Gejala | Kemungkinan penyebab | Solusi |
|---|---|---|
| Tetap berputar pelan meski memakai write(90) | Skala default menghasilkan 1472 µs atau trimpot titik berhenti tidak tepat | Gunakan attach(pin, 1000, 2000) atau writeMicroseconds(1500), atur trimpot |
| Servo sama sekali tidak berputar | Pin sinyal salah, GND tidak disatukan, atau produknya sebenarnya servo posisi | Periksa nomor pin dan koneksi GND, pastikan servo tersebut adalah servo putaran kontinu |
| Servo bergetar dan Arduino reset | Daya USB tidak mampu memenuhi lonjakan arus | Beri daya servo dari catu daya eksternal 5 V, satukan GND, tambahkan kapasitor 470 µF |
| Mengubah pulsa dari 1000 µs ke 1200 µs hampir tidak mengubah kecepatan | Di dekat ujung rentang servo sudah mencapai kecepatan penuh; kecepatan mencapai titik jenuh | Untuk kendali kecepatan yang halus, gunakan rentang 1500 ± 300 µs |
| Robot tidak bergerak lurus | Kedua servo berbeda kecepatan dan titik berhenti | Kalibrasikan setiap servo secara terpisah, kurangi faktor servo yang lebih cepat |
| Servo panas dan mendengung tetapi tidak berputar | Poros terhalang atau beban terlalu berat | Singkirkan penghalang, kurangi beban; kondisi macet merusak roda gigi dan motor |
| Error kompilasi atau tidak ada sinyal pada ESP32 | Memakai library Servo khusus AVR atau memilih GPIO 34–39 | Instal library ESP32Servo, pilih GPIO yang bisa menjadi output |
FS90R adalah cara termudah mengendalikan mekanisme yang berputar terus-menerus dengan satu pin tanpa driver motor: servo berhenti pada 1500 µs, berputar ke dua arah dengan kecepatan yang kamu inginkan, dan merupakan motor roda siap pakai untuk robot kecil. Atur titik berhenti sekali, ingat untuk beralih ke servo biasa atau motor stepper untuk pekerjaan yang membutuhkan kendali posisi, dan servo akan bekerja tanpa masalah dalam waktu lama. Dalam aplikasi BlueGrays kamu akan menemukan dasar-dasar servo, kendali servo dengan potensiometer dan joystick, pembuatan servo 360 derajat dari motor stepper, serta proyek mobil robot, lengkap dengan skema rangkaian langkah demi langkah dan kode siap pakai.
Pertanyaan umum
Bagaimana cara menghentikan servo 360 derajat?
Servo putaran kontinu seperti FS90R berhenti ketika menerima pulsa 1500 µs; pada Arduino kamu memakai writeMicroseconds(1500), atau write(90) setelah menghubungkannya dengan attach(pin, 1000, 2000). Jika servo masih berputar pelan pada nilai tersebut, atur trimpot kecil di casing dengan obeng atau gunakan nilai yang benar-benar membuat servomu berhenti dalam kode.
Apa perbedaan servo 360 derajat dengan servo biasa?
Servo biasa bergerak ke sudut tertentu sesuai sinyal dan tetap di sana, karena potensiometer di dalamnya mengukur posisi poros. Servo putaran kontinu 360 derajat tidak memiliki umpan balik semacam itu; sinyal menentukan kecepatan dan arah, bukan sudut, dan servo berputar tanpa henti.
Bisakah servo 360 derajat mengendalikan sudut?
Tidak. FS90R tidak mengetahui posisi porosnya, sehingga tidak bisa bergerak ke sudut tertentu lalu berhenti. Memutarnya selama waktu tertentu memberikan hasil perkiraan, tetapi hasilnya berubah mengikuti tegangan dan beban. Jika kamu membutuhkan sudut tertentu, gunakan servo biasa, motor stepper, atau motor dengan encoder.
Pada tegangan berapa FS90R bekerja?
FS90R bekerja pada 4,8–6 V; dalam proyek Arduino biasanya diberi daya 5 V. Jalur sinyalnya menerima level 5 V maupun 3,3 V, sehingga bisa langsung dipakai dengan ESP32 dan Raspberry Pi Pico, tetapi catu dayanya tetap harus 5 V.
Berapa banyak FS90R yang bisa kuhubungkan ke Arduino?
Library Servo mendukung hingga 12 servo pada Arduino Uno, tetapi batas sebenarnya adalah arus. Setiap FS90R bisa menarik beberapa ratus miliampere ketika dibebani dan hingga 800 mA ketika macet, jadi selalu beri daya lebih dari dua servo dari catu daya eksternal 5 V dan satukan GND-nya.
Bisakah SG90 diubah menjadi servo 360 derajat?
Bisa, tetapi perubahannya permanen. Kamu membuka servo, memotong pembatas mekanis pada roda gigi, dan melepaskan potensiometer dari poros, lalu menggantinya dengan dua resistor bernilai sama atau menetapkannya pada posisi tengah. Hasilnya bekerja seperti FS90R, tetapi garansi hilang dan servo tidak akan pernah bisa mempertahankan sudut lagi; membeli FS90R siap pakai biasanya lebih praktis.
Proyek untuk dibuat setelah membaca ini
Lihat semua proyek
Menggunakan Motor Servo
Lengan motor servo kecil berputar ke tiga posisi bergantian: penuh ke awal, tepat ke tengah, dan penuh ke akhir, menunggu dua detik di setiap perhentian. Arduino memberi tahu motor sudut mana yang har

Menggerakkan Motor Servo dengan Potensiometer
Ketika kamu memutar kenop potensiometer, lengan motor servo ikut berputar: satu ujung kenop berarti nol derajat, ujung lainnya berarti setengah putaran. Arduino terus membaca posisi kenop dan servo la

Motor Servo ESP32 (Kendali Potensiometer)
Di proyek ini, kita mengendalikan motor servo SG90 memakai potensiometer. Kita mengatur sudut servo dengan memetakan nilai analog yang dibaca dari potensiometer ke rentang 0–180 derajat. Library ESP32Servo menghasilkan sinyal servo di pin GPIO ESP32 yang sesuai dan bisa menjadi output; proyek ini memakai GPIO 18. Ini metode kendali dasar untuk lengan robot, gimbal kamera, dan mekanisme pintu otomatis.

Kendali Servo dengan Joystick
Arahkan dua motor dengan joystick, persis seperti memutar kamera keamanan. Dorong tuas ke kiri atau kanan dan servo bawah berputar perlahan, dorong ke atas atau bawah dan servo atas mendongak dan menu

Servo 360 Derajat dari Motor Stepper
Ajari motor stepper biasa untuk pergi ke sudut mana pun yang kamu mau, satu lingkaran penuh. Arduino menghitung berapa langkah yang dibutuhkan setiap sudut; motor bergerak ke 0, 90, 45, 180, 135, dan

Mobil Kendali Bluetooth dengan L298N
Jadikan ponselmu remote dan kendarai mobil robotmu sendiri. Arduino menerima perintah dari aplikasi remote control di ponselmu lewat modul Bluetooth dan memutar roda dengan driver motor; mobil maju, m

Robot Penghindar Rintangan
Bagaimana kalau membuat kendaraan pintar yang mencari jalannya sendiri? Robot Penghindar Rintangan terus memindai sekelilingnya berkat sensor ultrasonik di depannya. Ketika menemui rintangan, robot be
Artikel lainnya
Aplikasi BlueGrays
Rakit rangkaian ini langkah demi langkah di ponselmu
Skema pengkabelan, kode, dan daftar komponen dalam satu layar. 200+ proyek Arduino, ESP32, dan Pico siap dibuat.
Pindai dengan ponselmu
Arahkan kamera ke kode ini dan toko aplikasi di ponselmu akan terbuka.
atau buka toko aplikasi

