Search Code

ESP32 ٹیوٹوریل 16/55 - ESP32 اور L293D کا استعمال کرتے ہوئے منی واٹر پمپ | سن فاؤنڈر کا ESP32 IoT لرننگ کٹ

ESP32 ٹیوٹوریل 16/55 - ESP32 اور L293D کا استعمال کرتے ہوئے منی واٹر پمپ | سن فاؤنڈر کا ESP32 IoT لرننگ کٹ

اس ٹیوٹوریل میں، ہم سیکھیں گے کہ ESP32 مائیکروکنٹرولر اور L293D موٹر ڈرائیور کا استعمال کرتے ہوئے 5V واٹر پمپ کو کیسے کنٹرول کیا جائے۔ یہ پروجیکٹ مائیکروکنٹرولرز کے ساتھ موٹر ڈرائیورز استعمال کرنے کا ایک بہترین تعارف ہے، جس سے آپ ان آلات کو کنٹرول کر سکتے ہیں جنہیں مائیکروکنٹرولر سے زیادہ کرنٹ درکار ہوتا ہے۔ اس ٹیوٹوریل کے اختتام تک، آپ کے پاس ایک کام کرنے والا واٹر پمپ ہوگا جسے پروگرام کے ذریعے فعال اور غیر فعال کیا جا سکتا ہے۔

ESP32 ایک طاقتور مائیکروکنٹرولر ہے جو بلٹ ان وائی فائی اور بلوٹوتھ صلاحیتوں کے ساتھ آتا ہے، جو اسے IoT ایپلیکیشنز کے لیے موزوں بناتا ہے۔ L293D موٹر ڈرائیور واٹر پمپ کو کنٹرول کرنے کے لیے استعمال کیا جاتا ہے، جو موٹر کو چلانے کے لیے درکار زیادہ کرنٹ کا انتظام کرتا ہے۔ یہ سیٹ اپ ہمیں پمپ کو شروع اور روکنے کی اجازت دیتا ہے جبکہ ESP32 کو ضرورت سے زیادہ کرنٹ سے محفوظ رکھتا ہے۔

ہارڈویئر کی وضاحت

اس پروجیکٹ میں، ہم ESP32 مائیکروکنٹرولر استعمال کرتے ہیں، جو اپنی استعداد اور کنیکٹیویٹی آپشنز کے لیے جانا جاتا ہے۔ یہ Arduino کی طرح کام کر سکتا ہے جبکہ وائی فائی اور بلوٹوتھ جیسی اضافی خصوصیات بھی فراہم کرتا ہے۔ L293D موٹر ڈرائیور ESP32 اور واٹر پمپ کے درمیان ایک انٹرفیس کا کام کرتا ہے، جس سے مائیکروکنٹرولر پر بوجھ ڈالے بغیر پمپ کے آپریشن کو کنٹرول کیا جا سکتا ہے۔

L293D میں دو H-برجز ہیں، جو اسے موٹر کی سمت اور رفتار کو کنٹرول کرنے کے قابل بناتے ہیں۔ ہر H-برج موٹر کو کسی بھی سمت میں چلا سکتا ہے، جو اسے ان ایپلیکیشنز کے لیے موزوں بناتا ہے جہاں موٹر کنٹرول کی ضرورت ہوتی ہے۔ اس معاملے میں، ہمیں صرف پمپ کو ایک سمت میں چلانے کے قابل بنانے کی ضرورت ہوگی۔

ڈیٹاشیٹ کی تفصیلات

مینوفیکچررٹیکساس انسٹرومینٹس
پارٹ نمبرL293D
لاجک/آئی او وولٹیج4.5 - 36 V
سپلائی وولٹیج4.5 - 36 V
آؤٹ پٹ کرنٹ (فی چینل)600 mA
پیک کرنٹ (فی چینل)1.2 A
PWM فریکوئنسی رہنمائی1 kHz - 10 kHz
ان پٹ لاجک تھریشولڈز2 V (ہائی)، 0.8 V (لو)
وولٹیج ڈراپ / RDS(on) / سیچوریشن1.5 V (زیادہ سے زیادہ)
تھرمل حدود+150 °C (زیادہ سے زیادہ)
پیکیجDIP-16
نوٹس / ویریئنٹسانڈکٹیو لوڈ تحفظ کے لیے بلٹ ان ڈائیوڈز شامل ہیں

  • مسلسل آپریشن کے لیے مناسب گرمی کی تقسیم کو یقینی بنائیں۔
  • مستحکم بجلی کی فراہمی کے لیے ڈیکپلنگ کیپسیٹرز استعمال کریں۔
  • نقصان سے بچنے کے لیے ان پٹ وولٹیج سے محتاط رہیں۔
  • اگر ضرورت ہو تو رفتار کنٹرول کے لیے PWM لاگو کریں۔
  • شارٹ سرکٹ سے بچنے کے لیے وائرنگ چیک کریں، خاص طور پر انڈکٹیو لوڈز کے ساتھ۔

وائرنگ ہدایات

ESP32-16-motor-pump_wiring

ESP32 اور L293D موٹر ڈرائیور کو واٹر پمپ کے ساتھ وائر کرنے کے لیے، ان مراحل کو احتیاط سے فالو کریں۔ پہلے، پاور سپلائی کو L293D سے جوڑیں۔ پن 1 (موٹر A کے لیے انیبل پن) اور پن 8 (Vcc2) کو مثبت وولٹیج سورس (5V) سے جوڑیں۔ پن 4 (گراؤنڈ) کو اپنے سرکٹ کی گراؤنڈ سے جوڑیں۔

اگلا، ESP32 کو L293D سے وائر کریں۔ ESP32 سے GPIO پن 13 کو L293D کے پن 2 (ان پٹ 1) سے جوڑیں، اور GPIO پن 14 کو پن 7 (ان پٹ 2) سے جوڑیں۔ آخر میں، واٹر پمپ کو L293D کے پن 3 (آؤٹ پٹ 1) اور پن 6 (آؤٹ پٹ 2) سے جوڑیں۔ مناسب آپریشن کے لیے تمام گراؤنڈ کنکشنز کو آپس میں جوڑنا یقینی بنائیں۔ اگر آپ ان ہدایات پر عمل کرتے ہیں، تو آپ کی وائرنگ سیدھی اور فعال ہونی چاہیے۔

کوڈ مثالیں اور واک تھرو

کوڈ میں، ہم موٹر کنٹرول کے لیے پن کنکشنز کی وضاحت کرتے ہیں۔ شناخت کنندگان motor1A اور motor2A بالترتیب ESP32 پر GPIO پن 13 اور 14 کے مطابق ہیں۔ یہ پن L293D ڈرائیور کے ذریعے واٹر پمپ کو کنٹرول کریں گے۔

#define motor1A 13
#define motor2A 14

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

setup() فنکشن میں، ہم موٹر کنٹرول پنوں کو آؤٹ پٹ کے طور پر انیشیالائز کرتے ہیں۔ یہ یقینی بناتا ہے کہ ہم پمپ کو کنٹرول کرنے کے لیے L293D ڈرائیور کو سگنل بھیج سکتے ہیں۔ اس کے بعد loop() فنکشن پمپ کے آپریشن کو کنٹرول کرتا ہے۔

void loop() {
  digitalWrite(motor1A, HIGH);     
  digitalWrite(motor2A, LOW);   
  delay(5);
  
  digitalWrite(motor1A, LOW);     
  digitalWrite(motor2A, LOW);    
  delay(2000); // ایک سیکنڈ انتظار کریں
}

loop() فنکشن میں، ہم پمپ شروع کرنے کے لیے motor1A کو HIGH اور motor2A کو LOW سیٹ کرتے ہیں۔ مختصر تاخیر کے بعد، ہم دونوں پنوں کو LOW سیٹ کرکے پمپ روک دیتے ہیں۔ یہ سائیکل غیر معینہ طور پر دہرایا جاتا ہے، جس سے پمپ مختصر مدت کے لیے چلتا ہے اور پھر رک جاتا ہے۔

ڈیمونسٹریشن / کیا توقع کریں

ایک بار جب آپ وائرنگ مکمل کر لیں اور کوڈ اپ لوڈ کر لیں، تو آپ کو واٹر پمپ کو ایک سائیکل میں فعال اور غیر فعال ہوتے دیکھنا چاہیے۔ پمپ مختصر مدت کے لیے چلے گا، پھر رک جائے گا، جس سے آن آف پیٹرن بنے گا۔ یقینی بنائیں کہ آپ کی پاور سپلائی پمپ کی ضروریات کے لیے مناسب ہے تاکہ کسی مسئلے سے بچا جا سکے (ویڈیو میں 09:30 پر)۔

ویڈیو ٹائم اسٹیمپس

  • 00:00 شروع
  • 1:50 پروجیکٹ تعارف
  • 3:17 ہمیں Arduino کے ساتھ L293D کی ضرورت کیوں ہے؟
  • 5:47 واٹر پمپ کی وائرنگ کی وضاحت
  • 10:01 Arduino کوڈ کی وضاحت
  • 12:21 Arduino IDE پر ESP32 کے لیے COM پورٹ منتخب کرنا
  • 14:03 پمپ چلانے کا ڈیمونسٹریشن
  • 15:25 پانی کے ساتھ ڈیمونسٹریشن

تصاویر

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
زبان: 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
}

وسائل اور حوالہ جات

فائلیں📁

ڈیٹا شیٹ (پی ڈی ایف)