● online
- LED 3mm Lampu LED 3 mm....
- LM2596 Module Step Down DC-DC Ultra compact in 3-4....
- LCD CHARACTER 16X2 1602 5V GREEN HIJAU BACKLIGHT M....
- Resistor 220 Ohm 220R Ohm 220Ohm 1/4W 1% Metal fil....
- Push Button Tactile Switch Saklar Tombol Tinggi - ....
- SG90 Motor Servo For Arduino Uno Mega SG 90 Biru S....
- LCD 16x2 / 1602 Display Arduino Raspberry LCD 16 x....
- RC Servo ARM Horn M3 Metal 25T MG995 MG946R MG996R....
- 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.
Cara Menghubungkan TB6612FNG dengan Raspberry Pi untuk Mengontrol Arah Motor DC
Motor DC menjadi salah satu komponen yang sering digunakan dalam proyek berbasis Raspberry Pi, seperti robot sederhana, kendaraan mini, maupun sistem mekanik otomatis. Namun, motor DC tidak dapat langsung dikendalikan dari GPIO Raspberry Pi karena motor membutuhkan arus yang lebih besar dibandingkan kemampuan pin GPIO. Karena itu, dibutuhkan modul motor driver yang berfungsi sebagai perantara antara Raspberry Pi dan motor DC.
Salah satu modul yang dapat digunakan adalah modul TB6612FNG. Modul ini menggunakan IC TB6612FNG sebagai pengendali motor dan menyediakan pin input yang dapat dihubungkan ke GPIO Raspberry Pi, serta terminal output untuk motor dan catu daya motor. Dengan modul ini, Raspberry Pi dapat mengatur arah putaran motor DC tanpa harus memberikan daya motor secara langsung dari GPIO. Pada artikel ini, kita akan membahas cara menghubungkan modul TB6612FNG dengan Raspberry Pi untuk mengontrol arah putaran motor DC, mulai dari mengenal bagian-bagian modul, koneksi setiap pin, hingga program Python yang digunakan.
Mengenal Modul TB6612FNG untuk Raspberry Pi
Sebelum mulai melakukan wiring, ada baiknya kita mengenal terlebih dahulu bagian-bagian yang terdapat pada modul TB6612FNG. Secara umum, modul ini memiliki terminal untuk catu daya motor, catu daya logika, output ke motor, serta beberapa pin kontrol yang nantinya dihubungkan ke GPIO Raspberry Pi. IC yang digunakan pada modul ini memiliki dua channel motor, sehingga modul dapat digunakan untuk mengendalikan dua motor DC secara terpisah. Informasi lebih detail mengenai karakteristik dan konfigurasi TB6612FNG dapat dilihat pada datasheet resmi TB6612FNG dari Toshiba.
Untuk tutorial ini, kita hanya akan menggunakan satu channel motor, yaitu channel A. Dengan begitu, pin yang perlu diperhatikan adalah VM, VCC, GND, A01, A02, AIN1, AIN2, PWMA, dan STBY. Pin AIN1 dan AIN2 digunakan untuk menentukan arah putaran motor, sedangkan PWMA berfungsi sebagai input PWM untuk channel A. Sementara itu, STBY digunakan untuk mengaktifkan atau menonaktifkan driver motor. Pada kondisi LOW, TB6612FNG berada dalam mode standby.
Fungsi Pin Modul TB6612FNG
Berikut fungsi pin yang akan kita gunakan dalam rangkaian:
| Pin | Fungsi |
|---|---|
| VM | Catu daya untuk motor DC |
| VCC | Catu daya bagian logika modul |
| GND | Ground |
| A01 / AO1 | Output menuju salah satu terminal motor |
| A02 / AO2 | Output menuju terminal motor lainnya |
| AIN1 | Input kontrol arah motor channel A |
| AIN2 | Input kontrol arah motor channel A |
| PWMA | Input PWM untuk channel A |
| STBY | Mengaktifkan atau menonaktifkan driver |
Perlu diperhatikan bahwa VM dan VCC memiliki fungsi yang berbeda. VM digunakan untuk memberikan daya ke motor, sedangkan VCC digunakan untuk bagian logika. Datasheet TB6612FNG mencantumkan VCC pada rentang 2,7–5,5 V dan catu motor VM pada rentang operasi 4,5–13,5 V pada kondisi aplikasi yang ditunjukkan datasheet. Karena kita menggunakan Raspberry Pi sebagai pengendali, bagian logika dapat menggunakan 3,3 V, sementara motor menggunakan sumber daya yang sesuai dengan spesifikasi motor dan driver.
Hal penting lainnya adalah motor tidak boleh dihubungkan langsung ke GPIO Raspberry Pi. GPIO hanya digunakan untuk memberikan sinyal kontrol ke modul TB6612FNG, sedangkan daya motor berasal dari sumber tegangan pada sisi VM. Raspberry Pi sendiri secara resmi menyarankan penggunaan H-bridge atau motor controller board ketika ingin mengendalikan motor.
Komponen yang Dibutuhkan untuk Menghubungkan TB6612FNG dengan Raspberry Pi
Untuk mengikuti tutorial ini, kita tidak membutuhkan banyak komponen. Karena artikel difokuskan pada pengaturan arah satu motor DC menggunakan channel A pada modul TB6612FNG, komponen yang digunakan cukup sederhana.
Beberapa komponen yang perlu disiapkan adalah Raspberry Pi, modul TB6612FNG, satu buah motor DC, sumber daya untuk motor, serta beberapa kabel jumper. Raspberry Pi akan bertugas mengirimkan sinyal kontrol melalui GPIO, sedangkan modul TB6612FNG menjadi penghubung antara Raspberry Pi dan motor. Raspberry Pi sendiri merekomendasikan penggunaan motor controller atau H-bridge ketika mengendalikan motor, bukan menghubungkan motor langsung ke GPIO.
Sebelumnya, GPIO Raspberry Pi juga sudah digunakan untuk menghubungkan perangkat eksternal pada tutorial Cara Membuat Alarm Keamanan Sederhana dengan Sensor PIR dan Raspberry Pi 5. Pada tutorial tersebut, GPIO digunakan untuk membaca sinyal dari sensor PIR dan mengendalikan buzzer. Kali ini, GPIO Raspberry Pi akan digunakan untuk memberikan sinyal kontrol ke modul TB6612FNG agar dapat mengatur arah putaran motor DC.
Sumber daya motor perlu disesuaikan dengan spesifikasi motor yang digunakan. Jangan mengambil daya motor dari pin 3,3 V Raspberry Pi. Pada modul TB6612FNG, bagian VM digunakan untuk catu daya motor, sedangkan VCC digunakan untuk catu daya logika. Datasheet TB6612FNG mencantumkan VCC pada rentang 2,7–5,5 V dan VM pada rentang operasi hingga 13,5 V, sehingga pemilihan sumber daya tetap harus disesuaikan dengan modul dan motor yang digunakan.
Daftar Komponen untuk Rangkaian TB6612FNG dan Raspberry Pi
| Komponen | Jumlah | Keterangan |
|---|---|---|
| Raspberry Pi | 1 | Sebagai pengendali |
| Modul TB6612FNG | 1 | Sebagai motor driver |
| Motor DC | 1 | Motor yang akan dikontrol |
| Power supply/baterai motor | 1 | Sumber daya untuk motor |
| Kabel jumper | Secukupnya | Untuk koneksi Raspberry Pi dan modul |
| Kabel motor | 2 | Untuk menghubungkan motor ke output channel A |
Pada tutorial ini kita menggunakan satu motor DC pada channel A agar pembahasan lebih sederhana. Pin AIN1 dan AIN2 akan digunakan untuk menentukan arah putaran, sedangkan PWMA digunakan sebagai input PWM channel A. Pin STBY juga perlu dibuat HIGH agar driver keluar dari mode standby dan dapat mengaktifkan output motor.
Wiring Modul TB6612FNG dengan Raspberry Pi
Setelah mengenal fungsi pin pada modul TB6612FNG, sekarang kita bisa mulai menghubungkan modul dengan Raspberry Pi. Pada tutorial ini, kita hanya menggunakan satu channel, yaitu channel A, untuk mengendalikan satu motor DC. Raspberry Pi bertugas mengirimkan sinyal kontrol melalui GPIO, sedangkan modul TB6612FNG menangani pengendalian motor.
Agar arah putaran motor dapat dikontrol, kita membutuhkan dua pin digital untuk AIN1 dan AIN2. Kombinasi kedua pin tersebut nantinya menentukan arah putaran motor. Selain itu, pin PWMA digunakan untuk mengaktifkan output channel A, sedangkan STBY harus berada pada kondisi HIGH agar modul TB6612FNG keluar dari mode standby.
Pada tutorial ini kita menggunakan GPIO17 untuk AIN1, GPIO27 untuk AIN2, GPIO18 untuk PWMA, dan GPIO22 untuk STBY. Pemilihan GPIO ini bukan merupakan keharusan, sehingga pin dapat disesuaikan dengan kebutuhan proyek. Namun, menggunakan susunan yang konsisten akan membuat proses wiring dan pemrograman menjadi lebih mudah diikuti.
Tabel Wiring Raspberry Pi ke Modul TB6612FNG
| Raspberry Pi | Modul TB6612FNG | Fungsi |
|---|---|---|
| 3.3V | VCC | Catu daya logika modul |
| GND | GND | Ground bersama |
| GPIO17 | AIN1 | Kontrol arah motor |
| GPIO27 | AIN2 | Kontrol arah motor |
| GPIO18 | PWMA | Enable/PWM channel A |
| GPIO22 | STBY | Mengaktifkan driver |
| — | VM | Catu daya motor |
| — | A01 / AO1 | Output ke motor |
| — | A02 / AO2 | Output ke motor |

