indication.lua
Библиотека предоставляет готовые эффекты для светодиодов, зуммера и звукового модуля. Методы start(), ok() и err() можно заменить в отдельном объекте под нужную схему индикации.
RGBLeds.new({[ledPin], [ledCnt]})
Класс для управления одним или несколькими адресными RGB-светодиодами.
Аргументы:
- ledPin - GPIO процессора, к которому подключен управляемый светодиод (или несколько)
- ledCnt - количество светодиодов
Возвращает: класс или ничего (в случае ошибки)
RGBLeds:start()
Воспроизводит стартовый эффект. По умолчанию отображает часть цветового спектра.
RGBLeds:set(r, g, b, [time_ms])
Установить все светодиоды в цвет на заданное время.
Аргументы:
- r - красный компонент цвета 0..255
- g - зеленый компонент цвета 0..255
- b - синий компонент цвета 0..255
- time_ms (опционально) - длительность в миллисекундах. Если аргумент не указан, цвет остаётся включённым.
RGBLeds:one(num, r, g, b, [time_ms])
Установить один светодиод в цвет на заданное время. Аргументы:
- num - номер светодиода (начиная с 0)
- r - красный компонент цвета 0..255
- g - зеленый компонент цвета 0..255
- b - синий компонент цвета 0..255
- time_ms (опционально) - длительность в миллисекундах. Если аргумент не указан, светодиод остаётся включённым.
RGBLeds:clear()
Гасит все светодиоды.
RGBLeds:siren([time_ms])
Включить эффект сирены (демонстрационный эффект): первые два светодиода попеременно мигают красным и синим. Аргументы:
- time_ms (опционально) - пауза между кадрами в мс. По умолчанию 200 мс.
RGBLeds:ok([time_ms])
Включить эффект “ok” на заданное время. По умолчанию включает зелёный свет.
Аргументы:
- time_ms (опционально) - время эффекта в мс. По умолчанию 100 мс.
RGBLeds:err([time_ms])
Включить эффект “err” на заданное время. По умолчанию включает красный свет.
Аргументы:
- time_ms (опционально) - время эффекта в мс. По умолчанию 100 мс.
RGLeds.new({Rled, Gled})
Класс для управления красным и зелёным светодиодами.
Аргументы:
- Rled - GPIO процессора, к которому подключен красный светодиод
- Gled - GPIO процессора, к которому подключен зеленый светодиод
Возвращает: класс или ничего (в случае ошибки)
RGLeds:start()
Воспроизводит стартовый эффект. По умолчанию попеременно мигает двумя светодиодами.
RGLeds:one(led, [time_ms])
Установить один светодиод в цвет на заданное время. Аргументы:
- led - rled или gled
- time_ms (опционально) - длительность в миллисекундах. Если аргумент не указан, светодиод остаётся включённым.
RGLeds:clear()
Погасить все светодиоды.
RGLeds:siren([time_ms])
Включить эффект сирены (демонстрационный эффект) с паузой между кадрами в time_ms.
Аргументы:
- time_ms (опционально) - пауза между кадрами в мс. По умолчанию 200 мс.
RGLeds:ok([time_ms])
Включить эффект “ok” на заданное время. По умолчанию включает зелёный свет.
Аргументы:
- time_ms (опционально) - время эффекта в мс. По умолчанию 100 мс.
RGLeds:err([time_ms])
Включить эффект “err” на заданное время. По умолчанию включает красный свет.
Аргументы:
- time_ms (опционально) - время эффекта в мс. По умолчанию 100 мс.
Leds({RGB, RG})
Создаёт подходящий объект светодиодной индикации.
Аргументы:
- RGB (опционально) - если true, вернуть класс RGB
- RG (опционально) - если true, вернуть класс RG
Возвращает: класс или ничего (в случае ошибки)
Пример:
leds = indication.Leds.new({RGB=true})
leds:start()
leds:ok()
leds:err()
Buzzer.new([buzzPin], [hz])
Класс для управления звуковым излучателем.
Аргументы:
- buzzPin (опционально) - GPIO процессора, к которому подключен звуковой излучатель. По умолчанию GPIO2.
- hz (опционально) - частота звука в Гц. По умолчанию 2400 Гц.
Buzzer:buzz([time_ms])
Включает звук на заданное время.
Аргументы:
- time_ms (опционально) - длительность в миллисекундах; по умолчанию 50 мс. Значение
0включает звук до вызоваmute().
Buzzer:start()
Воспроизводит стартовый сигнал длительностью 70 мс.
Buzzer:ok([time_ms])
Включить эффект “ok” на заданное время.
Аргументы:
- time_ms (опционально) - время эффекта в мс. По умолчанию 100 мс.
Buzzer:err([time_ms])
Включить эффект “err” на заданное время.
Аргументы:
- time_ms (опционально) - базовая длительность эффекта; по умолчанию 200 мс. Пауза после первого сигнала равна
time_ms × 2, длительность второго —time_ms × 4.
snd = indication.Buzzer.new()
snd:start()
snd:ok()
snd:err()
Buzzer:mute()
Выключает звуковой излучатель.
Sound.new([soundPin])
Класс для управления звуковым излучателем с использованием модуля sound.
Аргументы:
- soundPin (опционально) - GPIO процессора, к которому подключен звуковой излучатель. По умолчанию GPIO2.
Sound:play(note, octave)
Проиграть ноту.
Аргументы:
- note - нота с длительностью в формате playnote (имя, необязательный
#илиb, длительность; например,"C4"— нота до длительностью в четверть) - octave - октава, в которой проигрывается нота
Sound:start()
Воспроизводит стартовую мелодию.
Sound:ok()
Включить эффект “ok” на заданное время.
Sound:err()
Включить эффект “err” на заданное время.
snd = indication.Sound.new()
snd:start()
snd:ok()
snd:err()