● online
- Kabel Jumper 20cm Dupont 20 cm Male to Male Pelang
- Motor Servo MG995 TowerPro Metal Gear
- 10mm Kapton Tape Polymide Film Gold High Temp isol
- Modul Sensor Tegangan AC Bolak balik 220V Listrik
- Kabel Jumper arduino Dupont Pelangi 30 cm Male to
- PWM DC 10A Motor 12V-40V Pulse Width Modulation Sp
- Power module DC DC 9A 300W Step Down Buck Converte
- LDR Sensor 5mm Cahaya 5528 Light Dependent Resisto
- 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 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.
Tutorial Menggerakan Motor dengan Raspberry Pi
Salah satu fitur paling menarik dari Raspberry Pi adalah deretan pin GPIO (General-Purpose Input/Output) yang terletak di sepanjang sisi atas... selengkapnya
Sebagai seorang programmer tentu saja harus mempunyai kemampuan di bidang Bahasa pemograman karena landasan utama dalam membangun sebuah aplikasi... selengkapnya
MP3 DFPlayer merupakan sebuah modul elektronik yang berfungsi untuk memainkan sebuah suara yang filenya berketensi MP3. Seperti memutar sebuah... selengkapnya
Hari ini kita akan mencoba untuk menampilkan data sensor ldr ke web server dengan koneksi WIFI menggunakan board NodeMCU.... selengkapnya
Rotary encoder adalah sebuah perangkat elektronik yang mampu mengkonversi gerakan mekanis berputar menjadi sinyal listrik, menjadi elemen kunci dalam memenuhi... selengkapnya
Di dalam dunia elektronika, dikenal dua jenis input dan output (I/O) yaitu, analog dan digital. Untuk yang digital itu gampang... selengkapnya
Untuk membuat sebuah perangkat otomatis (di artikel ini lampu LED) sebenarnya dapat menggunakan berbagai macam sensor misalnya sensor suhu,... selengkapnya
I think I need to make a virtual personal assistant that can help me make a self-service video tutorial... selengkapnya
Sensor Ultrasonik adalah sensor yang bekerja berdasarkan pantulan gelombang suara untuk mendeteksi keberadaan sebuah objek. Sensor ultrasonik terdapat dua bagian... selengkapnya
Artikel kali ini, akan membahas tentang mengontrol sebuah LED menggunakan remote. Remote apa yang digunakan? anda dapat menggunakan berbagai... selengkapnya
POTENSIOMETER LINEAR MONO 10K ohm
Rp 1.900Kabel jumper Dupont untuk jumper Arduino atau Raspberry Pi 20 cm Male to Male 1 lembar = 40 kabel
Rp 11.300Specifications: 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.8001 X LDR Sensor 5mm Cahaya 5528 Light Dependent Resistor LDR
Rp 4.000Spesifikasi : – 16×2 – Warna Biru – Tegangan kerja : 5v Digunakan untuk keperluan display project seperti Arduino, Raspberry,… selengkapnya
Rp 17.000The power supply is isolated industrial power modules, with a temperature protection, overcurrent and short circuit full protection, high and… selengkapnya
Rp 15.900Kabel Jumper Dupont Pelangi 30cm Male to Female 1 lembar = 40 kabel
Rp 13.500Specifications: Operating voltage: DC3-5V Operating current: less than 20mA Sensor Type: Analog Detection Area: 40mmx16mm Production process: FR4 double-sided HASL… selengkapnya
Rp 3.000Kabel Jumper Dupont Pelangi 10 cm.. male to female 1 lembar isi 40 kabel
Rp 9.000Features – Calibrated directly in Celsius (Centigrade) – Linear + 10.0 mV/C scale factor – 0.5C accuracy guaranteeable (at +25C)… selengkapnya
Rp 8.000
Saat ini belum tersedia komentar.