● online
- DS3231SN DS3231 SN I2C RTC Module & Baterai Mo
- B0505S-1W 5V to 5V converter DC DC power module co
- Motor servo MG996R TowerPro Metal Gear
- Potensiometer 10K - Mono Potensio Meter Linear Res
- TP5100 4.2v 8.4v 1S 2S Single / Double Cell Lithiu
- Power module DC DC 9A 300W Step Down Buck Converte
- 5V 700mA (3.5W) Isolated switch Power Supply Modul
- LED 3mm Lampu LED 3 mm
- 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
Bagi anda yang belum tau cara menggunakan LED pada NodeMCU, pada artikel ini akan di bahas cara-caranya. Sebelum melangkah... selengkapnya
Pada artikel ini akan membahas bagaimana cara menangani motor stepper dan uln2003 tentunya masih menggunakan Arduino sebagai kontrolernya. Stepper... selengkapnya
Pada penggunaan mesin CNC router salah satu kegunaanya adalah dapat membuat layout atau jalur PCB. Cara penggunaanya kita memerlukan... selengkapnya
Anda mempunyai buzzer? tapi bingung cara menggunakannya? Oke disini saya akan berbagi caranya. Sebelumnya apakah anda tahu apa sih... selengkapnya
7 segment merupakan sebuah display yang berfungsi menampilkan sebuah karakter baik huruf maupun digit angka. Namun untuk huruf sangat... selengkapnya
Penggunaan LCD I2C sering kali gagal menampilkan teks karena deklarasi awal yaitu alamat I2C yang salah/keliru dikarenakan alamat yang... selengkapnya
Potensiometer merupakan sebuah resistor yang nilainya dapat kita atur sesuai keinginan. Bagaimana cara mengaturnya? nah potensiometer memiliki 3... selengkapnya
Seorang web programmer agar dapat mengembangkan website agar lebih menarik dan nyaman saat digunakan serta memenuhi kebutuhan user wajib... selengkapnya
Setelah sebelumnya kamu belajar menyalakan LED, sekarang saatnya Arduino mulai menerima perintah langsung dari kamu. Salah satu cara paling sederhana... selengkapnya
LED RGB adalah lampu led yang mempunyai 3 warna utama yaitu RED/merah, GREEN/hijau dan BLUE/biru. Namun dengan kombinasi dari... selengkapnya
Ini yang Seri SN – DS3231 I2C RTC Module khusus DS3231SN – Include Baterai – Module jam digital – Keperluan… selengkapnya
Rp 34.900The power supply is isolated industrial power modules, with a temperature protection, overcurrent and short circuit full protection, high and… selengkapnya
Rp 15.900Deskripsi Produk “LED Dot Matrix Display dengan 32×8 pixel, berwarna Merah, menggunakan IC MAX7219 sebagai driver dan dapat dikoneksikan ke… selengkapnya
Rp 47.500Putaran = 180º Specifications • Weight: 55 g • Dimension: 40.7 x 19.7 x 42.9 mm approx. • Stall torque:… selengkapnya
Rp 36.400Spesifikasi: 20mm Kapton Tape Polymide Film Gold High Temp isolasi Tahan Panas Harga Tertera: 1 Roll Kapton Tape Polymide Film… selengkapnya
Rp 219.000TILT SENSOR adalah sensor untuk mendeteksi sudut kemiringan / derajat, dimana cara kerja sensor ini adalah dengan menggunakan 2 buah… selengkapnya
Rp 9.800Kabel Jumper Dupont Pelangi 30cm Male to Female 1 lembar = 40 kabel
Rp 13.500POTENSIOMETER LINEAR MONO 10K ohm
Rp 1.900Features and Specs: Dual-Core, 32-bit ARM Cortex M0+ Processor Clocked at 48MHz (default), configurable max to 133MHz. Ready with USB… selengkapnya
Rp 82.900Kabel Jumper Dupont Pelangi 10 cm female to female 1 lembar = 40 kabel
Rp 9.000

Saat ini belum tersedia komentar.