● online
- Max7219 Led Dot Matrix 32x8 Display Module For Ard....
- Raspberry Pi 4 Model B 4GB Original UK E14 Raspi 4....
- LM35DZ Sensor Suhu - LM35....
- Dimmer AC 4000W 220 Volt 4000 Watt 220V + Casing A....
- Kabel Jumper arduino Dupont Pelangi 30 cm Male to ....
- MP3 TF 16P Alternatif DFPlayer mini MP3 Player Ard....
- ESP32 ESP-32 Wireless Module ESP32-S ESP-WROOM-32 ....
- ESR Meter Digital LCR-T4 Tester Transistor Diode M....
- 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
Untuk membuat sebuah perangkat otomatis (di artikel ini lampu LED) sebenarnya dapat menggunakan berbagai macam sensor misalnya sensor suhu,... selengkapnya
Motor servo merupakan salah satu aktuator yang paling sering digunakan dalam dunia robotika, terutama untuk gerakan yang membutuhkan ketelitian posisi.... selengkapnya
Melihat potensi dari android itu sendiri, akhirnya banyak orang yang berlomba lomba belajar memperdalam sistem operasi ini. Tentunya akan... selengkapnya
Semangat pagi semua, kali ini kita akan belajar mengenai penggunaan LCD pada Arduino tanpa module I2C. Kenapa perlu belajar... selengkapnya
Secara bawaan, Arduino Uno sebenarnya sudah memiliki pin analog. Tapi pada beberapa proyek, terutama saat jumlah sensor analog semakin banyak,... selengkapnya
Secara bawaan, GPIO Raspberry Pi hanya bisa membaca input digital yang berarti hanya bisa mendeteksi dua kondisi, yaitu hidup atau... selengkapnya
Di dalam dunia elektronika, dikenal dua jenis input dan output (I/O) yaitu, analog dan digital. Untuk yang digital itu gampang... selengkapnya
CNC router merupakan sebuah mesin yang mempunyai kegunaan untuk memotong, mengukir/grafir dan membuat marking. Semua proses itu dapat dilakukan... selengkapnya
Phyton merupakan bahasa yang sangat populer saat ini. Bahasa yang dibuat oleh Guido Van Rossum pada tahun 1991 ini... selengkapnya
Punya SHT40 dan ESP32-C3 Mini tapi masih bingung cara menghubungkannya? Tenang, prosesnya sebenarnya cukup simpel karena SHT40 menggunakan komunikasi I2C,... selengkapnya
Dual Volt Amp Meter Digital Ampere Meter Voltmeter 10A 0-100V Ammeter Dilengkapi dengan pengukuran Voltmeter dan Amperemeter dalam 1 display… selengkapnya
Rp 26.500Kabel Jumper Dupont Pelangi 30cm female to Female 1 lembar = 40 kabel
Rp 13.5001 X LDR Sensor 5mm Cahaya 5528 Light Dependent Resistor LDR
Rp 4.000Description: TP5100 is a double switch buck 8.4V, single cell 4. 2V lithium battery charge management chip. Its ultra-compact QFN16… selengkapnya
Rp 10.600Product Name: Tactile Switch; Material: Metal, Plastic Package Content: 30 Pcs x Tactile Switch; Main Color: Black, Silver Tone Total… selengkapnya
Rp 400Kabel jumper 20 cm merk Dupont untuk Arduino Female to male 1 lembar = 40 kabel
Rp 11.300Compatibility: USB v2.0 standard Interface: Network: USB Series: RS-485 Port: an independent RS-485 Connector: Network: USB type A connector Series:… selengkapnya
Rp 38.800Warna : biru dan merah Bahan Alumunium 25T include baut 2 pcs
Rp 8.750Kabel Jumper Dupont Pelangi 10 cm male to male 1 lembar = 40 kabel
Rp 13.000Kabel jumper Dupont untuk jumper Arduino atau Raspberry Pi 20 cm Male to Male 1 lembar = 40 kabel
Rp 11.300Cara 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.