Gambar di atas menunjukkan hubungan antara Raspberry Pi, modul TB6612FNG, motor DC, dan sumber daya motor. Pastikan koneksi pada gambar sesuai dengan tabel wiring agar pembaca dapat mengikuti rangkaian tanpa kebingungan.
Bagian VCC pada modul dihubungkan ke pin 3,3 V Raspberry Pi karena pin tersebut digunakan untuk catu daya logika. Sementara itu, VM digunakan untuk memberikan daya kepada motor dan harus mendapatkan sumber tegangan yang sesuai dengan spesifikasi motor serta modul. Motor DC dihubungkan ke output A01 dan A02 pada channel A.
Untuk jalur kontrol, GPIO17 dan GPIO27 digunakan sebagai input AIN1 dan AIN2. Kedua GPIO tersebut akan menentukan arah putaran motor berdasarkan kombinasi kondisi HIGH dan LOW. GPIO18 dihubungkan ke PWMA untuk mengaktifkan channel A, sedangkan GPIO22 digunakan untuk mengendalikan pin STBY.
Hal yang juga sangat penting adalah menyatukan ground Raspberry Pi dengan ground modul TB6612FNG dan ground sumber daya motor. Ground yang sama diperlukan agar sinyal kontrol dari Raspberry Pi memiliki referensi tegangan yang sama dengan modul.
Jika seluruh koneksi sudah terpasang, Raspberry Pi belum langsung mengatur arah motor sampai kita memberikan kombinasi logika yang tepat pada AIN1 dan AIN2. Pada bagian berikutnya, kita akan membuat program Python untuk mengontrol motor agar dapat berputar ke dua arah menggunakan Raspberry Pi dan modul TB6612FNG.
Program Python untuk Mengontrol Arah Motor DC dengan TB6612FNG
Setelah wiring selesai, langkah berikutnya adalah membuat program Python untuk mengontrol arah putaran motor DC. Raspberry Pi akan mengatur kombinasi logika pada pin AIN1 dan AIN2, sementara pin STBY digunakan untuk mengaktifkan modul dan PWMA digunakan untuk mengaktifkan channel A.
Pada contoh ini kita menggunakan library gpiozero karena library tersebut menyediakan antarmuka GPIO yang sederhana dan mudah dipahami, terutama untuk proyek Raspberry Pi. Dokumentasi penggunaan GPIO Zero dapat dilihat melalui dokumentasi resminya.
Logika Arah Putaran Motor
Arah putaran motor ditentukan oleh kombinasi kondisi HIGH dan LOW pada AIN1 dan AIN2. Kombinasi yang digunakan pada tutorial ini adalah:
| AIN1 | AIN2 | Kondisi Motor |
|---|---|---|
| LOW | LOW | Berhenti |
| HIGH | LOW | Berputar ke satu arah |
| LOW | HIGH | Berputar ke arah sebaliknya |
| HIGH | HIGH | Rem |
Pada tutorial ini, PWMA dibuat HIGH agar channel A aktif, sedangkan STBY juga dibuat HIGH untuk mengaktifkan modul. Setelah itu, AIN1 dan AIN2 dapat digunakan untuk menentukan arah putaran motor.
Program Python TB6612FNG
Program berikut menggunakan GPIO yang sudah ditentukan pada bagian wiring, yaitu GPIO17 untuk AIN1, GPIO27 untuk AIN2, GPIO18 untuk PWMA, dan GPIO22 untuk STBY.
from gpiozero import DigitalOutputDevice
from time import sleep
# Pin Raspberry Pi
ain1 = DigitalOutputDevice(17)
ain2 = DigitalOutputDevice(27)
pwma = DigitalOutputDevice(18)
stby = DigitalOutputDevice(22)
# Aktifkan driver dan channel A
stby.on()
pwma.on()
try:
while True:
# Motor berputar ke satu arah
print("Motor berputar ke arah 1")
ain1.on()
ain2.off()
sleep(3)
# Motor berhenti
print("Motor berhenti")
ain1.off()
ain2.off()
sleep(2)
# Motor berputar ke arah sebaliknya
print("Motor berputar ke arah 2")
ain1.off()
ain2.on()
sleep(3)
# Motor berhenti
print("Motor berhenti")
ain1.off()
ain2.off()
sleep(2)
except KeyboardInterrupt:
print("Program dihentikan")
finally:
ain1.off()
ain2.off()
pwma.off()
stby.off()
Setelah program dijalankan, motor akan berputar ke satu arah selama beberapa detik, kemudian berhenti. Setelah itu motor akan berputar ke arah sebaliknya dan kembali berhenti. Proses tersebut akan terus diulang sampai program dihentikan.
Program ini sengaja dibuat sederhana agar pembahasan tetap berfokus pada kontrol arah motor DC. Pengaturan kecepatan menggunakan PWM dapat dibahas pada artikel berikutnya.
Arah fisik motor tidak selalu sama dengan istilah “arah 1” dan “arah 2” pada program. Hal tersebut bergantung pada posisi motor dan bagaimana kabel motor dihubungkan ke terminal A01 dan A02. Jika arah putaran terbalik dari yang diinginkan, kedua kabel motor pada A01 dan A02 dapat ditukar.
Menguji Arah Putaran Motor DC dengan TB6612FNG
Setelah program Python selesai dibuat, sekarang saatnya menjalankan rangkaian untuk melihat apakah modul TB6612FNG sudah dapat mengontrol arah putaran motor DC dari Raspberry Pi. Sebelum menyalakan rangkaian, periksa kembali seluruh koneksi, terutama sambungan VCC, VM, GND, AIN1, AIN2, PWMA, STBY, A01, dan A02.
Pastikan juga sumber daya motor sudah sesuai dengan spesifikasi motor yang digunakan. Raspberry Pi hanya bertugas memberikan sinyal kontrol ke modul, sehingga jangan menggunakan GPIO sebagai sumber daya untuk motor DC. Setelah semua koneksi dipastikan benar, jalankan program Python yang sudah dibuat sebelumnya.
Ketika program berjalan, Raspberry Pi akan memberikan kombinasi logika yang berbeda pada AIN1 dan AIN2. Pada kondisi pertama, AIN1 dibuat HIGH dan AIN2 LOW sehingga motor berputar ke salah satu arah. Setelah beberapa detik, kedua pin dibuat LOW dan motor berhenti. Selanjutnya, kondisi dibalik menjadi AIN1 LOW dan AIN2 HIGH sehingga motor berputar ke arah sebaliknya.
Jika motor dapat berputar ke dua arah sesuai perubahan kondisi tersebut, berarti koneksi dasar antara Raspberry Pi, modul TB6612FNG, dan motor DC sudah bekerja dengan baik. Jika motor tidak bergerak, periksa kembali apakah STBY dan PWMA sudah HIGH, karena kedua pin tersebut diperlukan agar channel A dapat bekerja.
Perlu diingat bahwa arah putaran motor dapat berbeda antara satu rangkaian dan rangkaian lainnya. Hal ini dipengaruhi oleh posisi motor dan polaritas kabel yang terhubung ke A01 dan A02. Jadi, jika arah putaran terlihat terbalik dari yang diinginkan, hal tersebut tidak selalu menunjukkan adanya kesalahan pada program. Cukup tukar posisi kedua kabel motor pada A01 dan A02 atau sesuaikan logika AIN1 dan AIN2 pada program.
Kesimpulan
Menghubungkan modul TB6612FNG dengan Raspberry Pi dapat menjadi solusi sederhana untuk mengontrol arah putaran motor DC tanpa membebani GPIO Raspberry Pi secara langsung. Pada tutorial ini, satu channel motor digunakan dengan AIN1 dan AIN2 sebagai pengatur arah, PWMA untuk mengaktifkan channel motor, serta STBY untuk mengaktifkan modul.
Dengan rangkaian tersebut, Raspberry Pi dapat memberikan perintah agar motor berputar ke satu arah, berhenti, kemudian berputar ke arah sebaliknya melalui program Python. Pemisahan antara jalur kontrol Raspberry Pi dan sumber daya motor juga membuat penggunaan motor driver menjadi lebih tepat untuk proyek yang membutuhkan motor DC.
Setelah berhasil mengontrol arah motor, tahap berikutnya yang menarik adalah mengatur kecepatan putaran motor. Pada artikel selanjutnya, kita dapat memanfaatkan PWM pada pin PWMA sehingga kecepatan motor DC dapat diatur dari Raspberry Pi menggunakan modul TB6612FNG.
Cara Menghubungkan TB6612FNG dengan Raspberry Pi untuk Mengontrol Arah Motor DC
Setelah kamu mengenal Arduino Uno dan isi dari Arduino Uno Trainer Kit, sekarang saatnya masuk ke bagian yang lebih teknis... selengkapnya
Sudah pernah menyalakan LED menggunakan Python? Atau membaca input dari tombol? Di proyek kali ini, kamu akan menggabungkan dua fungsi... selengkapnya
7 segment merupakan sebuah display yang berfungsi menampilkan sebuah karakter baik huruf maupun digit angka. Namun untuk huruf sangat... selengkapnya
Push button switch merupakan sebuah saklar dimana komponen ini berfungsi untuk mengubungkan atau memutus arus listrik. Saklar jenis ini... selengkapnya
I think I need to make a virtual personal assistant that can help me make a self-service video tutorial... selengkapnya
Siapa yang kenal dengan modul SIM? dengan modul ini kita bisa berkomunikasi dengan SIM GSM baik untuk mengirim... selengkapnya
Pada artikel sebelumnya kita sudah belajar untuk mendaftar ke thingspeak, jika belum silahkan bisa di lihat DISINI. Oke sip... selengkapnya
Hallo semua, pada artikel kali saya ini akan membahas kembali seputar push button switch dimana pada artikel yang sebelumnya... selengkapnya
Pada postingan artikel kali ini akan mengupas tentang penggunaan LCD 20×4 pada Arduino. Maksud dari 20×4 adalah lcd ini... selengkapnya
Tombol adalah salah satu komponen input paling sederhana namun sangat penting dalam berbagai proyek elektronika. Dalam tutorial ini, kamu akan... selengkapnya
Specifications: 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 30cm Male to Female 1 lembar = 40 kabel
Rp 13.500TECHNICAL SPECIFICATIONS: – Broadcom BCM2711, Quad core Cortex-A72 (ARM v8) 64-bit SoC @ 1.5GHz – 2GB LPDDR4-2400 SDRAM – 2.4… selengkapnya
Rp 940.000Mini Solderless Breadboard 400 Tie Points adalah breadboard 400 titik lubang, dengan ukuran yang compact sangat cocok untuk anda yang… selengkapnya
Rp 7.800ESP-WROOM-32 is Powered by Espressif’s most advanced SoC, the ESP-WROOM-32 features high performance, a wide range of peripherals, Wi-Fi and… selengkapnya
Rp 38.400Tang Crimping Press Skun Ratchet YTH SN-48B Model YTH SN-48B FOR NON INSULATED TERMINAL YTH SN-48B dengan mata Press 0.5… selengkapnya
Rp 150.000Deskripsi Produk “LED Dot Matrix Display dengan 32×8 pixel, berwarna Merah, menggunakan IC MAX7219 sebagai driver dan dapat dikoneksikan ke… selengkapnya
Rp 47.500The power supply is isolated industrial power modules, with a temperature protection, overcurrent and short circuit full protection, high and… selengkapnya
Rp 15.900Bagaimana jika mikrokontroler yang anda gunakan tidak memiliki port ADC. atau anda masih kurang dengan spesifikasi resolusi ADC yang disediakan… selengkapnya
Rp 65.000Bosan dengan modul arduino yang kalian punya, saatnya mencoba modul programmer yang lain yah ini dia RASPBERRY PI 4 COMPUTER… selengkapnya
Rp 1.570.000Cara Menghubungkan TB6612FNG dengan Raspberry Pi untuk Mengontrol Arah Motor DC
Kategori
Artikel Terkait
- Cara Mengatur Kecepatan Motor DC dengan PWM Raspberry Pi dan TB6612FNG
-
Cara Membuat Alarm Keamanan Sederhana dengan Sensor PIR dan Raspberry Pi 5
-
Cara Menghubungkan Sensor PIR ke Raspberry Pi untuk Mendeteksi Gerakan
- Cara Mengetahui Alamat I2C SHT40 dengan ESP32-C3 Mini
-
Cara Menghubungkan SHT40 ke ESP32-C3 Mini untuk Membaca Suhu dan Kelembapan

Saat ini belum tersedia komentar.