Whatsapp

Ada yang ditanyakan?
Klik untuk chat dengan customer support kami

Admin
● online
Admin
● online
Halo, perkenalkan saya Admin
baru saja
Ada yang bisa saya bantu?
baru saja
Kontak Kami
Member Area
Rp
Keranjang Belanja

Oops, keranjang belanja Anda kosong!

Buka Senin - Jumat jam 08.30 s/d jam 16.30 , Sabtu Jam 8.30 s/d jam 13.00 , Minggu tutup
  • 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.
Beranda » Blog » Tutorial Menggerakan Motor dengan Raspberry Pi

Tutorial Menggerakan Motor dengan Raspberry Pi

Diposting pada 18 September 2025 oleh indo maker / Dilihat: 39 kali / Kategori: , ,

Motor jadi salah satu komponen elektronik yang seru buat kita pelajari, dengan motor kita bahkan bisa buat mobil mainan yang bisa bergerak leluasa. Tapi motor nggak bisa langsung dikendalikan lewat pin GPIO di Raspberry Pi, soalnya motor butuh suplai daya variabel (biasanya 5 volt) yang lebih besar dari kemampuan GPIO. Jadi, kamu harus kasih daya terpisah. Untuk itu, kita bisa pakai motor driver board supaya Raspberry Pi bisa mengontrol motor dengan aman.

Di panduan ini, kamu akan belajar cara mengontrol empat motor dari Raspberry Pi pakai bahasa Python, namun sebelum bisa mengendalikan keempat roda, kita juga perlu mengecek satu-persatu bagian motornya.

H-Bridge

Gambar 1. Schematic dari H-Bridge

Motor bisa jalan maju atau mundur, tergantung arah aliran arus listriknya. Tapi masa iya harus bolak-balik pasang kabel setiap mau ganti arah putaran motor? Ribet, kan?

Nah, karena itulah motor driver biasanya sudah punya H-bridge. H-bridge adalah rangkaian yang pakai 4 transistor buat ngatur arah arus secara digital, jadi kamu tinggal kontrol dari kode, gak perlu sentuh kabel.

Biasanya, di dalam H-bridge juga ada flyback diode. Fungsinya adalah mencegah lonjakan tegangan balik yang bisa muncul waktu motor dimatikan tapi masih berputar, supaya gak merusak komponen elektronik lainnya.

Alat dan Bahan yang Diperlukan
Untuk menjalankan proyek ini, berikut yang kamu butuhkan:

  • Raspberry Pi
  • Motor driver
  • Motor
  • Baterai
  • Ban mobil mainan
  • Kabel jumper
  • MobaXterm (untuk remote terminal)
  • Notepad++ (untuk menulis skrip)

Wiring Rangkaian 
Susun rangkaian dengan panduan seperti ini:

  • Pin + MX1508 ke 5V
  • Pin – MX1508 ke GND

 

  • Pin A1 ke GPIO 17
  • Pin A2 ke GPIO 27
  • Pin B1 ke GPIO 22
  • Pin B2 ke GPIO 23

 

  • Pin A1 ke GPIO 4
  • Pin A2 ke GPIO 24
  • Pin B1 ke GPIO 5
  • Pin B2 ke GPIO 6

Gambar 2. Rangkaian Schematic Motor Driver dan Raspberry Pi

Menulis Program Motor Driver

Setelah semua komponen terpasang, buka Notepad++ dan buat file Python baru. Tulis kode berikut :

import RPi.GPIO as GPIO
import time

IN1 = 17 #ganti gpio untuk pengecekan
IN2 = 27 #ganti gpio untuk pengecekan

GPIO.setmode(GPIO.BCM)
GPIO.setup(IN1, GPIO.OUT)
GPIO.setup(IN2, GPIO.OUT)

def motor_forward():
    GPIO.output(IN1, GPIO.HIGH)
    GPIO.output(IN2, GPIO.LOW)

def motor_backward():
    GPIO.output(IN1, GPIO.LOW)
    GPIO.output(IN2, GPIO.HIGH)

def motor_stop():
    GPIO.output(IN1, GPIO.LOW)
    GPIO.output(IN2, GPIO.LOW)

try:
    print("Cek motor maju...")
    motor_forward()
    time.sleep(2)

    print("Cek motor mundur...")
    motor_backward()
    time.sleep(2)

    print("Berhenti")
    motor_stop()

except KeyboardInterrupt:
    print("Dihentikan oleh user.")

finally:
    GPIO.cleanup()

Kamu bisa ganti tiap GPIO untuk cek satu persatu channel dan motor, pastikan tiap motor dapat bergerak dan tidak berlawanan arah dari yang diharapkan. Dengan kode ini motor akan bergerak maju selama 2 detik, kemudian bergerak mundur 2 detik dan berhenti.

Apabila sudah di pastikan seluruh motor berfungsi dengan baik, maka kita bisa melanjutkan ke kode selanjutnya

import RPi.GPIO as GPIO
import time

# GPIO Pin setup
motor_pins = {
    "kiri_depan": (17, 27),
    "kiri_belakang": (22, 23),
    "kanan_depan": (4, 24),
    "kanan_belakang": (5, 6)
}

GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)

for pin_pair in motor_pins.values():
    GPIO.setup(pin_pair[0], GPIO.OUT)
    GPIO.setup(pin_pair[1], GPIO.OUT)

def maju_motor(pin1, pin2):
    GPIO.output(pin1, GPIO.HIGH)
    GPIO.output(pin2, GPIO.LOW)

def maju_semua():
    for motor, (pin1, pin2) in motor_pins.items():
        maju_motor(pin1, pin2)
        print(f"{motor} maju")

try:
    print("Semua motor maju terus...")
    maju_semua()

    while True:
        time.sleep(1)

except KeyboardInterrupt:
    print("Berhenti oleh user.")
    GPIO.cleanup()

Penjelasan kode

  • motor_pins = {...} menyimpan pin GPIO untuk masing-masing motor.
  • GPIO.setmode(GPIO.BCM) memilih penomoran pin berdasarkan BCM.
  • GPIO.setup(..., GPIO.OUT) mengatur semua pin sebagai output.
  • maju_motor() mengaktifkan satu motor untuk bergerak maju.
  • maju_semua() menjalankan semua motor ke arah maju.
  • while True menjaga motor tetap menyala.
  • KeyboardInterrupt menangani saat pengguna menekan Ctrl + C.
  • GPIO.cleanup() membersihkan konfigurasi GPIO.

Apa yang akan terjadi?

Saat program dijalankan, Raspberry Pi akan mengatur pin GPIO untuk mengontrol empat motor. Semua motor akan bergerak maju secara bersamaan dan terus berputar karena berada dalam loop tak terbatas. Motor baru akan berhenti apabila menekan Ctrl + C pada terminal, program akan berhenti dan semua pin GPIO akan dimatikan dengan aman. Ini menciptakan gerakan maju otomatis untuk mobil robot berbasis Raspberry Pi.

Bagikan ke

Tutorial Menggerakan Motor dengan Raspberry Pi

Saat ini belum tersedia komentar.

Silahkan tulis komentar Anda

Tutorial Menggerakan Motor dengan Raspberry Pi

Produk yang sangat tepat, pilihan bagus..!

Berhasil ditambahkan ke keranjang belanja
Lanjut Belanja
Checkout
Produk Quick Order

Pemesanan dapat langsung menghubungi kontak dibawah: