آموزش ESP32 14/55 - پخش نت موسیقی سفارشی با استفاده از کیت یادگیری اینترنت اشیاء SunFounder ESP32

آموزش ESP32 14/55 - پخش نت موسیقی سفارشی با استفاده از کیت یادگیری اینترنت اشیاء SunFounder ESP32

در این آموزش، ما یاد خواهیم گرفت که چگونه از میکروکنترلر ESP32 سن‌فاندر استفاده کنیم تا نت‌های موسیقی را با استفاده از یک زنگ غیرفعال و یک ترانزیستور پخش کنیم. هدف این پروژه نشان دادن چگونگی تولید صدا با فرکانس‌های خاص از طریق کنترل زنگ با استفاده از پایه‌های GPIO ESP32 است.

ما یک بوزر غیرفعال را به ESP32 متصل خواهیم کرد که به ما این امکان را می‌دهد تا نت‌های موسیقی مختلفی را بر اساس فرکانسی که ارائه می‌دهیم، تولید کنیم. این تنظیم شامل استفاده از یک ترانزیستور برای روشن و خاموش کردن بوزر در سرعت‌های بالا است، که امواج صوتی ایجاد می‌کند که می‌توانیم بشنویم. برای توضیحات بیشتر در مورد پروژه، حتماً ویدیو را ببینید (در ویدیو در ۰۰:۳۰).

ESP32-13-سکیماتیک-buzzer

توضیح سخت‌افزار

اجزای اصلی مورد استفاده در این پروژه شامل میکروکنترلر ESP32 ساخت SunFounder، یک بوزر غیرفعال و یک ترانزیستور NPN (2N8050) است. ESP32 یک برد توسعه قدرتمند است که دارای قابلیت‌های Wi-Fi و بلوتوث داخلی می‌باشد و آن را برای کاربردهای مختلف اینترنت اشیاء مناسب می‌سازد. در این مورد، این میکروکنترلر سیگنال‌هایی تولید خواهد کرد تا بوزر را کنترل کند.

بزzer غیرفعال با تولید صدا زمانی که ولتاژ متناوب به آن اعمال می‌شود، کار می‌کند. بر خلاف buzzer های فعال که دارای یک نوسان‌ساز داخلی هستند، buzzer های غیرفعال به یک سیگنال خارجی برای تولید صدا نیاز دارند. ترانزیستور به عنوان یک کلید عمل می‌کند و به ESP32 اجازه می‌دهد تا buzzer را بدون تأمین مستقیم برق کنترل کند و اطمینان حاصل کند که جریان مجاز میکروکنترلر تجاوز نکند.

S87050_transistor

جزئیات دیتاشیت

سازنده سان فاوندر
شماره قطعه بuzzer غیرفعال
ولتاژ عملیاتی ۳.۳ ولت - ۵ ولت
فرکانس رزونانسی ۲ کیلوهرتز - ۴ کیلوهرتز
مصرف کنونی ≤ ۳۰ میلی آمپر
سطح فشار صوت ≥ 70 دسی بل
بسته سوراخ عبوری
یادداشت‌ها / متغیرها None

  • هنگام اتصال زنگ، از قطبیت صحیح اطمینان حاصل کنید.
  • از یک مقاومت محدودکننده جریان برای پایه ترانزیستور استفاده کنید.
  • بuzzer را به یک منبع تغذیه متناسب با ولتاژ آن متصل کنید.
  • مراقب باشید که حداکثر میزان جریان ترانزیستور را فراتر نروید.
  • سیم‌کشی را مرتب نگه‌ دارید تا از بروز اتصالی کوتاه جلوگیری شود.
  • مدار را قبل از بارگذاری شِفر (کود) آزمایش کنید تا از آسیب به قطعات جلوگیری شود.
  • از یک برد آزمایشی برای اتصالات آسان قطعات استفاده کنید.
  • اطمینان حاصل کنید که در صورت استفاده از دکمه‌ها، ورودی‌ها را دیباچ کنید.
  • در نظر داشته باشید که اگر ترانزیستور در جریان بالا استفاده شود، یک هیت سینک اضافه کنید.

