Страница 1 из 1

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

СообщениеДобавлено: 09 мар 2018, 19:38
-=dp=-
Урок 8. Подключение Бузера и генерация звуков на Ардуино

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

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

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

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

СообщениеДобавлено: 09 мар 2018, 19:54
-=dp=-
Переходим к скетчу.

За основу берем имеющийся пример 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);

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