- Библиотеки
- Операторы
- Sketch
- Управляющие операторы
- Синтаксис
- Арифметические операторы
- Операторы сравнения
- Логические операторы
- Указатели доступа
- Битовые операторы
- Составные операторы
- Данные
- Типы данных
- Преобразование типов данных
- Область видимости переменных и квалификаторы
- Утилиты
- Функции
- Цифровой ввод/вывод
- Аналоговый вход/выход
- Расширенный ввод/вывод
- Функция tone()
- Время
- Математические функции
- Тригонометрические функции
- Символы
- Случайные числа
- Биты и байты
- Внешние Прерывания
- Прерывания
- Функции передачи данных
- Функции
Функция tone()
Описание
Генерирует на выводе прямоугольный сигнал заданной частоты (с коэффициентом заполнения 50%). Функция также позволяет задавать длительность сигнала. Однако, если длительность сигнала не указана, он будет генерироваться до тех пор, пока не будет вызвана функция noTone(). Для воспроизведения звука вывод можно подключить к зуммеру или динамику.
В каждый момент времени может генерироваться только один сигнал заданной частоты. Если сигнал уже генерируется на каком-либо выводе, то использование функции tone() для этого вывода просто приведет к изменению частоты этого сигнала. В то же время вызов функции tone() для другого вывода не будет иметь никакого эффекта.
Использование функции tone() может влиять на ШИМ-сигнал на выводах 3 и 11 (на всех платах, кроме Mega).
ПРИМЕЧАНИЕ: для воспроизведение разных звуков на нескольких выводах, необходимо сперва вызывать noTone() на одном выводе и только после этого использовать функцию tone() на следующем.
Синтаксис
tone(pin, frequency)
tone(pin, frequency, duration)
Параметры
pin: вывод, на котором будет генерироваться сигнал
frequency: частота сигнала в Герцах - unsigned int
duration: длительность сигнала в миллисекундах (опционально) - unsigned long
Возвращаемые значения
нет
const int SoundPin = 9; // Пин подключения пьезоизлучателя – 9 дискретный
int DelaySound = 1000; // Пауза 1 секунда
void setup()
{
}
void loop()
{
// Пример использования tone()
//tone(pin, частота)
tone(SoundPin, 1915); // Воспроизводим сигнал с частотой 1915 Гц
delay(DelaySound); // Пауза 1 секунда (1000 миллисекунд – значение переменной DelaySound ) – длительность воспроизведения сигнала
tone(SoundPin, 1700);
delay(DelaySound);
tone(SoundPin, 1519);
delay(DelaySound);
tone(SoundPin, 1432);
delay(DelaySound);
tone(SoundPin, 1275);
delay(DelaySound);
tone(SoundPin, 1136);
delay(DelaySound);
tone(SoundPin, 1014);
delay(DelaySound);
noTone(9); // Выключаем звук
}
loop тогда не будет перезапускаться
tone(SoundPin, 630); // где SoundPin - номер вывода, например "9", 630 - оптимальное значение из приведённых выше
Функция всего лишь генерирует заданную частоту на указанном выводе.