Перейти к публикации
iT4iT.CLUB

[esp8266] Библиотека smartBlink, реализует умное управление штатным светодиодом, что позволяет добавить индикацию состояния вашей программы или микроконтроллера. 1.0

   (1 отзыв)

2 скриншота

Описание файла

Основная задача библиотеки, это добавление индикации состояния Вашей программы или микроконтроллера. Отображение состояния производится посредством светодиода. Что самое важное, работа библиотеки через прерывание, это позволяет ей поддерживать индикацию даже в то время, когда выполняется длительный код основной программы. Например, Вы можете использовать её для отображения в каком режиме сейчас работает WiFi микроконтроллера, STA или AP и т.д. Или ход выполнения какой-либо операции, например, передача данных на внешний сервер.

Подключение библиотеки

#include <smartBlink.h>

Чтобы инициализировать управление светодиодом необходимо создать объект, через который мы буем задавать режимы работы индикации.

smartBlink::smartBlink(byte gpio, bool on = LOW);

Объекту необходимо передать два параметра, первый это номер порта, на котором находится светодиод, а второй это уровень логического сигнала, который заставит светодиод работать. Сигнал может быть низким (LOW) или высоким (HIGH), это зависит от схемотехники подключения светодиода.

Например, штатный светодиод модуля ESP12, использующий GPIO2 (порт 2) можно объявить следующим образом.

#define led2_pin 2
#define led2_on_signal LOW

smartBlink led2(led2_pin, led2_on_signal);

Теперь можно в основной программе использовать метод устанавливающий какой режим индикации использовать.

smartBlink::setMode(mode_t mode);

Например, зададим режим светодиода led2 в котором светодиод будет давать одну короткую вспышку раз в секунду.

led2.setMode(smartBlink::mode_flash1);

Режимов работы может быть несколько.

led2.setMode(smartBlink::mode_off);
led2.setMode(smartBlink::mode_flash1);
led2.setMode(smartBlink::mode_flash2);
led2.setMode(smartBlink::mode_flash3);
led2.setMode(smartBlink::mode_flash4);
led2.setMode(smartBlink::mode_burn);
led2.setMode(smartBlink::mode_inhalf);

Чтобы вернуть предыдущий режим индикации для ранее объявленного светодиода led2 используйте следующий метод

led2.previous();

Благодаря работе библиотеки через прерывания по таймеру, индикация будет работать даже в тех случаях, когда выполняется долгий код.

С библиотекой идут несколько примеров.




Отзывы пользователей

Пожалуйста, войдите для комментирования

Вы сможете оставить комментарий после входа



Войти сейчас

×
×
  • Создать...