در این آموزش، یاد خواهیم گرفت که چگونه یک زنگ بوق فعال را با استفاده از میکروکنترلر ESP32 و یک ترانزیستور کنترل کنیم. این پروژه شامل روشن و خاموش کردن زنگ بوق و ایجاد صدای بوق است. با قابلیتهای Wi-Fi و بلوتوث داخلی ESP32، میتوانید این پروژه را به برنامههای پیچیدهتر IoT در آینده گسترش دهید.
اجزایی که استفاده خواهیم کرد شامل برد ESP32، یک بیزر فعال، یک ترانزیستور (S8050) و یک مقاومت است. با سیمکشی صحیح این اجزا، میتوانیم صدای بیزر را از طریق ESP32 کنترل کنیم. علاوه بر این، یک مرور کلی از سیمکشی و کدی که برای راهاندازی این پروژه ضروری است ارائه خواهیم داد. برای توضیحات بیشتر، حتماً ویدیوی همراه با این آموزش را بررسی کنید (در ویدیو در :00).
S87050_transistor
توضیحاتی درباره سختافزار
عناصر اصلی این پروژه شامل میکروکنترلر ESP32، بوق فعال و ترانزیستور S8050 است. ESP32 یک میکروکنترلر قدرتمند است که دارای وایفای و بلوتوث میباشد و امکان انجام پروژههای متنوع اینترنت اشیا را فراهم میآورد. بوق فعال زمانی صدا تولید میکند که ولتاژی به آن اعمال شود، در حالی که ترانزیستور S8050 به عنوان یک سوئیچ عمل میکند تا بوق را با سیگنال ولتاژ پایین از ESP32 کنترل کند.
ترانزیستور دارای سه پایه است: کلکتور، بیس و امیتر. هنگامی که یک ولتاژ از طریق یک مقاومت به پایه بیس اعمال میشود، این امکان را برای جریان فراهم میکند که از کلکتور به امیتر جریان یابد و در نتیجه زنگ هشدار را فعال کند. این تنظیمات اطمینان حاصل میکند که میتوانیم زنگ هشدار را بهصورت ایمن کنترل کنیم بدون اینکه پایههای GPIOESP32 را بارگذاری کنیم.
طرح شماتیک بیزر ESP32-13
جزئیات برگه اطلاعات
تولیدکننده
سان فاوندر
شماره قطعه
TMBB 12 A05
ولتاژ عملیاتی
۳-۸ ولت
ولتاژ نامی
۵ ولت
جریان حداکثر
۳۰ میلیآمپر
فرکانس نوسانی
۲۷۰۰ ± ۳۰۰ هرتز
از یک مقاومت 1 کیلو اهمی برای محدود کردن جریان به بیس ترانزیستور استفاده کنید.
اطمینان حاصل کنید که بوق فعال به درستی به پایههای مثبت و منفی متصل شده است.
اتصالات پایه را دوباره بررسی کنید تا از وقوع اتصال کوتاه جلوگیری شود.
از یک برد بورد برای اتصالات و تنظیمات آسانتر استفاده کنید.
بزر میتواند هم در 3.3V و هم در 5V کار کند، اما آن را بر اساس نیازهای مدار خود تأمین کنید.
دستورالعملهای سیمکشی
ESP32-13-buzzer-wriing
برای سیمکشی اجزاء، ابتدا بuzzer فعال را به برد نانویی وارد کنید. پایه مثبت buzzer را به پایه 3.3V روی ESP32 متصل کنید. پایه منفی buzzer باید به پایه کلکتور ترانزیستور S8050 متصل شود. سپس ترانزیستور S8050 را به برد نانویی وارد کنید و مطمئن شوید که سمت صاف آن به سمت شماست. پایه چپ (کلکتور) به پایه منفی buzzer متصل میشود، پایه وسط (بیس) به یک مقاومت 1 kΩ متصل میشود و پایه راست (امیتور) به زمین متصل میشود.
حال، انتهای دیگر مقاومت 1 کیلو اهمی را به پایه GPIO 14 در ESP32 متصل کنید. در نهایت، پایه امیتر ترانزیستور را به ریل زمین در بورد نانویی وصل کنید. اطمینان حاصل کنید که همه اتصالات محکم هستند و قبل از راهاندازی مدار، تراز شدن پایهها را دوباره بررسی کنید.
نمونههای کدنویسی و راهنمایی
در اینجا یک مرور کلی از کدی که زنگ را کنترل میکند ارائه شده است. ابتدا، پینی که به زنگ متصل است را تعریف میکنیم:
const int buzzerPin = 14; // the buzzer pin
این خط متغیر را تنظیم می کندbuzzerPinبه پایه 14 روی ESP32 اشاره کنید، که برای کنترل زنگ هشدار استفاده میشود.
بعد، پایه بوق را به عنوان یک خروجی تنظیم میکنیم درsetup()عملکرد:
void setup()
{
pinMode(buzzerPin, OUTPUT); // Set as output
}
این اطمینان میدهد که ESP32 میداند از پایه 14 برای ارسال سیگنالها به بیزر برای روشن و خاموش کردن استفاده کند.
در loop()تابع، ما یک حلقه for ایجاد میکنیم تا بوق را چندین بار فعال کنیم:
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); //
}
این حلقه باعث میشود بوزر 50 بار بوق بزند، که هر بوق 3 میلیثانیه طول میکشد. پس از اتمام حلقه، یک تأخیر 1 ثانیهای قبل از تکرار وجود دارد.
نمایشگاه / چه انتظاری داشته باشیم
هنگامی که سیمکشی و شِفر (کود) بهدرستی تنظیم شده باشند، روشن کردن ESP32 باید بوق را فعال کند و یک سری بوق تولید کند. اگر بوق صدا نداد، اتصالات را بررسی کنید، بهویژه جهت ترانزیستور و مقاومت. اطمینان حاصل کنید که پایه GPIO صحیح در شِفر (کود) استفاده میشود و منبع تغذیه کافی است (در ویدئو در 01:30).