Сейчас ваша корзина пуста!
tone()
tone() — функция для генерации прямоугольного сигнала заданной частоты на цифровом пине Arduino. Используется для воспроизведения звуковых сигналов через пьезоэлемент или динамик.
Принцип работы
Функция генерирует прямоугольный сигнал с 50% рабочим циклом. Если длительность не указана, сигнал будет воспроизводиться до вызова функции noTone().
Синтаксис
tone( pin , frequency , [duration] )Параметры
pin - номер пина, на котором будет генерироваться сигнал
frequency - частота сигнала в Герцах (Гц)
[duration] - (опционально) длительность сигнала в миллисекундах
Пример
//
// Пример базового использования
//
void setup() {
pinMode(8, OUTPUT); // Инициализация пина 8 как выход
}
void loop() {
tone(8, 1000); // Воспроизведение тона 1000 Гц
delay(1000);
noTone(8); // Остановка звука
delay(500);
}
//
// Пример с длительностью
//
void setup() {
pinMode(9, OUTPUT); // Настройка пина 9
}
void loop() {
tone(9, 2000, 500); // Тон 2000 Гц длительностью 500 мс
delay(200);
tone(9, 1500, 500); // Смена частоты
delay(200);
}Примечание
Важные особенности
- Одновременно может воспроизводиться только один звуковой сигнал
- При попытке запустить tone() на другом пине во время воспроизведения — сигнал не запустится
- При вызове tone() на том же пине — изменится только частота сигнала
- Использование tone() блокирует работу ШИМ на пинах 3 и 11 (кроме Arduino Mega)
Практическое применение
Функция используется для:
- Воспроизведения простых звуковых сигналов
- Создания звуковых оповещений
- Генерации тонов для музыкальных проектов
- Сигнализации об ошибках или событиях
Ограничения
- Только один звуковой сигнал одновременно
- Блокировка ШИМ на определенных пинах
- Ограниченный диапазон частот
- Зависимость от аппаратной платформы
Рекомендации по использованию
- Выбирайте свободные пины, не конфликтующие с ШИМ
- Используйте noTone() для остановки звука
- Проверяйте совместимость с другими функциями
- Учитывайте ограничения при проектировании проектов
Тип функцииЦифровой ввод-вывод

Добавить комментарий