● online
- Raspberry Pi 4 Model B 8GB Original UK E14 Raspi 4....
- LED 3mm Lampu LED 3 mm....
- Raspberry Pi 4 Model B 4GB Original UK E14 Raspi 4....
- ESR Meter Digital LCR-T4 Tester Transistor Diode M....
- Kabel Jumper 20cm Dupont 20 cm Male to Male Pelang....
- TANG CRIMPING PRESS SKUN RATCHET YTH SN-48B....
- TP5100 4.2v 8.4v 1S 2S Single / Double Cell Lithiu....
- B0505S-1W 5V to 5V converter DC DC power module co....
- Selamat Datang di Indomaker ❯ Silahkan pesan produk sesuai kebutuhan anda, kami siap melayani.
- Selamat Datang di Indomaker ❯ Silahkan pesan produk sesuai kebutuhan anda, kami siap melayani.
Tutorial Menggerakan Motor Servo sebagai Leher Robot dengan Raspberry Pi
Pada robot elektronik sering kali digunakan motor servo sebagai leher yang bisa bergerak, motor servo adalah perangkat elektromekanis yang dirancang menggunakan sistem kontrol jenis loop tertutup (servo) sebagai penggerak dalam sebuah rangkaian yang menghasilkan torsi dan kecepatan yang berdasarkan arus listrik dan tegangan yang ada.
Sederhananya motor servo ini perangkat listrik mandiri yang dapat mendorong, memutar objek dengan presisi tinggi. Jika ingin memutar suatu objek pada beberapa sudut atau jarak tertentu, maka bisa menggunakan motor servo. Dalam proyek kali ini, kita akan belajar cara menggerakkan motor servo untuk mensimulasikan gerakan leher robot, menggunakan Raspberry Pi.
Dengan memanfaatkan sinyal PWM dari GPIO Raspberry Pi, kita bisa mengatur posisi sudut motor servo secara presisi. Proyek ini cocok sebagai dasar untuk membuat robot yang bisa mengangguk, menoleh, atau bahkan mengekspresikan emosi lewat gerakan leher.
Alat dan Bahan yang Diperlukan
Untuk menjalankan proyek ini, berikut yang kamu butuhkan:
- Raspberry Pi Trainer Kit v2
- Motor Servo
- Breadboard dan kabel jumper
- Software:
- MobaXterm (untuk remote terminal)
- Notepad++ (untuk menulis skrip Python)
Wiring Rangkaian Motor Servo
Susun rangkaian dengan panduan seperti ini:
- Pin merah ke VCC 5v
- Pin cokelat ke GND
- Pin jingga ke GPIO 13 dan 25

