</> Задания по ArduinoПрактические работы для Tinkercad Circuits · Школа № 2094

← все задания

04Мелодия на пьезоизлучателе

Подключите пьезоизлучатель к пину 8 и напишите программу, которая играет восемь нот подряд.

Начальный

Задание

  1. Подключите пьезоизлучатель: «плюс» — к пину 8, «минус» — к GND.
  2. Напишите программу, которая по очереди играет ноты: до, ре, ми, фа, соль, ля, си, до.
  3. Каждая нота должна звучать 300 мс.
  4. Дополнительно: добавьте в конце мелодии паузу (функция noTone(8)) и запустите мелодию заново.

Что понадобится

  • Arduino Uno
  • Пьезоизлучатель (пищалка)
  • Резистор 100 Ом (по желанию)
  • Провода

Схема

Схема: Мелодия на пьезоизлучателе

Соберите схему в Tinkercad Circuits так же, как на картинке.

Код

Скопировать нельзя специально — наберите код руками и подумайте над каждой строкой.

1void setup()
2{
3}
4 
5void loop()
6{
7 tone(8, 262, 300);
8 delay(300);
9 tone(8, 294, 300);
10 delay(300);
11 tone(8, 330, 300);
12 delay(300);
13 tone(8, 349, 300);
14 delay(300);
15 tone(8, 392, 300);
16 delay(300);
17 tone(8, 440, 300);
18 delay(300);
19 tone(8, 494, 300);
20 delay(300);
21 tone(8, 523, 300);
22 delay(300);
23}

Что делает каждая строка

СтрокаЧто делает
1–3setup() пустая: настраивать ничего не нужно. Функция tone() сама управляет пином, поэтому pinMode для пищалки не требуется.
5–6Начало бесконечного цикла loop().
7tone(8, 262, 300) — на пине 8 генерируется звук частотой 262 Гц (нота «до» первой октавы) длительностью 300 мс. Параметры: пин, частота в герцах, длительность в миллисекундах.
8delay(300) — ждём, пока нота прозвучит, иначе следующая команда оборвёт её раньше времени.
9–10294 Гц — нота «ре». Дальше по такому же принципу идут остальные ноты.
11–12330 Гц — «ми».
13–14349 Гц — «фа».
15–16392 Гц — «соль».
17–18440 Гц — «ля» первой октавы (эталонная частота настройки инструментов).
19–20494 Гц — «си».
21–22523 Гц — «до» второй октавы: гамма завершена, октава удвоила частоту (262 → 523).
23Конец loop(); мелодия заиграет снова с начала.