Skip to content
This repository has been archived by the owner on Feb 5, 2020. It is now read-only.
/ SimpleLED Public archive

Библиотека для простого контроля группами светодиодов или светодиодными лентами (-R/G/B/+12/5v) посредством Arduino.

License

Notifications You must be signed in to change notification settings

SNMetamorph/SimpleLED

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SimpleLED

Данная библиотека упрощает работу со светодиодами, в частности светодиодными лентами, разработана для использования в качестве компактного встраиваемого модуля. Библиотека включает в себя функции установки цвета посредством RGB или HSV, регулировки общей яркости. Для использования библиотеки требуется 3 свободных цифровых PWM пина (например 3, 5, 6).

Пример использования

#include <SimpleLED.h>

SimpleLED diode(3, 5, 6); // использование пина 3 для красного, 5 для зелёного, 6 для синего цветового канала.
float progress = 0;
float val = 0.025;

void setup() 
{
  diode.SetDefColor(SL_WHITE); // установка всех цветовых каналов на максимум (т.е. белый цвет)
}

void loop() 
{
  diode.SetBrightness(progress); // установка яркости каждую итерацию цикла
  progress = progress + val;
  if (progress <= 0 || progress >= 255) {
    val = -val;
  }
}

Схемы использования

Для управления светодиодными лентами вам необходимо собрать данную ниже схему трижды, для каждого цветового канала.
Внимание! Используйте только подходящие по напряжению блоки питания, иначе вы можете сжечь вашу ленту.
Схема для использования с лентами:

Preview

Схема для использования с группами светодиодов:

Preview

Установка

Для начала, скачайте архив этого репозитория (нажмите сюда).
После, откройте Arduino IDE -> выберите в меню "Скетч" -> Подключить библиотеку -> Добавить .ZIP библиотеку -> найти и выберите ранее скачанный архив.
Установка завершена.

Функции

void SetColor(byte red, byte green, byte blue) - установка цветовой величины для каждого канала.
void SetHSVColor(float hue, float saturation, float brightness) - установка цветовой величины для каждого канала, посредством цветовой модели HSV.
bool SetDefColor(int num) - установка объявленного цвета (подробнее в разделе Объявленные цвета).
SL_RGB GetColor() - возвращает структуру с последним установленным цветом (подробнее смотрите в разделе Структуры).
void SetBrightness(float value) - установка яркости для всех цветовых каналов.
void Flush() - отключение всех цветовых каналов, эквивалентно функции SetColor(0, 0, 0).

Структуры

Библиотека содержит в себе данные структуры:

struct SL_RGB 
{
	byte r, g, b;
};

struct SL_PIN 
{
	int r, g, b;
};

Пример извлечения цветов из структуры:

#include <SimpleLED.h>

SimpleLED diode(3, 5, 6);

void setup()
{
  Serial.begin(9600);
  diode.SetColor(255, 128, 20);
}

void loop()
{
  SL_RGB color = diode.GetColor();
  Serial.println(color.r); // результат - 255
  Serial.println(color.g); // результат - 128
  Serial.println(color.b); // результат - 20
}

Объявленные цвета

Конструктив раздела: название директивы цвета - число для цвета - эквивалент функции SetColor().
Пример использования таких цветов в коде: obj.SetDefColor(SL_GREEN) или obj.SetDefColor(2), также можно использовать obj.SetColor(0, 255, 0)

SL_WHITE - 0 - obj.SetColor(255, 255, 255)
SL_RED - 1 - obj.SetColor(255, 0, 0)
SL_GREEN - 2 - obj.SetColor(0, 255, 0)
SL_BLUE - 3 - obj.SetColor(0, 0, 255)

About

Библиотека для простого контроля группами светодиодов или светодиодными лентами (-R/G/B/+12/5v) посредством Arduino.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages