Search Code

Tutorial ESP32 16/55 - Pompa Air Mini menggunakan ESP32 dan L293D | Kit Pembelajaran IoT ESP32 SunFounder

Tutorial ESP32 16/55 - Pompa Air Mini menggunakan ESP32 dan L293D | Kit Pembelajaran IoT ESP32 SunFounder

Dalam tutorial ini, kita akan mempelajari cara mengendalikan pompa air 5V menggunakan mikrokontroler ESP32 dan driver motor L293D. Proyek ini merupakan pengenalan yang bagus untuk menggunakan driver motor dengan mikrokontroler, memungkinkan Anda mengendalikan perangkat yang membutuhkan arus lebih besar daripada yang dapat disediakan langsung oleh mikrokontroler. Di akhir tutorial ini, Anda akan memiliki pompa air yang berfungsi yang dapat diaktifkan dan dinonaktifkan secara terprogram.

ESP32 adalah mikrokontroler yang kuat yang dilengkapi dengan kemampuan Wi-Fi dan Bluetooth bawaan, membuatnya cocok untuk aplikasi IoT. Driver motor L293D digunakan untuk mengendalikan pompa air dengan mengelola arus yang lebih tinggi yang diperlukan untuk mengoperasikan motor. Pengaturan ini memungkinkan kita untuk menyalakan dan menghentikan pompa sambil memastikan bahwa ESP32 tetap aman dari penarikan arus yang berlebihan.

Penjelasan Perangkat Keras

Dalam proyek ini, kita menggunakan mikrokontroler ESP32, yang dikenal karena fleksibilitas dan opsi konektivitasnya. Ini dapat berfungsi seperti Arduino sambil menawarkan fitur tambahan seperti Wi-Fi dan Bluetooth. Driver motor L293D bertindak sebagai antarmuka antara ESP32 dan pompa air, memungkinkan kontrol operasi pompa tanpa membebani mikrokontroler.

L293D memiliki dua jembatan-H, memungkinkannya untuk mengendalikan arah dan kecepatan motor. Setiap jembatan-H dapat menggerakkan motor ke salah satu arah, membuatnya cocok untuk aplikasi yang membutuhkan kontrol motor. Dalam kasus ini, kita hanya perlu mengaktifkan pompa untuk berjalan dalam satu arah.

Detail Datasheet

ProdusenTexas Instruments
Nomor bagianL293D
Tegangan logika/IO4,5 - 36 V
Tegangan suplai4,5 - 36 V
Arus keluaran (per saluran)600 mA
Arus puncak (per saluran)1,2 A
Panduan frekuensi PWM1 kHz - 10 kHz
Ambang logika masukan2 V (tinggi), 0,8 V (rendah)
Penurunan tegangan / RDS(on) / saturasi1,5 V (maks)
Batas termal+150 °C (maks)
KemasanDIP-16
Catatan / varianTermasuk dioda bawaan untuk perlindungan beban induktif

  • Pastikan pembuangan panas yang tepat untuk operasi berkelanjutan.
  • Gunakan kapasitor decoupling untuk catu daya yang stabil.
  • Berhati-hatilah dengan tegangan masukan untuk mencegah kerusakan.
  • Terapkan PWM untuk kontrol kecepatan jika diperlukan.
  • Periksa kabel untuk menghindari korsleting, terutama dengan beban induktif.

Instruksi Pengkabelan

ESP32-16-motor-pump_wiring

Untuk menghubungkan ESP32 dan driver motor L293D dengan pompa air, ikuti langkah-langkah ini dengan hati-hati. Pertama, sambungkan catu daya ke L293D. Hubungkan pin 1 (pin enable untuk motor A) dan pin 8 (Vcc2) ke sumber tegangan positif (5V). Hubungkan pin 4 (ground) ke ground rangkaian Anda.

Selanjutnya, hubungkan ESP32 ke L293D. Hubungkan pin GPIO 13 dari ESP32 ke pin 2 (input 1) pada L293D, dan pin GPIO 14 ke pin 7 (input 2). Terakhir, sambungkan pompa air ke pin 3 (output 1) dan pin 6 (output 2) dari L293D. Pastikan semua koneksi ground disatukan untuk operasi yang benar. Jika Anda mengikuti instruksi ini, pengkabelan Anda harus mudah dan berfungsi.

Contoh Kode & Penjelasan

Dalam kode, kita mendefinisikan koneksi pin untuk kontrol motor. Pengidentifikasi motor1A dan motor2A masing-masing sesuai dengan pin GPIO 13 dan 14 pada ESP32. Pin-pin ini akan mengendalikan pompa air melalui driver L293D.

#define motor1A 13
#define motor2A 14

void setup() {
  pinMode(motor1A, OUTPUT);
  pinMode(motor2A, OUTPUT);  
}

Dalam fungsi setup(), kita menginisialisasi pin kontrol motor sebagai output. Ini memastikan bahwa kita dapat mengirim sinyal ke driver L293D untuk mengendalikan pompa. Fungsi loop() kemudian mengendalikan operasi pompa.

void loop() {
  digitalWrite(motor1A, HIGH);     
  digitalWrite(motor2A, LOW);   
  delay(5);
  
  digitalWrite(motor1A, LOW);     
  digitalWrite(motor2A, LOW);    
  delay(2000); // tunggu selama satu detik
}

Dalam fungsi loop(), kita mengatur motor1A ke HIGH dan motor2A ke LOW untuk menyalakan pompa. Setelah penundaan singkat, kita menghentikan pompa dengan mengatur kedua pin ke LOW. Siklus ini berulang tanpa batas, memungkinkan pompa berjalan untuk waktu singkat dan kemudian berhenti.

Demonstrasi / Apa yang Diharapkan

Setelah Anda menyelesaikan pengkabelan dan mengunggah kode, Anda akan melihat pompa air aktif dan nonaktif dalam satu siklus. Pompa akan berjalan untuk durasi singkat, lalu berhenti, menciptakan pola hidup-mati. Pastikan catu daya Anda memadai untuk kebutuhan pompa untuk menghindari masalah (dalam video pada 09:30).

Stempel Waktu Video

  • 00:00 Mulai
  • 1:50 Pengenalan Proyek
  • 3:17 Mengapa kita membutuhkan L293D dengan Arduino?
  • 5:47 Pengkabelan untuk pompa air dijelaskan
  • 10:01 Kode Arduino dijelaskan
  • 12:21 Memilih port COM untuk ESP32 di Arduino IDE
  • 14:03 Demonstrasi menjalankan pompa
  • 15:25 Demonstrasi dengan air

Gambar

ESP32-15_L293D_motor_schematic
ESP32-15_L293D_motor_schematic
ESP32-16-motor-pump_wiring
ESP32-16-motor-pump_wiring
5V DC water pump
5V DC water pump
815-ESP32 Tutorial 16/55 - Arduino code to control DC water pump
Bahasa: C++
#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(5);

  // Stop
  digitalWrite(motor1A, LOW);     
  digitalWrite(motor2A, LOW);    
  delay(2000); // wait for a second
}

Sumber daya & referensi

Berkas📁

Lembar Data (pdf)