Инструкции

Справочный раздел

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

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

В сети

Пользователей: 155
Из них просматривают:
Аналоги: 58. Даташиты: 58. Инструкции: 5. Новости: 8. Остальное: 3. Ошибки: 2. Партнёры: 1. Программы: 1. Форум: 17. Чат: 2.
Участников: 5
Гостей: 150

an , Adagumer , Google , grom , Яндекс , далее...
Рекорд 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
 
Возвращаемые значения
 
нет

Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.
 Функция tone()
Технический Директор
Технический Директор
Дата регистрации: 08.02.2009
Откуда: Днестровск
Сообщений: 2136
не в сети
Будет не лишним привести здесь пример. Я подключал динамик 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); // Выключаем звук 
}
 Функция tone()
Модератор
Модератор
Дата регистрации: 26.01.2010
Откуда: Тирасполь
Сообщений: 3869
не в сети
По кругу? Не может быть!!! ))
 Функция tone()
Технический Директор
Технический Директор
Дата регистрации: 08.02.2009
Откуда: Днестровск
Сообщений: 2136
не в сети
Не мог заставить его умолкнуть. Скажем проиграл звук и замолчал, ведь команда noTone(9) должна была отключить звук, а получается, что внутри void loop() этого не произойдёт. Есть примеры отработки кода без цикла?
 Функция tone()
Модератор
Модератор
Дата регистрации: 26.01.2010
Откуда: Тирасполь
Сообщений: 3869
не в сети
в конце кода поставь while(1);
loop тогда не будет перезапускаться
 Функция tone()
Технический Директор
Технический Директор
Дата регистрации: 08.02.2009
Откуда: Днестровск
Сообщений: 2136
не в сети
Помогло  Спасибо! Оптимальные значения для громкого звучания модуля с пьезодинамиком, что на фото, это: 610-640, 1670-1700, 1830-1870, 2360-2390, 2880-2950, 4260-4700, 6140. То есть:
tone(SoundPin630);  // где SoundPin - номер вывода, например "9", 630 - оптимальное значение из приведённых выше
модуль с пьезодинамиком
 Функция tone()
Технический Директор
Технический Директор
Дата регистрации: 18.12.2008
Откуда: Тирасполь
Сообщений: 2077
в сети
Громкость как задать?
 Функция tone()
Технический Директор
Технический Директор
Дата регистрации: 08.02.2009
Откуда: Днестровск
Сообщений: 2136
не в сети
Думаю задать не получится. В пределах заданной частоты выходного звука, скорее всего, нужно ставить усилитель с регулятором громкости.
 Функция tone()
Технический Директор
Технический Директор
Дата регистрации: 18.12.2008
Откуда: Тирасполь
Сообщений: 2077
в сети
Здрасьте, приехали...Вот она мощь цифровых технологий! А если тише звук нужен? Резистор последовательно с динамиком?
 Функция tone()
Администратор
Администратор
Дата регистрации: 07.08.2008
Откуда: Тирасполь
Сообщений: 7025
не в сети
Гром это микроконтроллер, а не усилитель.
Функция всего лишь генерирует заданную частоту на указанном выводе.
 Функция tone()
Технический Директор
Технический Директор
Дата регистрации: 08.02.2009
Откуда: Днестровск
Сообщений: 2136
не в сети
Как вариант: можно менять частоту выше-ниже от резонансного значения (самой большой громкости) и звук будет на порядок тише.
 Функция tone()
Технический Директор
Технический Директор
Дата регистрации: 08.02.2009
Откуда: Днестровск
Сообщений: 2136
не в сети
В копилку программ. Среди прочих подобных, понравился неплохой и понятный симулятор Arduino. Есть возможность увидеть демонстрацию работы и тут же отладить скетч. Имеется много встроенных примеров (файлы *.ino). 45 дней бесплатного использования с лицензией после регистрации. Сайт: http://www.virtronics.com.au
Открыть изображение в новом окне

Разное

Нихромовая проволока, из которой изготовлены спирали, очень плохо облуживается с помощью канифольных флюсов. Поэтому весьма трудно сделать какой либо контакт с ней надежным.

Интересно

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

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