Tutorial ESP32 15/55 - Kontrol Kecepatan Motor DC dengan ESP32 L293D | Kit Pembelajaran IoT ESP32 SunFounder
Tutorial ESP32 15/55 - Kontrol Kecepatan Motor DC dengan ESP32 L293D | Kit Pembelajaran IoT ESP32 SunFounder
Mengontrol motor DC dengan ESP32 mungkin tampak menakutkan, tetapi sebenarnya cukup mudah dilakukan dengan komponen dan pemahaman yang tepat. Dalam tutorial ini, kita akan membuat proyek yang memungkinkan kita mengontrol kecepatan dan arah motor DC menggunakan driver motor L293D. Pada akhirnya, Anda akan memiliki rangkaian yang berfungsi untuk memutar motor maju dan mundur sambil menyesuaikan kecepatannya. Untuk referensi visual, pastikan untuk menonton video di (di video pada 00:00).
Penjelasan Perangkat Keras
Komponen utama dari proyek ini termasuk mikrokontroler ESP32 dan driver motor L293D. ESP32 adalah mikrokontroler yang kuat dengan kemampuan Wi-Fi dan Bluetooth bawaan, membuatnya cocok untuk aplikasi IoT. ESP32 dapat mengontrol berbagai komponen perangkat keras, termasuk motor, melalui pin GPIO-nya. L293D adalah driver motor jembatan-H ganda yang memungkinkan Anda mengontrol arah dan kecepatan dua motor DC. Setiap jembatan-H dapat menggerakkan motor ke salah satu arah dengan membalik polaritas tegangan yang diterapkan ke terminal motor. Selain itu, L293D dapat menangani arus hingga 600 mA per saluran, membuatnya cocok untuk motor berukuran kecil hingga sedang.
Detail Datasheet
| Produsen | Texas Instruments |
|---|---|
| Nomor bagian | L293D |
| Tegangan logika/IO | 2,5 – 7 V |
| Tegangan suplai | 4,5 – 36 V |
| Arus keluaran (per saluran) | 600 mA (khas) |
| Arus puncak (per saluran) | 1,2 A (maks) |
| Panduan frekuensi PWM | 20 kHz (khas) |
| Ambang logika masukan | 0,8 V (tinggi), 2,0 V (rendah) |
| Penurunan tegangan / RDS(on) / saturasi | 1,5 V (maks) |
| Batas termal | 150 °C (maks) |
| Kemasan | 16-DIP |
| Catatan / varian | Penggerak setengah-H empat kali lipat |
- Pastikan pembuangan panas yang tepat untuk aplikasi arus tinggi.
- Dekopling suplai daya dengan kapasitor untuk mencegah lonjakan tegangan.
- Berhati-hatilah dengan pengkabelan untuk mencegah polaritas terbalik.
- Gunakan PWM untuk kontrol kecepatan guna menghindari panas berlebih.
- Periksa tegangan terukur motor untuk mencegah kerusakan.
Instruksi Pengkabelan

Untuk menghubungkan ESP32 dan driver motor L293D, mulailah dengan menghubungkan daya. Hubungkan pin 16 dari L293D ke terminal positif suplai daya Anda, dan pin 4 ke ground. Selanjutnya, hubungkan motor: satu terminal ke pin 3 dan yang lainnya ke pin 6 pada L293D. Untuk sinyal kontrol, hubungkan pin GPIO 13 ESP32 ke pin 2 pada L293D dan GPIO pin 14 ke pin 7. Terakhir, pastikan untuk menghubungkan ground ESP32 ke ground L293D untuk memastikan referensi yang sama. Jika video menyebutkan pengkabelan alternatif (di video pada 05:00), pastikan untuk mengikuti perubahan spesifik yang ditunjukkan.
Contoh Kode & Penjelasan
Kode untuk mengontrol motor terdiri dari mendefinisikan pin untuk motor dan mengatur mode mereka. Berikut kutipan dari fungsi setup:
#define motor1A 13
#define motor2A 14
void setup() {
pinMode(motor1A, OUTPUT);
pinMode(motor2A, OUTPUT);
}
Dalam potongan ini, kita mendefinisikan pin kontrol motor sebagai konstanta dan mengaturnya sebagai keluaran dalam fungsi setup. Ini sangat penting karena mempersiapkan pin untuk mengontrol motor. Fungsi loop adalah tempat perilaku motor dikontrol. Berikut bagian kunci dari loop:
void loop() {
digitalWrite(motor1A, HIGH);
digitalWrite(motor2A, LOW);
delay(2000);
digitalWrite(motor1A, LOW);
digitalWrite(motor2A, HIGH);
delay(2000);
digitalWrite(motor1A, LOW);
digitalWrite(motor2A, LOW);
delay(3000);
}
Kode ini memutar motor ke satu arah selama 2 detik, kemudian membalik arah selama 2 detik lagi, dan akhirnya menghentikan motor selama 3 detik. Loop ini akan berulang tanpa batas, memungkinkan kontrol yang berkelanjutan. Untuk wawasan yang lebih detail dan kode lengkap, lihat program lengkap yang dimuat di bawah artikel.
Demonstrasi / Apa yang Diharapkan
Setelah berhasil menghubungkan kabel dan mengunggah kode, Anda akan melihat motor berputar ke satu arah selama 2 detik, berubah arah selama 2 detik lagi, dan kemudian berhenti selama 3 detik. Jika motor tidak merespons seperti yang diharapkan, periksa kesalahan umum seperti polaritas terbalik atau koneksi pin yang salah (di video pada 08:00). Rangkaian ini menyediakan cara yang sederhana untuk mengontrol kecepatan dan arah motor DC menggunakan ESP32 dan L293D.
Stempel Waktu Video
- 00:00 Mulai
- 2:01 Pengenalan motor DC
- 6:14 Driver motor L293D
- 9:17 Dokumen Proyek
- 11:04 Penjelasan Kabel
- 14:41 Kontrol motor Arduino dengan ESP32
- 17:10 Memilih Port Arduino untuk papan ESP32
- 18:52 Demonstrasi proyek
- 22:08 Kontrol Kecepatan Motor menggunakan ESP32
- 26:22 Demo Kontrol Kecepatan
- 28:01 Kode Arduino untuk kontrol Kecepatan dan Arah
- 29:05 Demonstrasi Kecepatan dan Arah
#define motor1A 13
#define motor2A 14
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin as an output.
pinMode(motor1A, OUTPUT);
pinMode(motor2A, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
// Rotate
digitalWrite(motor1A, HIGH);
digitalWrite(motor2A, LOW);
delay(2000);
// Rotate in the opposite direction
digitalWrite(motor1A, LOW);
digitalWrite(motor2A, HIGH);
delay(2000);
// Stop
digitalWrite(motor1A, LOW);
digitalWrite(motor2A, LOW);
delay(3000);
}
Common Course Links
Common Course Files
Hal-hal yang mungkin Anda butuhkan
-
AmazonPurchase L293D motor driver ICamzn.to
-
eBay
-
AliExpressPurchase L293D motor driver IC from AliExpresss.click.aliexpress.com
Sumber daya & referensi
-
DokumentasiESP32 Tutorial 15/55 - SunFounder motor control documentationdocs.sunfounder.com
Berkas📁
Lembar Data (pdf)
-
L293d_Quadruple_half_bridge_datasheet
l293d_Quadruple_half_bridge_datasheet.pdf0.34 MB