راهنمایی‌های سیم‌کشی

ESP32-13-buzzer-wriing

برای اتصال اجزا، ابتدا پایه مثبت بوق غیرفعال را به پایانه ۳.۳ ولت روی ESP32 وصل کنید. پایه منفی بوق باید به کلکتور ترانزیستور NPN متصل شود. پایانه امیتر ترانزیستور باید به زمین (GND) ESP32 متصل شود.

سپس یک مقاومت ۱ کیلو اهمی از پایه ترانزیستور به پایه GPIO ۱۴ روی ESP32 متصل کنید. این مقاومت جریان ورودی به پایه ترانزیستور را محدود می‌کند. در نهایت، اطمینان حاصل کنید که تمام اتصالات زمین به هم متصل شده‌اند تا یک مرجع مشترک برای مدار فراهم شود.

مثال‌های شِفر (کود) و راهنمایی

const int buzzerPin = 14; // the buzzer pin

void setup()
{
  pinMode(buzzerPin, OUTPUT); // Set as output
}

در شِفر (کود)، یک متغیر ثابت تعریف می‌کنیمbuzzerPinکه بر روی 14 تنظیم شده است، که نشان‌دهنده پایه GPIO متصل به پایه ترانزیستور است. درsetup()در این تابع، این پایه را به عنوان خروجی تنظیم می‌کنیم تا ESP32 بتواند زنگ را کنترل کند.

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
}

متن:loop()تابع شامل یک حلقه for است که 50 بار اجرا می‌شود. هر بار حلقه زنگ را به سرعت روشن و خاموش می‌کند و یک صدا تولید می‌کند. تأخیرهای 3 میلی‌ثانیه کنترل می‌کنند که زنگ به چه مدت فعال و غیرفعال باشد، در حالی که یک تأخیر 1 ثانیه‌ای در انتهای حلقه یک وقفه قبل از تکرار فراهم می‌آورد.

نمایشگاه / چه انتظاری باید داشت

پس از اتمام سیم‌کشی و بارگذاری شِفر (کود)، باید صدای مجموعه‌ای از صداهای کوتاه تولید شده توسط بوق را بشنوید. اگر بوق صدا نمی‌دهد، اتصالات خود را بررسی کنید، به ویژه جهت ترانزیستور و مقدار مقاومت. اطمینان حاصل کنید که پایه صحیح در شِفر (کود) استفاده شده و ESP32 به درستی تغذیه می‌شود.

در حین نمایش، اگر با مشکلاتی مواجه شدید، ممکن است به دلیل سیم‌کشی نادرست یا استفاده از پایه نادرست برای زنگ باشد. سیم‌کشی را با دستورالعمل‌ها بررسی کنید و اطمینان حاصل کنید که منبع تغذیه کافی است (در ویدیو در 08:15).

زمان‌بندی ویدیو

  • ۰۰:۰۰ شروع
  • ۱:۵۲ معرفی پروژه
  • 4:11 توضیح سیم‌کشی
  • انتخاب برد ESP32 و پورت COM در Arduino IDE:11
  • شِفر (کود) آردوینو ساعت ۹:۵۳ توضیح داده شده است
  • :17 نمایش پروژه
  • شِفر (کود) و نمایش پروژه 2 :58

تصاویر

ESP32-13-buzzer-wriing
ESP32-13-buzzer-wriing
ESP32-13-buzzer-schematic
ESP32-13-buzzer-schematic
SunFounder-ESP32-Lesson-13-Beep.mp4_snapshot_07.43.463
SunFounder-ESP32-Lesson-13-Beep.mp4_snapshot_07.43.463
S87050_transistor
S87050_transistor
813-ESP32 Tutorial 14/55- Arduino code for custom music tone
زبان: C++
کپی شد!

منابع و مراجع

فایل‌ها📁

برگه مشخصات (pdf)