● online
- Kapton Tape Polymide Film 20mm Polimida 20 mm Isol
- 5V 700mA (3.5W) Isolated switch Power Supply Modul
- Sensor Api Flame detector sensor
- Modul Sensor Tegangan AC Bolak balik 220V Listrik
- Motor Servo MG995 TowerPro Metal Gear
- Jasa Cetak PCB
- 10mm Kapton Tape Polymide Film Gold High Temp isol
- Raspberry Pi 4 Model B 8GB Original UK E14 Raspi 4
- 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
- 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.
Tutorial Menggerakan Motor dengan Raspberry Pi
Sensor TDS meter adalah perangkat elektronika yang digunakan untuk mengukur partikel terlarut dalam air, partikel terlarut termasuk zat organik... selengkapnya
Flow meter yaitu sebuah sensor yang berfungsi untuk menghitung aliran air (debit) dan volume air dalam suatu alur dan... selengkapnya
Javascript adalah scripting atau bahasa pemrograman yang digunakan pada suatu web pada level klien (Client side) agar web tersebut... selengkapnya
Telegram adalah sebuah aplikasi chating yang cukup banyak penggunanya dan telegram ini dapat menjawab sendiri sesuai dengan perintah yang... selengkapnya
Oke sekarang kita akan belajar menyalakan LED dengan Blynk NodeMCU. Tentunya anda semua sudah menginstal aplikasi Blynk kan ya…... selengkapnya
Penggunaan LCD I2C sering kali gagal menampilkan teks karena deklarasi awal yaitu alamat I2C yang salah/keliru dikarenakan alamat yang... selengkapnya
Pada komponen tertentu dibutuhkan sebuah library agar komponen tersebut dapat berjalan sebagaimana mestinya. Apa itu library? library adalah sekumpulan... selengkapnya
Hari ini kita akan mencoba untuk menampilkan data sensor ldr ke web server dengan koneksi WIFI menggunakan board NodeMCU.... selengkapnya
Sensor PIR (HC-SR501) digunakan untuk mendeteksi pergerakan yang ada di depannya. Sensor PIR (HC-SR501) terbuat dari bahan pyroelectric yang... selengkapnya
Modul Led Dot Matrix 32×16 adalah modul display yang menggunakan kumpulan – kumpulan LED yang dirangkai dengan susunan 32... selengkapnya
Kabel Jumper Dupont Pelangi 30cm female to Female 1 lembar = 40 kabel
Rp 13.500Mini Solderless Breadboard 400 Tie Points adalah breadboard 400 titik lubang, dengan ukuran yang compact sangat cocok untuk anda yang… selengkapnya
Rp 7.800Support terus UKM indonesia dengan membeli produk-produk dalam negeri. Untuk kualitas tidak usah diragukan, udah kita tes QC dengan sangat… selengkapnya
Rp 8.500The power supply is isolated industrial power modules, with a temperature protection, overcurrent and short circuit full protection, high and… selengkapnya
Rp 15.900Fitur: -Dapat mendeteksi api atau panjang gelombang sumber cahaya dalam 760nm ~ 1100nm – Api lebih ringan mendeteksi jarak 80cm… selengkapnya
Rp 9.000Product Name: Tactile Switch; Material: Metal, Plastic Package Content: 30 Pcs x Tactile Switch; Main Color: Black, Silver Tone Total… selengkapnya
Rp 400Warna : biru dan merah Bahan Alumunium 25T include baut 2 pcs
Rp 8.750Bosan dengan modul arduino yang kalian punya, saatnya mencoba modul programmer yang lain yah ini dia RASPBERRY PI 4 COMPUTER… selengkapnya
Rp 1.199.000Kabel Jumper Dupont Pelangi 10 cm female to female 1 lembar = 40 kabel
Rp 9.000Spesifikasi: 50mm Kapton Tape Polymide Film Gold High Temp isolasi Tahan Panas Harga Tertera: 1 Roll Kapton Tape Polymide Film… selengkapnya
Rp 75.000
Saat ini belum tersedia komentar.