Модуль LED

Модуль LED - это плата с матрицей из 25 светодиодов. Модуль имеет 2 варианта подключения к Пионеру: 1) К плате автопилота(сверху); 2) К плате подключения дополнительных модулей(снизу). Блок светодиодов может использоваться для подсветки или индикации событий в зависимости от условий программы.

https://storage.yandexcloud.net/pioneer-doc.geoscan.ru-static/images/modules/led_module.png

Пример

В качестве примера и отладки воспользуйтесь следующей программой, которая случайно меняет цвет блока светодиодов каждую секунду. Чтобы загрузить программу на «Пионер», воспользуйтесь Pioneer Station.

-- количество светодиодов на основной плате пионера(4) + на модуле LED (25)
local ledNumber = 29
-- создание порта управления светодиодами
local leds = Ledbar.new(ledNumber)

-- функция, изменяющая цвет RGB светодиодов
local function changeColor(red, green, blue)
   for i=0, ledNumber - 1, 1 do
       leds:set(i, red, green, blue)
   end
end

-- функция, которая выключает светодиоды и таймер timerRandomLED
local function emergency()
   timerRandomLED:stop()
   -- так как после остановки таймера его функция выполнится еще раз, то выключаем светодиоды через секунду
   Timer.callLater(1, function () changeColor(0, 0, 0) end)
end

function callback(event)
   -- проверка, низкое ли напряжение на аккумуляторе
   if (event == Ev.LOW_VOLTAGE2) then
       emergency()
   end
end

-- создание таймера, который каждую секунду меняет цвет всех светодиодов на случайный
timerRandomLED = Timer.new(1, function ()
   changeColor(math.random(), math.random(), math.random())
end)
-- запуск созданного таймера
timerRandomLED:start()

Совет

Дополнительно рекомендуем ознакомиться с проектами в которых используется LED-модуль в разделе: «Проекты с модулем LED».