● online
- Raspberry Pi 4 Model B 4GB Original UK E14 Raspi 4....
- Kabel Jumper 10cm Dupont Pelangi 10 cm Female to F....
- Kabel Jumper arduino Dupont Pelangi 30 cm Male to ....
- Kapton Tape Polymide Film 20mm Polimida 20 mm Isol....
- Dual Volt Amp Meter Digital Ampere Meter Voltmeter....
- PWM DC 10A Motor 12V-40V Pulse Width Modulation Sp....
- 10mm Kapton Tape Polymide Film Gold High Temp isol....
- TANG CRIMPING PRESS SKUN RATCHET YTH SN-48B....
- 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 time
danfrom 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
TM1637 merupakan sebuah komponen elektronika yang terdiri dari 4 digit 7 segment. Pada pembahasan sebelumnya kita sudah mempelajari apa itu... selengkapnya
Pada kesempatan kali ini kita akan belajar bersama mengenai 7 segment. Berbeda dengan tutorial sebelumnya yang membahas 1 digit... selengkapnya
LoRa merupakan singkatan dari Long Range, dimana module ini menggunakan frekuensi radio dengan jarak yang jauh dan konsumsi daya... selengkapnya
RTC DS3231 merupakan sebuah jenis modul yang dapat menghasilkan waktu digital secara realtime dengan tambahan sebuah baterai tipe kancing... selengkapnya
Oke kali ini kita akan membahas salah satu board wifi yaitu kakak dari NodeMcu yang memiliki fungsi lebih +... selengkapnya
Sensor sentuh merupakan sebuah saklar yang cara penggunaanya dengan cara disentuh menggunakan jari. Ketika sensor ini disentuh maka sensor... selengkapnya
Pada zaman yang semakin canggih ini banyak orang yang berbondog-bondong memajukan teknologi, salah satunya mengganti sumber daya listrik dengan menggunakan... selengkapnya
I2C merupakan sebuah modul komunikasi serial dua arah yang berfungsi untuk mengirim dan menerima data. Keduanya adalah SCL (Serial... selengkapnya
Sebagai seorang programmer tentu saja harus mempunyai kemampuan di bidang Bahasa pemograman karena landasan utama dalam membangun sebuah aplikasi... selengkapnya
Telegram? ya dengan fitur robot chat di telegram kita bisa mengontrol device dengan mudah dan praktis. Misal kita kelupaan... selengkapnya
Ini yang Seri SN – DS3231 I2C RTC Module khusus DS3231SN – Include Baterai – Module jam digital – Keperluan… selengkapnya
Rp 34.900Kabel Jumper Dupont Pelangi 30cm female to Female 1 lembar = 40 kabel
Rp 13.500Features: Brand new and high quality. Control the speed of a DC motor with this controller. High efficiency, high torque,… selengkapnya
Rp 25.400Bagaimana jika mikrokontroler yang anda gunakan tidak memiliki port ADC. atau anda masih kurang dengan spesifikasi resolusi ADC yang disediakan… selengkapnya
Rp 65.000Product Name: Tactile Switch; Material: Metal, Plastic Package Content: 30 Pcs x Tactile Switch; Main Color: Black, Silver Tone Total… selengkapnya
Rp 400Dual Volt Amp Meter Digital Ampere Meter Voltmeter 10A 0-100V Ammeter Dilengkapi dengan pengukuran Voltmeter dan Amperemeter dalam 1 display… selengkapnya
Rp 26.500Description: TP5100 is a double switch buck 8.4V, single cell 4. 2V lithium battery charge management chip. Its ultra-compact QFN16… selengkapnya
Rp 10.600Fitur: -Dapat mendeteksi api atau panjang gelombang sumber cahaya dalam 760nm ~ 1100nm – Api lebih ringan mendeteksi jarak 80cm… selengkapnya
Rp 9.000Spesifikasi : – 16×2 – Warna Biru – Tegangan kerja : 5v – Sudah include module I2C Backpack dan tersolder… selengkapnya
Rp 30.000MERK : TOWER PRO MG995 180 derajat Specifications Weight: 55 g Dimension: 40.7 x 19.7 x 42.9 mm approx. Stall… selengkapnya
Rp 36.300
Saat ini belum tersedia komentar.