● online
- LCD 16x2 / 1602 Display Arduino Raspberry LCD 16 x
- Water Level sensor ketinggian air - deteksi air
- Kabel Jumper Arduino Dupont 20 cm Female to Male P
- USB To RS485 High Speed Converter RS-485 RS 485 Ad
- 10mm Kapton Tape Polymide Film Gold High Temp isol
- Dimmer SCR 2000W Motor Speed Controller 220V AC PW
- Kapton Tape Polymide Film 50mm Polimida 50 mm Isol
- Raspberry Pi Pico Microcontroller Board
- 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 dengan Raspberry Pi
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 Trainer Kit v2
- Motor driver mx1508
- Motor
- Baterai
- Ban mobil mainan
- Kabel jumper
- Software:
- MobaXterm (untuk remote terminal)
- Notepad++ (untuk menulis skrip Python)
Wiring Rangkaian Percobaan Motor
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. Wiring Rangkaian Motor Driver dan Raspberry Pi
Menulis Program Motor Driver
Setelah semua komponen terpasang, buka Notepad++ dan buat file Python baru. Tulis kode berikut dan simpan file dengan nama cek motor.py :
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, pastikan jangan lupa simpan file dengan nama motor.py
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 Truemenjaga motor tetap menyala.KeyboardInterruptmenangani 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.
Tutorial Menggerakan Motor dengan Raspberry Pi
Pernah suatu ketika axis X, Y, atau z CNC kita berubah, gcode yang sudah jadi setelah di running tidak... selengkapnya
Sensor suhu DS18b20 digunakan untuk mendeteksi suhu ruangan namun dapat juga digunakan untuk mendeteksi suhu air. Suhu yang dapat... selengkapnya
SMS gateway merupakan layanan yang berguna untuk meneruskan pesan ke jaringan seluler lain... selengkapnya
Halo semuanya, pada kesempatan kali ini Saya ingin membahas tentang simulasi penggunaan sensor LDR (sensor cahaya) menggunakan Arduino untuk... selengkapnya
Hallo semuanya, kali ini saya akan mendemonstrasikan penggunaan RFID RC522 untuk membaca e-KTP maupun e-Toll. Pada postingan sebelumnya sudah... selengkapnya
Secara bawaan, Arduino Uno sebenarnya sudah memiliki pin analog. Tapi pada beberapa proyek, terutama saat jumlah sensor analog semakin banyak,... selengkapnya
LCD 128×64 merupakan sebuah display yang diatur berdasarakn graphic (pixel) bukan karakter. Jadi kita bisa memposisikan pada setiap titik... selengkapnya
Apa itu efek autumn? Efek autumn adalah efek musim gugur, dimana dedaunan akan berubah warna dari hijau menjadi coklat... selengkapnya
Pada postingan sebelumnya sudah membahas tentang kontrol relay menggunakan Arduino di sini. Nah untuk kali ini saya akan membahasnya... selengkapnya
Halo semuanya, pada kesempatan kali ini Saya ingin berbagi tutorial tentang simulasi penggunaan sensor suhu TMP36 untuk mengukur suhu... selengkapnya
Features: It is of high power density, high efficiency, high-reliability, small size and lightweight. It can isolate unsteady single-way voltage… selengkapnya
Rp 18.500ESR 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.000Case patern: Solid Warna : Merah dan Hijau Current: 10-20 mA Diameter: 3mm
Rp 300Modul sensor tegangan AC bolak balik 1 fasa ini menggunakan optocoupler sehingga tegangan input (AC) tidak akan mengganggu/membahayakan tegangan output… selengkapnya
Rp 21.000Product Name: Tactile Switch; Material: Metal, Plastic Package Content: 30 Pcs x Tactile Switch; Main Color: Black, Silver Tone Total… selengkapnya
Rp 400Features and Specs: Dual-Core, 32-bit ARM Cortex M0+ Processor Clocked at 48MHz (default), configurable max to 133MHz. Ready with USB… selengkapnya
Rp 82.900Mini Solderless Breadboard 400 Tie Points adalah breadboard 400 titik lubang, dengan ukuran yang compact sangat cocok untuk anda yang… selengkapnya
Rp 7.800Spesifikasi: 50mm Kapton Tape Polymide Film Gold High Temp isolasi Tahan Panas Harga Tertera: 1 Roll Kapton Tape Polymide Film… selengkapnya
Rp 75.000Penurun tegangan DC-DC ekonomis yang bisa distel tegangan output nya. Cocok untuk pemasangan variasi mobil dan sepeda motor, dijadikan charger… selengkapnya
Rp 9.000Specifications: 1. supports sampling costs (KHz): 8/11.025/12/16/22.05/24/32/44.1/48 2. 24-bit DAC output, dynamic range aid: 90dB, SNR aid: 85dB 3. fully… selengkapnya
Rp 17.800

Saat ini belum tersedia komentar.