Текущее время: 25 сен 2018, 05:08

Город ХОББИ

Занятие любимым хобби - это путь к счастливой жизни!

Урок 8. Подключение Бузера и генерация звуков на Ардуино

Обучение с нуля, шаг за шагом.
Аватар пользователя
 
Сообщений: 686
Зарегистрирован: 27 мар 2013, 23:12

Урок 8. Подключение Бузера и генерация звуков на Ардуино

Сообщение -=dp=- » 09 мар 2018, 20:38

Урок 8. Подключение Бузера и генерация звуков на Ардуино

Для данного практического занятия нам понадобятся:
1 - плата контроллера Ардуино УНО
2 - бузер
3 - макетная плата
4 - монтажные провода
5 - кабель microUSB > USB

Купить Ардуино в Калининграде можно тут: http://newmar.ru

Подключаем все детали по схеме на рисунке ниже:

Arduino UNO buzer.jpg
Подключение Бузера и генерация звуков на Ардуино



Аватар пользователя
 
Сообщений: 686
Зарегистрирован: 27 мар 2013, 23:12

Re: Урок 8. Подключение Бузера и генерация звуков на Ардуино

Сообщение -=dp=- » 09 мар 2018, 20:54

Переходим к скетчу.

За основу берем имеющийся пример Digital > ToneKeyboard

и немного модифицируем его следующим образом:
При включении контроллер Ардуино издаст короткий сигнал с частотой 500 Гц три раза, затем через 2 секунды начнет воспроизводить тональные сигналы с частотами от 500 Гц до 2500 Гц на увеличение с шагом частоты 500 Гц, затем в обратном порядке, на уменьшение с шагом частоты 500 Гц.

Пример кода:

Код: выделить все
void setup() {
// сигнал при включении три раза
 tone(10, 500, 200);
 delay(200);
 noTone(10);
 delay(200);
  tone(10, 500, 200);
 delay(200);
 noTone(10);
 delay(200);
  tone(10, 500, 200);
 delay(200);
 noTone(10);
 delay(2000);
}

void loop() {
 // частота на увеличение, 5 частот с длительностью 200 м.сек.
 tone(10, 500, 200);
 delay(200);
 noTone(10);
 delay(200);
 
  tone(10, 1000, 200);
 delay(200);
 noTone(10);
 delay(200);

 tone(10, 1500, 200);
 delay(200);
 noTone(10);
 delay(200);

  tone(10, 2000, 200);
 delay(200);
 noTone(10);
 delay(200);

  tone(10, 2500, 200);
 delay(200);
 noTone(10);
 delay(200);

  // частота на уменьшение, 5 частот с длительностью 200 м.сек.
 tone(10, 2500, 200);
 delay(200);
 noTone(10);
 delay(200);
 
  tone(10, 2000, 200);
 delay(200);
 noTone(10);
 delay(200);

 tone(10, 1500, 200);
 delay(200);
 noTone(10);
 delay(200);

  tone(10, 1000, 200);
 delay(200);
 noTone(10);
 delay(200);

  tone(10, 500, 200);
 delay(200);
 noTone(10);
 delay(200);
}



Как видим в скетче, для генерации звукового сигнала в Ардуино IDE есть команда tone

tone(10, 500, 200);

В кавычках указываем параметры:
10 - номер вывода к которому подключен + бузера.
500 - частота тонального сигнала, в данном случае частота равна 500 Гц.
200 - длительность тонального сигнала, в м. сек. или 0,2 секунды.

Делее, устанавливаем дополнительную задержку 200 м.сек.

delay(200);

И выполняем команду выключения тонального сигнала

noTone(10);

В кавычках указывается только номер вывода к которому подключен бузер.




Вернуться в Обучение Ардуино

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1