()tone در آردوینو یک موج مربعی از فرکانس مشخصشده (و ٪50 چرخهی وظیفه) را روی یک پین ایجاد میکند. یک مدت زمان میتواند تعیین شود وگرنه موج تا زمان فراخوان ()noTone ادامه مییابد. برای پخش tone، پین میتواند به بازر piezo یا هر نوع بلندگوی دیگری متصل شود.
در یک زمان، تنها یک نوع موج میتواند تولید شود. اگر tone در حال اجرا باشد، فراخوانی ()tone روی پینی متفاوت، هیچ تأثیری نخواهد داشت. اگر tone در حال اجرا روی همان پینی که فراخوان انجام میشود، است این فراخوانی، فرکانس را تنظیم خواهد کرد.
استفاده از تابع ()tone با خروجی PWM روی پینهای 3 و 11 تداخل خواهد داشت (روی بردهایی به جز Mega).
برد | حداقل فرکانس (به هرتز) | حداکثر فرکانس (به هرتز) |
Uno, Mega, Leonardo و دیگر بردهای AVR | 31 | 65535 |
Gemma | پیادهسازی نشده | پیادهسازی نشده |
Zero | 41 | 275000 |
Due | پیادهسازی نشده | پیادهسازی نشده |
برای اطلاعات فنی بیشتر به صفحهی Brett Hagman’s notes مراجعه کنید.
نکته
اگر که میخواهید روی چندین پین، گامهای متفاوتی را اجرا کنید باید قبل از اجرای ()tone روی پین بعد، ()noTone را روی یک پین صدا کنید.
سینتکس (نحو)
(tone(pin, frequency
(tone(pin, frequency, duration
پارامترها
pin: پینی که روی آن tone تولید میشود.
frequency: فرکانس tone به هرتز – unsigned int
duration: مدت tone به میلیثانیه – unsigned long
خروجی
هیچ (ندارد)