🤖 روبومیکرآموزش آردوینوشبیه‌ساز آنلاین
روبومیکرآموزش آردوینوبازر و موسیقی با کد (tone)

بازر و موسیقی با کد (tone)

در این درس یاد می‌گیری چطور با آردوینو و یک بازر صدا و حتی یک ملودی کوتاه بسازی. ابزار اصلی ما دو دستور ساده است: tone() برای تولید صدا و noTone() برای قطع آن.

دستور tone چطور کار می‌کند؟

دستور tone() یک موج با فرکانس مشخص روی پایه می‌سازد. هرچه فرکانس بیشتر باشد، صدا زیرتر (نازک‌تر) می‌شود. شکل کلی آن این است:

tone(pin, frequency);
tone(pin, frequency, duration);
noTone(pin);

پارامتر اول شماره پایه‌ای است که بازر به آن وصل شده، پارامتر دوم فرکانس بر حسب هرتز (Hz) و پارامتر سوم (اختیاری) مدت زمان صدا بر حسب میلی‌ثانیه است.

پخش چند نوت موسیقی

هر نوت موسیقی یک فرکانس مشخص دارد. مثلاً نوت «دو» (C4) برابر ۲۶۲ هرتز و نوت «می» (E4) برابر ۳۳۰ هرتز است. در کد زیر یک ملودی کوتاه پخش می‌کنیم. فرض کن بازر به پایه ۸ وصل است:

int buzzer = 8;

void setup() {
  pinMode(buzzer, OUTPUT);
}

void loop() {
  tone(buzzer, 262); // نوت دو
  delay(400);
  tone(buzzer, 330); // نوت می
  delay(400);
  tone(buzzer, 392); // نوت سل
  delay(400);
  tone(buzzer, 523); // نوت دوی بالا
  delay(400);

  noTone(buzzer); // قطع صدا
  delay(1000);    // یک ثانیه سکوت
}

در این برنامه چهار نوت پشت سر هم با فاصله ۴۰۰ میلی‌ثانیه پخش می‌شوند، بعد صدا قطع می‌شود و یک ثانیه سکوت داریم؛ سپس ملودی دوباره تکرار می‌شود. می‌توانی فرکانس‌ها و زمان‌ها را عوض کنی تا ملودی دلخواه خودت را بسازی.

نکته: دو نوع بازر داریم. بازر پسیو (Passive) به دستور tone() نیاز دارد و می‌تواند نوت‌های مختلف بزند. اما بازر اکتیو (Active) خودش یک صدای ثابت دارد و فقط با digitalWrite روشن و خاموش می‌شود. برای موسیقی حتماً از بازر پسیو استفاده کن.

این کد را همین حالا در حالت کدنویسی شبیه‌ساز روبومیکر بنویس و اجرا کن.

🔌 همین حالا توی شبیه‌ساز آنلاین روبومیکر امتحان کن — رایگان و بدون نصب