цифровая электроника
вычислительная техника
встраиваемые системы

 
» » » Упрощаем работу со светодиодами с помощью библиотеки JLED для Arduino

Упрощаем работу со светодиодами с помощью библиотеки JLED для Arduino

Автор: Mike(admin) от 22-06-2018, 06:55

Было время, когда мигающий синий светодиод в проекте был всем необходимым, чтобы доказать всем свою крутость в электронике. Но теперь вам нужно что-то более сложное. Светодиоды не должны просто мигать, они должны демонстрировать какие-то интересные эффекты, они должны хотя бы затухать.


библиотека JLED для Arduino

Сегодняшний тренд – это «дышащие» светодиоды. Если это тот проект, который вы хотите, вы должны попробовать библиотеку разработчика под ником jandelgado.


Его библиотека JLed (https://github.com/jandelgado/jled) для Arduino на первый взгляд может показаться излишней, но если вас интересуют хорошие эффекты, реализуемые с помощью светодиодов, ее стоит рассмотреть в качестве основного средства для достижении данной цели. Если, например, вы не хотите останавливать все, когда хотите затухать светодиод или повышать интенсивность свечения светодиода, то желательно воспользоваться именно этой библиотекой. Библиотека делает такой процесс очень простым, и она к тому же хорошо документирована.


Очевидно, для создания специального эффекта светодиода вам нужно создать объект JLed. Затем вы можете использовать методы-модификаторы для этого объекта, чтобы реализовать определенные эффекты. Единственным оверхедом (дополнительным кодом) является то, что вам нужно периодически вызывать метод обновления для светодиодов. Вот один из простых примеров проекта:



#include <jled.h>

// Подключите светодиод к выходу 13 (с поддержкой ШИМ).
// Светодиод будет "дышать" с периодом 2000 мс и задержкой в 1000 мс после каждого периода.
JLed led = JLed(13).Breathe(2000).DelayAfter(1000).Forever();

void setup() { }

void loop() { // бесконечный цикл
   led.Update(); // обновление состояния светодиода
}

Довольно легко и удобочитаемо. Просто помните, что некоторые платы Arduino не могут реализовать ШИМ-выход на линии 13, поэтому вам, возможно, придется как-то приспособиться. Пожалуй, единственный недостаток данной библиотеки заключается в том, что вы должны обновлять каждый светодиод. Было бы неплохо, если бы создатель библиотеки JLed содержал связанный список всех светодиодных объектов, поэтому у вас мог бы быть метод класса, который обновляет все из них одним вызовом. В примерах автор хранит все светодиоды в массиве и пошагово проходит их. Однако это было бы легко доработать и добавить, и поскольку библиотека находится в открытом доступе, то такая возможность есть у каждого.




© digitrode.ru


Теги: Arduino, светодиоды




Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий