اس ٹیوٹوریل میں، ہم سیکھیں گے کہ ESP32 مائیکروکنٹرولر اور ٹرانزسٹر کا استعمال کرتے ہوئے ایک ایکٹو بزر کو کیسے کنٹرول کیا جائے۔ اس پروجیکٹ میں بزر کو آن اور آف کرنا شامل ہے، جس سے بیپ کی آواز پیدا ہوتی ہے۔ ESP32 کی بلٹ ان وائی فائی اور بلوٹوتھ صلاحیتوں کے ساتھ، آپ اس پروجیکٹ کو مستقبل میں مزید پیچیدہ IoT ایپلیکیشنز میں توسیع دے سکتے ہیں۔
ہم جو اجزاء استعمال کریں گے ان میں ESP32 بورڈ، ایک ایکٹو بزر، ایک ٹرانزسٹر (S8050)، اور ایک ریزسٹر شامل ہیں۔ ان اجزاء کو صحیح طریقے سے وائر کرنے سے، ہم ESP32 کے ذریعے بزر کی آواز کو کنٹرول کر سکتے ہیں۔ مزید برآں، ہم اس پروجیکٹ کو چلانے کے لیے ضروری وائرنگ اور کوڈ کا ایک مختصر جائزہ فراہم کریں گے۔ مزید وضاحت کے لیے، اس ٹیوٹوریل کے ساتھ موجود ویڈیو ضرور دیکھیں (ویڈیو میں 00:00 پر)۔
S87050_transistor
ہارڈویئر کی وضاحت
اس پروجیکٹ کے اہم اجزاء میں ESP32 مائیکروکنٹرولر، ایکٹو بزر، اور S8050 ٹرانزسٹر شامل ہیں۔ ESP32 ایک طاقتور مائیکروکنٹرولر ہے جس میں وائی فائی اور بلوٹوتھ دونوں شامل ہیں، جو IoT پروجیکٹس کی ایک وسیع رینج کی اجازت دیتا ہے۔ ایکٹو بزر وولٹیج لگانے پر آواز پیدا کرتا ہے، جبکہ S8050 ٹرانزسٹر ایک سوئچ کے طور پر کام کرتا ہے تاکہ ESP32 سے کم وولٹیج سگنل کے ساتھ بزر کو کنٹرول کیا جا سکے۔
ٹرانزسٹر کے تین پن ہوتے ہیں: کلکٹر، بیس، اور ایمیٹر۔ جب ریزسٹر کے ذریعے بیس پن پر وولٹیج لگائی جاتی ہے، تو یہ کلکٹر سے ایمیٹر تک کرنٹ بہنے دیتا ہے، اس طرح بزر کو پاور ملتی ہے۔ یہ سیٹ اپ اس بات کو یقینی بناتا ہے کہ ہم ESP32 کے GPIO پنوں کو اوور لوڈ کیے بغیر بزر کو محفوظ طریقے سے کنٹرول کر سکتے ہیں۔
ESP32-13-buzzer-schematic
ڈیٹاشیٹ کی تفصیلات
مینوفیکچرر
سن فاؤنڈر
پارٹ نمبر
TMBB 12 A05
آپریٹنگ وولٹیج
3–8 V
ریٹیڈ وولٹیج
5 V
زیادہ سے زیادہ کرنٹ
30 mA
آسکیلیٹنگ فریکوئنسی
2700 ± 300 Hz
ٹرانزسٹر کے بیس تک کرنٹ محدود کرنے کے لیے 1 kΩ ریزسٹر استعمال کریں۔
یقینی بنائیں کہ ایکٹو بزر مثبت اور منفی ٹرمینلز کے ساتھ صحیح طریقے سے جڑا ہوا ہے۔
شارٹ سرکٹ سے بچنے کے لیے پن کنکشنز کو دوبارہ چیک کریں۔
آسان کنکشنز اور ایڈجسٹمنٹ کے لیے بریڈ بورڈ استعمال کریں۔
بزر 3.3V اور 5V دونوں پر کام کر سکتا ہے، لیکن اسے اپنے سرکٹ کی ضروریات کے مطابق پاور کریں۔
وائرنگ ہدایات
ESP32-13-buzzer-wriing
اجزاء کو وائر کرنے کے لیے، پہلے ایکٹو بزر کو بریڈ بورڈ میں لگائیں۔ بزر کے مثبت ٹرمینل کو ESP32 کے 3.3V پن سے جوڑیں۔ بزر کا منفی ٹرمینل S8050 ٹرانزسٹر کے کلکٹر پن سے منسلک ہونا چاہیے۔ اگلا، S8050 ٹرانزسٹر کو بریڈ بورڈ میں لگائیں، اس بات کو یقینی بناتے ہوئے کہ چپٹی سائیڈ آپ کی طرف ہے۔ بائیں پن (کلکٹر) بزر کے منفی ٹرمینل سے جڑتا ہے، درمیانی پن (بیس) 1 kΩ ریزسٹر سے جڑتا ہے، اور دائیں پن (ایمیٹر) گراؤنڈ سے جڑتا ہے۔
اب، 1 kΩ ریزسٹر کا دوسرا سرا لیں اور اسے ESP32 کے GPIO پن 14 سے جوڑیں۔ آخر میں، ٹرانزسٹر کے ایمیٹر پن کو بریڈ بورڈ پر گراؤنڈ ریل سے جوڑیں۔ یقینی بنائیں کہ تمام کنکشنز محفوظ ہیں اور سرکٹ کو پاور دینے سے پہلے پنوں کی سیدھ کو دوبارہ چیک کریں۔
کوڈ مثالیں اور واک تھرو
یہاں بزر کو کنٹرول کرنے والے کوڈ کا ایک مختصر جائزہ ہے۔ پہلے، ہم بزر سے منسلک پن کی وضاحت کرتے ہیں:
const int buzzerPin = 14; // بزر پن
یہ لائن متغیر buzzerPin کو ESP32 کے پن 14 سے منسلک کرنے کے لیے ترتیب دیتی ہے، جو بزر کو کنٹرول کرنے کے لیے استعمال ہوتا ہے۔
اگلا، ہم setup() فنکشن میں بزر پن کو آؤٹ پٹ کے طور پر سیٹ کرتے ہیں:
void setup()
{
pinMode(buzzerPin, OUTPUT); // آؤٹ پٹ کے طور پر سیٹ کریں
}
یہ اس بات کو یقینی بناتا ہے کہ ESP32 کو معلوم ہو کہ پن 14 کو بزر کو آن اور آف کرنے کے لیے سگنل بھیجنے کے لیے استعمال کرنا ہے۔
loop() فنکشن میں، ہم بزر کو متعدد بار فعال کرنے کے لیے ایک فار لوپ بناتے ہیں:
for (int i = 0; i < 50; i++) // 50 بار لوپ کریں اور ہر بار ایک مختصر ٹون بجائیں
{
digitalWrite(buzzerPin, HIGH); // بزر کی آواز کے لیے HIGH سیٹ کریں
delay(3); // 3 ملی سیکنڈ انتظار کریں
digitalWrite(buzzerPin, LOW); // بزر کو بند کرنے کے لیے LOW
delay(3); //
}
یہ لوپ بزر کو 50 بار بیپ کرائے گا، ہر بیپ 3 ملی سیکنڈ تک جاری رہے گی۔ لوپ مکمل ہونے کے بعد، دہرانے سے پہلے 1 سیکنڈ کا وقفہ ہوتا ہے۔
ڈیموسٹریشن / کیا توقع کریں
جب وائرنگ اور کوڈ صحیح طریقے سے ترتیب دیے جائیں، تو ESP32 کو پاور دینے سے بزر فعال ہو جائے گا، جس سے بیپوں کا ایک سلسلہ پیدا ہوگا۔ اگر بزر آواز نہیں دیتا ہے، تو کنکشنز کو چیک کریں، خاص طور پر ٹرانزسٹر اور ریزسٹر کی سمت۔ یقینی بنائیں کہ کوڈ میں صحیح GPIO پن استعمال ہو رہا ہے اور پاور سپلائی مناسب ہے (ویڈیو میں 01:30 پر)۔
812-ESP32 Tutorial 13/55- Arduino code for controlling buzzer
زبان: C++
const int buzzerPin = 14; // the buzzer pin
void setup()
{
pinMode(buzzerPin, OUTPUT); // Set as output
}
void loop()
{
for (int i = 0; i < 50; i++) // Loop 50 times and play a short tone each time
{
digitalWrite(buzzerPin, HIGH); // Set to HIGH to make the buzzer sound
delay(3); // Wait for 3 milliseconds
digitalWrite(buzzerPin, LOW); // LOW to turn off the buzzer
delay(3); //
}
delay(1000); // Wait for 1s before starting the next loop
}
افشاء: ایک ایمیزون ایسوسی ایٹ کے طور پر، ہم اہل خریداریوں سے کمائی کرتے ہیں۔ اس کا مطلب ہے کہ اگر آپ ایک لنک پر کلک کرتے ہیں اور بغیر کسی اضافی قیمت کے خریداری کرتے ہیں تو ہمیں ایک چھوٹا کمیشن مل سکتا ہے۔