Gambar 1. Wiring Rangkaian Motor Servo dan Raspberry Pi
Menulis Program Menggerakkan Motor Servo
Setelah semua komponen terpasang, buka Notepad++ dan buat file Python baru. Tulis kode berikut dan simpan file dengan nama servo.py :
import time
from gpiozero import Servo
from time import sleep
servo_angguk_pin = 25
servo_geleng_pin = 13
TITIK_NOL_ANGGUK = 0.95
rentang_angguk = 0.3
rentang_geleng = 1.0 # Nilai ini membuat gerakan menggeleng menjadi lebih luas
servo_angguk = Servo(servo_angguk_pin, min_pulse_width=0.5/1000, max_pulse_width=2.5/1000)
servo_geleng = Servo(servo_geleng_pin, min_pulse_width=0.5/1000, max_pulse_width=2.5/1000)
def gerak_halus(servo, posisi_mulai, posisi_akhir, durasi):
langkah_halus = 200
selisih_posisi = posisi_akhir - posisi_mulai
jeda_waktu = durasi / langkah_halus
for i in range(langkah_halus + 1):
posisi_saat_ini = posisi_mulai + (i / langkah_halus) * selisih_posisi
posisi_saat_ini = max(-1.0, min(1.0, posisi_saat_ini))
servo.value = posisi_saat_ini
sleep(jeda_waktu)
try:
print("Mengatur kedua servo ke posisi awal...")
servo_angguk.value = TITIK_NOL_ANGGUK
servo_geleng.value = 0.0
sleep(1)
print("Memulai gerakan mengangguk dan menggeleng...")
while True:
posisi_depan = TITIK_NOL_ANGGUK - rentang_angguk
gerak_halus(servo_angguk, TITIK_NOL_ANGGUK, posisi_depan, 2.0)
gerak_halus(servo_angguk, posisi_depan, TITIK_NOL_ANGGUK, 2.0)
posisi_kanan = rentang_geleng # Menggunakan nilai 1.0
posisi_kiri = -rentang_geleng # Menggunakan nilai -1.0
gerak_halus(servo_geleng, 0.0, posisi_kanan, 1.5)
gerak_halus(servo_geleng, posisi_kanan, posisi_kiri, 3.0)
gerak_halus(servo_geleng, posisi_kiri, 0.0, 1.5)
except KeyboardInterrupt:
print("Program dihentikan.")
servo_angguk.close()
servo_geleng.close()
Penjelasan Kode
import timedanfrom gpiozero import Servo: Mengimpor library untuk kontrol waktu dan servo.servo_angguk_pin =: Menentukan pin GPIO untuk masing-masing servo.TITIK_NOL_ANGGUK = 0.95: Titik netral untuk servo angguk.rentang_angguk = 0.3: Rentang gerak servo anggukrentang_geleng = 1.0: Rentang maksimum servo geleng.Servo(..., min_pulse_width=..., max_pulse_width=...): Mengatur lebar pulsa PWM agar kompatibel dengan jenis servo.gerak_halus(): Fungsi untuk menggerakkan servo secara halus dengan interpolasi 200 langkah kecil.servo_angguk.value = TITIK_NOL_ANGGUK: Mengatur servo angguk ke posisi awal.servo_geleng.value = 0.0: Mengatur servo geleng ke posisi tengah.while True: Program berjalan terus-menerus hingga dihentikan.except KeyboardInterrupt: Program berhenti dengan aman saat ditekan Ctrl+C.servo.close(): Menutup koneksi servo saat program dihentikan.
Apa yang Akan Terjadi dengan Motor Servo?
Gambar 2. Hasil Percobaan Rangkaian Motor Servo dan Raspberry Pi Trainer Kit
Saat program dijalankan, Raspberry Pi akan menggerakkan dua buah servo yang berperan sebagai leher robot. Servo pertama akan mengangguk perlahan, meniru gerakan kepala menunduk dan kembali tegak. Setelah itu, servo kedua akan menggeleng perlahan dari kanan ke kiri, lalu kembali ke tengah. Seluruh gerakan dibagi ke dalam banyak langkah kecil, Gerakan ini akan berlangsung terus-menerus selama program berjalan.
Tutorial Menggerakan Motor Servo sebagai Leher Robot dengan Raspberry Pi
Sensor LM35 merupakan sebuah sensor yang dapat mendeteksi suhu ruangan dengan cara mengubah besaran suhu menjadi besaran listrik dalam... selengkapnya
Hallo semuanya, kali ini saya akan mendemonstrasikan penggunaan RFID RC522 untuk membaca e-KTP maupun e-Toll. Pada postingan sebelumnya sudah... selengkapnya
Pada kesempatan ini kita akan menggunakan esp-01 untuk mendeteksi suhu dan kelembaban. Dimana kemarin kita sudah belajar cara menggunakan... selengkapnya
Ketemu lagi dengan sensor DS18b20, kali ini akan kita monitoring menggunakan aplikasi Blynk dan ESP-01. Langsung saja ya kita... selengkapnya
Motor servo adalah salah satu jenis motor listrik yang memiliki feedback berupa sensor posisi. Dengan adanya feedback tersebut, motor... selengkapnya
Raspberry Pi adalah komputer mini yang sangat populer di kalangan penggemar elektronika dan pemrograman. Salah satu kelebihan utamanya adalah pin... selengkapnya
Sensor Waterflow adalah sensor yang dapat membaca aliran air pada suatu tempat/saluran air. Sensor ini digunakan untuk membaca... selengkapnya
Water level merupakan sensor yang berfungsi untuk mendeteksi ketinggian air dengan output analog kemudian diolah menggunakan mikrokontroler. Cara kerja... selengkapnya
Sensor DS18b20 merupakan sebuah sensor untuk mendeteksi suhu ruangan, namun bisa juga untuk suhu air tergantung dari jenis... selengkapnya
Detektor arus AC adalah perangkat elektronika yang digunakan untuk mendeteksi ada atau tidaknya arus listrik AC pada suatu rangkaian.... selengkapnya
Bosan dengan modul arduino yang kalian punya, saatnya mencoba modul programmer yang lain yah ini dia RASPBERRY PI 4 COMPUTER… selengkapnya
Rp 1.570.000Harga untuk 10pcs Resistance: 220 Ohm Wattage Rating: 0.25 Watt Tolerance: 1% Metal Film Lead Free ROHS compliant
Rp 1.500Case patern: Solid Warna : Merah dan Hijau Current: 10-20 mA Diameter: 3mm
Rp 300ESR meter/LCR meter dengan layar lebar lebih jelas dan mantap dan dengan tempat batre jd lebih rapih batre lebih aman… selengkapnya
Rp 131.000 Rp 134.000Mini Solderless Breadboard 400 Tie Points adalah breadboard 400 titik lubang, dengan ukuran yang compact sangat cocok untuk anda yang… selengkapnya
Rp 7.800Menerima jasa cetak PCB FR2 (pertinax) / FR4 (double) single / double layer. Silahkan ke web kalkulator biaya cetak pcb… selengkapnya
Rp 1.000Tang Crimping Press Skun Ratchet YTH SN-48B Model YTH SN-48B FOR NON INSULATED TERMINAL YTH SN-48B dengan mata Press 0.5… selengkapnya
Rp 150.000Compatibility: USB v2.0 standard Interface: Network: USB Series: RS-485 Port: an independent RS-485 Connector: Network: USB type A connector Series:… selengkapnya
Rp 38.800Kabel jumper 20 cm merk Dupont untuk Arduino Female to male 1 lembar = 40 kabel
Rp 11.300ESP-WROOM-32 is Powered by Espressif’s most advanced SoC, the ESP-WROOM-32 features high performance, a wide range of peripherals, Wi-Fi and… selengkapnya
Rp 38.400

Saat ini belum tersedia komentar.