Buka Senin - Jumat jam 08.30 s/d jam 16.30 , Sabtu Jam 8.30 s/d jam 13.00 , Minggu tutup
  • 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.
Beranda » Blog » Cara Menghubungkan TB6612FNG dengan Raspberry Pi untuk Mengontrol Arah Motor DC

Cara Menghubungkan TB6612FNG dengan Raspberry Pi untuk Mengontrol Arah Motor DC

Diposting pada 2 September 2026 oleh indo maker / Dilihat: 3 kali / Kategori: ,

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.

Bagikan ke

Cara Menghubungkan TB6612FNG dengan Raspberry Pi untuk Mengontrol Arah Motor DC

Saat ini belum tersedia komentar.

Silahkan tulis komentar Anda

Cara Menghubungkan TB6612FNG dengan Raspberry Pi untuk Mengontrol Arah Motor DC

Produk yang sangat tepat, pilihan bagus..!

Berhasil ditambahkan ke keranjang belanja
Lanjut Belanja
Checkout
Produk Quick Order

Pemesanan dapat langsung menghubungi kontak dibawah: