● online
- Sensor Ultrasonik HC-SR04 HC SR04 Sensor Jarak Ult
- Jasa Cetak PCB
- Kapton Tape Polymide Film 20mm Polimida 20 mm Isol
- 5V 700mA (3.5W) Isolated switch Power Supply Modul
- MP3 TF 16P Alternatif DFPlayer mini MP3 Player Ard
- PWM DC 10A Motor 12V-40V Pulse Width Modulation Sp
- Dimmer SCR 2000W Motor Speed Controller 220V AC PW
- Kabel Jumper Dupont Pelangi 30 cm female to Female
- 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
7 segment merupakan sebuah display yang berfungsi menampilkan sebuah karakter baik huruf maupun digit angka. Namun untuk huruf sangat... selengkapnya
Modul Bluetooth DX-BT18 adalah perangkat elektronika yang digunakan untuk menghubungkan suatu perangkat menggunakan koneksi bluetooth. Saat ini penggunaan sensor sidik... selengkapnya
UI (User Interface) dan UX (User Experience) dalam sebuah pengembangan website dan aplikasi sangat penting dan saling berkaitan. Tetapi... selengkapnya
Optocoupler atau photo interrupter merupakan sensor optik slot tipe U yang menggunakan cahaya infra merah (IR) untuk mendeteksi ada atau... selengkapnya
Android merupakan sistem operasi untuk perangkat seluler dengan pengguna terbesar di dunia termasuk di Indonesia, dengan market share 90%... selengkapnya
SIM800C adalah modul GSM / GPRS yang bekerja di frekuensi 850 – 1900 MHz, modul ini dapat membaca SMS... selengkapnya
Javascript adalah scripting atau bahasa pemrograman yang digunakan pada suatu web pada level klien (Client side) agar web tersebut... selengkapnya
Bagi Sebagian developer website atau yang sedang belajar javaScript, pasti familiar dengan istilah jQuery. Sebenarnya apa itu jQuery? Dan... selengkapnya
Bagi orang-orang yang sering melihat konten-konten di aplikasi Instagram mungkin sudah tidak asing lagi, melihat gambar atau foto yang... selengkapnya
Sensor level A01 Series adalah perangkat yang digunakan untuk mengukur ketinggian permukaan benda padat atau cairan menggunakan gelombang ultrasonik. Sensor ini... selengkapnya
12A 300W DC Buck Step Down Converter CC CV Driver LED charge Battery Spesifikasi: Input Voltage: 5-40V Output Voltage: 1.2-35V… selengkapnya
Rp 39.400Kabel jumper 20 cm merk Dupont untuk Arduino Female to male 1 lembar = 40 kabel
Rp 11.300Menerima jasa cetak PCB FR2 (pertinax) / FR4 (double) single / double layer. Silahkan ke web kalkulator biaya cetak pcb… selengkapnya
Rp 1.000Product Name: Tactile Switch; Material: Metal, Plastic Package Content: 30 Pcs x Tactile Switch; Main Color: Black, Silver Tone Total… selengkapnya
Rp 4002000W SCR Electronic Voltage Regulator Speed Controller Dimmer Thermostat Aplikasi : Kontrol temperature heater, kontrol kecepatan fan/bor tangan/gurinda tangan, kompor… selengkapnya
Rp 19.500Bosan dengan modul arduino yang kalian punya, saatnya mencoba modul programmer yang lain yah ini dia RASPBERRY PI 4 COMPUTER… selengkapnya
Rp 1.570.000POTENSIOMETER LINEAR MONO 10K ohm
Rp 1.900Support terus UKM indonesia dengan membeli produk-produk dalam negeri. Untuk kualitas tidak usah diragukan, udah kita tes QC dengan sangat… selengkapnya
Rp 8.500Harga untuk 10pcs Resistance: 1K Ohm Wattage Rating: 0.25 Watt Tolerance: 1% Metal Film
Rp 1.500Item Deskripsi : This module performance is stable, measure the distance accurately. performance nearly the same as SRF05, SRF02 SRF05,… selengkapnya
Rp 13.900

Saat ini belum tersedia komentar.