Разделы инструкций

В сети

Пользователей: 110
Из них просматривают:
Аналоги: 37. Даташиты: 27. Инструкции: 6. Новости: 16. Остальное: 7. Программы: 1. Профиль пользователя: 3. Торрент: 3. Форум: 9. Чат: 1.
Участников: 3
Гостей: 107

Google , wolf170571 , Яндекс , далее...
Рекорд 2375 человек онлайн установлен 26.12.2015.

Партнёры


Партнёры

Новые объявления

Оглавление

Функция 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
 
Возвращаемые значения
 
нет

Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.
Отправитель Нити
Kosmonavt
Отправлено: 17.02.2019 0:59  Обновлено: 17.02.2019 1:19
Главный Инженер
Дата регистрации: 08.02.2009
Откуда: Днестровск
Сообщений: 1465
 Функция tone()
Будет не лишним привести здесь пример. Я подключал динамик 8 Ом через конденсатор 1 мкФ, звучит прикольно, правда звук, почему-то не отключается, звучит по кругу:
const int SoundPin 9// Пин подключения пьезоизлучателя – 9 дискретный 
int DelaySound 1000// Пауза 1 секунда
 
void setup
() 
{ 
}
 
void loop
() 
{ 
  
// Пример использования tone() 
  //tone(pin, частота) 
  tone(SoundPin1915);  // Воспроизводим сигнал с частотой 1915 Гц 
  delay(DelaySound);  // Пауза 1 секунда (1000 миллисекунд – значение переменной DelaySound ) – длительность воспроизведения сигнала
  tone(SoundPin1700); 
  delay
(DelaySound);
  tone(SoundPin1519); 
  delay
(DelaySound);
  tone(SoundPin1432); 
  delay
(DelaySound);
  tone(SoundPin1275); 
  delay
(DelaySound);
  tone(SoundPin1136); 
  delay
(DelaySound);
  tone(SoundPin1014); 
  delay
(DelaySound);
  noTone(9); // Выключаем звук 
}
evildesign
Отправлено: 20.02.2019 20:35  Обновлено: 20.02.2019 20:35
Модератор
Дата регистрации: 26.01.2010
Откуда: Тирасполь
Сообщений: 3574
 Функция tone()
По кругу? Не может быть!!! ))
Kosmonavt
Отправлено: 22.02.2019 3:19  Обновлено: 22.02.2019 3:19
Главный Инженер
Дата регистрации: 08.02.2009
Откуда: Днестровск
Сообщений: 1465
 Функция tone()
Не мог заставить его умолкнуть. Скажем проиграл звук и замолчал, ведь команда noTone(9) должна была отключить звук, а получается, что внутри void loop() этого не произойдёт. Есть примеры отработки кода без цикла?
evildesign
Отправлено: 22.02.2019 7:30  Обновлено: 22.02.2019 7:30
Модератор
Дата регистрации: 26.01.2010
Откуда: Тирасполь
Сообщений: 3574
 Функция tone()
в конце кода поставь while(1);
loop тогда не будет перезапускаться
Kosmonavt
Отправлено: 09.03.2019 20:25  Обновлено: 09.03.2019 22:38
Главный Инженер
Дата регистрации: 08.02.2009
Откуда: Днестровск
Сообщений: 1465
 Функция tone()
Помогло  Спасибо! Оптимальные значения для громкого звучания модуля с пьезодинамиком, что на фото, это: 610-640, 1670-1700, 1830-1870, 2360-2390, 2880-2950, 4260-4700, 6140. То есть:
tone(SoundPin630);  // где SoundPin - номер вывода, например "9", 630 - оптимальное значение из приведённых выше
модуль с пьезодинамиком

Разное

Если, нет специального оборудования, типа паяльной станции и фенов, для отпайки микрочипа можно воспользоваться тонким фторопластовым проводом.

Интересно

Во время поиска небольших радиодеталей, упавших со стола, вероятность их обнаружения прямо пропорциональна размеру детали и обратно пропорциональна их значению для завершения работы

Похожие инструкции