buzzer
- П’єзо-динамік
Функції для роботи з п’єзо-динаміком.
Примітка
Ці функції не блокують виконання програми: всі звуки та мелодії відтворюються в фоновому режимі.
- class buzzer
- static play(frequency, size?)
Відтворює звук заданої частоти.
Якщо передати другий аргумент, звук буде відтворено впродовж цього часу (в мілісекундах).
- Parameters:
frequency (
number
) – частота тонуsize? (
number
) – тривалість звуку (в мілісекундах)
- static play_melody(melody, tempo)
Відтворює мелодію.
Мелодія - це масив з пар частота-розмірність.
Наприклад, ноту з частотою
523
Гц (нота «до» п’ятої октави) і тривалістю 1/4 можна представити як{523, 4}
.Від’ємна тривалість означає ноту з крапкою, наприклад:
-1
- ціла нота з крапкою (1 + 1/2)-2
- половина з крапкою (1/2 + 1/4)-4
- чверть з крапкою (1/4 + 1/8)
…і так далі.
Якщо частота дорівнює 0, то вона інтерпретується як пауза.
- Parameters:
melody (
table
) – мелодія (масив пар частота-розмірність)tempo (
number
) – темп мелодії (кількість ударів на хвилину)
Usage:
1-- Мелодія "до-ре-мі-фа-соль" п'ятої октави 2local melody = { 3 {523, 2}, 4 {587, 4}, 5 {659, 2}, 6 {698, 4}, 7 {784, 2}, 8} 9buzzer.play_melody(melody, 60) -- Відтворює мелодію з темпом 60 ударів на хвилину 10-- Також можна використовувати глобальний модуль notes, де є константи для нот від B0 до D#8: 11local melody2 = { 12 {notes.C4, 4}, -- "до" четвертої октави 13 {notes.FS4, 2}, -- "фа-дієз" четвертої октави 14 {notes.D5, 1}, -- "ре" п'ятої октави 15 {0, 2}, -- Пауза 16} 17buzzer.play_melody(melody2, 60)
- static stop()
Зупиняє відтворення всіх звуків.
- Return type:
nil