Описание
Генерирует на контакте прямоугольный сигнал заданной частоты (с коэффициентом заполнения 50% - меандр). Функция также позволяет задавать длительность сигнала. Однако, если длительность сигнала не указана, он будет генерироваться до тех пор, пока не будет вызвана функция noTone(). Для воспроизведения звука контакт можно подключить к пьезоизлучателю или динамику.
Учитывайте, что одновременно может проигрываться только один тональный сигнал. Если сигнал уже генерируется на каком-либо контакте, то использование функции tone() для него просто приведет к изменению частоты этого сигнала. В то же время вызов функции tone() для другого контакта не будет иметь никакого эффекта.
Использование функции tone() конфликтует с генерацией ШИМ-сигнала на 3 и 11 контактах (на всех платах, кроме Arduino Mega).
Функция не может генерировать тональные сигналы ниже 31 Гц. (Подробности см. Brett Hagman's notes.)
ПРИМЕЧАНИЕ: для воспроизведение разных звуков на нескольких контактах, необходимо сперва вызывать noTone() на одном выводе и только после этого использовать функцию tone() на следующем.
Синтаксис
tone(pin, frequency);
tone(pin, frequency, duration);
Параметры
pin - номер контакта, на котором будет генерироваться сигнал.
frequency - частота генерируемого тона в Герцах (unsigned int).
duration - длительность сигнала в миллисекундах (опциональна - unsigned long).
Возвращаемые значения
нет
Смотрите также:
noTone()
analogWrite()
Инструкция: Воспроизведение мелодии
Инструкция: Повторение звуков
Инструкция: Простая клавиатура
Инструкция: Одновременное воспроизведение нот
Инструкция: ШИМ
Справочник
Материалы взяты с официального сайта проекта Arduino и представлены по лицензии Creative Commons Attribution-ShareAlike 3.0 License.
Источник: http://arduino.cc/en/Reference/Tone |