● online
- Motor servo MG996R TowerPro Metal Gear....
- 10X RESISTOR 1K 1KOHM 1/4W 1% METAL FILM....
- Tilt Sensor SW-520D Module Modul Sensor Kemiringan....
- Raspberry Pi 4 Model B - 2GB RAM Raspberry Pi 4B....
- Dual Volt Amp Meter Digital Ampere Meter Voltmeter....
- Jasa Cetak PCB....
- Kapton Tape Polymide Film 50mm Polimida 50 mm Isol....
- Kabel Jumper 20cm Dupont 20 cm Female to Female Pe....
- 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 mengetahui spesifikasi dan fungsi BFD-1000 pada artikel sebelumnya, maka kini mari kita belajar lebih dalam lagi mengenai pin pada... selengkapnya
Anda mempunyai buzzer? tapi bingung cara menggunakannya? Oke disini saya akan berbagi caranya. Sebelumnya apakah anda tahu apa sih... selengkapnya
Pasti Anda semua sudah tahukan apa itu pas foto. Bagi Anda yang belum tahu apa itu pas foto, pas... selengkapnya
Bagi Sebagian developer website atau yang sedang belajar javaScript, pasti familiar dengan istilah jQuery. Sebenarnya apa itu jQuery? Dan... selengkapnya
Aktivitas manusia dalam kehidupan sehari-harinya tentu tidak jauh dari mendengarkan musik, menonton film atau streaming youtube baik untuk... selengkapnya
Pada kesempatan kali ini kita akan belajar bersama mengenai 7 segment. Berbeda dengan tutorial sebelumnya yang membahas 1 digit... selengkapnya
Sensor ultrasonik adalah salah satu sensor yang sering digunakan untuk mengukur jarak objek tanpa kontak langsung. Sensor ini bekerja dengan... selengkapnya
Setelah kamu mengenal Arduino Uno dan isi dari Arduino Uno Trainer Kit, sekarang saatnya masuk ke bagian yang lebih teknis... selengkapnya
Motor jadi salah satu komponen elektronik yang seru buat kita pelajari, dengan motor kita bahkan bisa buat mobil mainan yang... selengkapnya
Siapa yang kenal dengan modul SIM? dengan modul ini kita bisa berkomunikasi dengan SIM GSM baik untuk mengirim... selengkapnya
This is a set of transmitter and receiver in one of the photoelectric sensor. Detection distance can be adjusted according… selengkapnya
Rp 37.500ESR meter/LCR meter dengan layar lebar lebih jelas dan mantap dan dengan tempat batre jd lebih rapih batre lebih aman… selengkapnya
Rp 131.000 Rp 134.000Spesifikasi : – 16×2 – Warna Biru – Tegangan kerja : 5v Digunakan untuk keperluan display project seperti Arduino, Raspberry,… selengkapnya
Rp 17.000POTENSIOMETER LINEAR MONO 10K ohm
Rp 1.900TECHNICAL SPECIFICATIONS: – Broadcom BCM2711, Quad core Cortex-A72 (ARM v8) 64-bit SoC @ 1.5GHz – 2GB LPDDR4-2400 SDRAM – 2.4… selengkapnya
Rp 940.000Buruan dibeli gan….barang murah-berkualitas SIAPA CEPAT DIA DAPAT Spesifikasi: LCD 1602 / 16×2 (16 karakter, 2 baris) merek QAPASS (cek… selengkapnya
Rp 24.500Product Name: Tactile Switch; Material: Metal, Plastic Package Content: 30 Pcs x Tactile Switch; Main Color: Black, Silver Tone Total… selengkapnya
Rp 400TILT SENSOR adalah sensor untuk mendeteksi sudut kemiringan / derajat, dimana cara kerja sensor ini adalah dengan menggunakan 2 buah… selengkapnya
Rp 9.800Spesifikasi: 20mm Kapton Tape Polymide Film Gold High Temp isolasi Tahan Panas Harga Tertera: 1 Roll Kapton Tape Polymide Film… selengkapnya
Rp 219.000Dimmer AC 220 Volt 4000 Watt + Casing Aluminium Potensiometer untuk mengatur tegangan output min/max pada tegangan AC PLN 220V…. selengkapnya
Rp 52.500Cara Menghubungkan TB6612FNG dengan Raspberry Pi untuk Mengontrol Arah Motor DC
Kategori
Artikel Terkait
-
Sistem Kendali Suhu pada Inkubator Penetasan Telur Berbasis PID Diskrit Menggunakan Sensor DHT11 dan Aktuator Lampu Pijar
- 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

Saat ini belum tersedia komentar.