Перейти к содержанию
Материалы раздела

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()