====== Модуль светодиода "пиранья" ======

===== Описание =====

Универсальный модуль светодиода. Подойдет для проектов, где необходимо добавить цветную индикацию, не прибегая к пайке обычных светодиодов. Модуль подключается посредством трехпроводного шлейфа. Для удобства соединения рекомендуем использовать Sensor Shield. В отличии от обычного светодиода - светодиоды "пиранья" светят намного ярче. Очень удобно использовать для проектов подсветки, гирлянд, светомузыки, дополнительного освещения.

Встроенный транзистор позволяет использовать модуль в цепях с напряжением 3,3 В и 5 В. Поддерживается управление яркостью с помощью ШИМ.

<WRAP center round important 60%>
//Внимание! Будьте осторожны при работе с яркими светодиодами! Не смотрите на светодиод с близкого расстояния!//
</WRAP>


==== Технические характеристики ====
  *Рабочее напряжение: 3,3 - 5 В
  *Максимальный потребляемый ток (для белого или синего): 8,5 мА
  *Максимальный потребляемый ток (для красного, жёлтого, зелёного): 10 мА

==== Физические размеры ====
  *Габаритные размеры модуля Д х Ш х В: 30 х 20 х 7 мм

==== Плюсы использования ====
  * Несколько цветов светодиодов для различных проектов (красный, жёлтый, зелёный, синий, белый)
  * Лёгкое подключение к Sensor shield
  * Не требует дополнительных радиодеталей (всё включено в модуль)
  * Не требует пайки
  * Прост в работе
  * Управление яркостью светодиода с помощью ШИМ
  * Очень яркое свечение

==== Минусы использования ====
  * Дороже чем обычный светодиод

===== Примеры подключения и использования =====
**Пример 1**

В примере демонстрируется самая простая задача по работе со светодиодом - включение и отключение на 1 секунду. Пример протестирован на контроллере Smart UNO.

^ Что нужно                                                                                                               ^  Кол-во, шт  ^
| [[https://smartelements.ru/collection/kontrollery/product/kontroller-smart-uno|Контроллер Smart UNO]]             |  1           |
| [[https://smartelements.ru/collection/shildy/product/sensor-shield|Sensor Shield]]             |  1           |
| [[https://smartelements.ru/product/modul-svetodioda-piranya-krasnyy|Модуль светодиода "пиранья" красный]]              |  1           |
| [[https://smartelements.ru/collection/provoda-i-kabeli/product/shleyf-mama-mama-h3-20-sm|Шлейф "мама-мама" х3]]  |  1           |


**Схема подключения:**
{{ :главная:модули:модуль_светодиода_пиранья_н.png?nolink |}}

**Скетч для загрузки:**
<file Arduino>
int LED = 9; //объявление пина подключения модуля


void setup() {
  pinMode(LED, OUTPUT); // установка пина как выходной
}


void loop() {
  digitalWrite(LED, HIGH);   // включение светодиода
  delay(1000);               // задержка на 1 секунду
  digitalWrite(LED, LOW);    // выключение светодиода
  delay(1000);               // задержка на 1 секунду
}
</file>

**Пример 2. Управление с клавиатуры**

Данный пример демонстрирует изменение времени включенного и выключенного состояния в зависимости от введенного значения с клавиатуры. По умолчанию значение времени установлено в 1 секунду (1000 миллисекунд). После загрузки скетча на контроллер, необходимо открыть монитор сериал порта, куда требуется ввести цифровое значение нового времени работы светодиода в миллисекундах отличное от нуля. Светодиод начинает мигать с частотой нового введённого времени.

Пример протестирован на контроллере Smart UNO.

^ Что нужно                                                                                                               ^  Кол-во, шт  ^
| [[https://smartelements.ru/collection/kontrollery/product/kontroller-smart-uno|Контроллер Smart UNO]]             |  1           |
| [[https://smartelements.ru/collection/shildy/product/sensor-shield|Sensor Shield]]             |  1           |
| [[https://smartelements.ru/product/modul-svetodioda-piranya-zheltyy|Модуль светодиода "пиранья" жёлтый]]              |  1           |
| [[https://smartelements.ru/collection/provoda-i-kabeli/product/shleyf-mama-mama-h3-20-sm|Шлейф "мама-мама" х3]]  |  1           |


**Схема подключения:**
{{ :главная:модули:модуль_светодиода_пиранья_н.png?nolink |}}

**Скетч для загрузки:**
<file Arduino>
int LED = 9; //объявление пина подключения модуля
int M_S = 1000; //переменная для хранения времени задержки


void setup() {
  pinMode(LED, OUTPUT); // установка пина как выходной
  Serial.begin(9600); // инициализация Serial-порта
}


void loop() {
  
  if (Serial.available() > 0) { //если что-то пришло из сериал порта
    
    int val = Serial.parseInt(); //считать значение в переменную
    
    if (val != 0) { // если считанное значение отлично от 0
      M_S = val; //записать его в переменную хранения времени
    }
  }
  
  digitalWrite(LED, HIGH);   // включение светодиода
  delay(M_S);               // задержка на 1 секунду
  digitalWrite(LED, LOW);    // выключение светодиода
  delay(M_S);               // задержка на 1 секунду
}
</file>

**Пример 3. Управление с помощью ШИМ**

Данный пример демонстрирует изменение яркости свечения светодиода. Светодиод из выключенного состояния постепенно зажигается ярче, а затем постепенно затухает. Далее всё повторяется.

Пример протестирован на контроллере Smart UNO.

^ Что нужно                                                                                                               ^  Кол-во, шт  ^
| [[https://smartelements.ru/collection/kontrollery/product/kontroller-smart-uno|Контроллер Smart UNO]]             |  1           |
| [[https://smartelements.ru/collection/shildy/product/sensor-shield|Sensor Shield]]             |  1           |
| [[https://smartelements.ru/product/modul-svetodioda-piranya-zelenyy|Модуль светодиода "пиранья" зелёный]]              |  1           |
| [[https://smartelements.ru/collection/provoda-i-kabeli/product/shleyf-mama-mama-h3-20-sm|Шлейф "мама-мама" х3]]  |  1           |


**Схема подключения:**
{{ :главная:модули:модуль_светодиода_пиранья_н.png?nolink |}}

**Скетч для загрузки:**
<file Arduino>
int LED = 9; //объявление пина подключения модуля


void setup() {
  pinMode(LED, OUTPUT); // установка пина как выходной
}


void loop() {

  //первый цикл увеличивает яркость
  for (int i = 0; i < 1024; i++) { //цикл от 0 до 1024

    analogWrite(LED, i); //записать значение яркости на порт светодиода
    delay(100); //задержка в 100 миллисекунд
    
  }

  //второй цикл уменьшает яркость
  for (int i = 1024; i >= 0; i--) {

    analogWrite(LED, i); //записать значение яркости на порт светодиода 
    delay(100); //задержка в 100 миллисекунд
    
  }
  
}
</file>

**Пример 4. Управление с помощью ШИМ (значение вводится с клавиатуры)**

Данный пример демонстрирует изменение яркости свечения светодиода. Светодиод мигает с периодичностью 100 миллисекунд. По умолчанию яркость светодиода задана в 500 единиц (половина возможной яркости). После загрузки скетча в контроллер, открыв монитор Serial порта, можно ввести требуемую яркость. Однако, значение яркости будет программно ограничено между значениями 0 и 1023 (минимальное и максимальное значения).

Пример протестирован на контроллере Smart UNO.

^ Что нужно                                                                                                               ^  Кол-во, шт  ^
| [[https://smartelements.ru/collection/kontrollery/product/kontroller-smart-uno|Контроллер Smart UNO]]             |  1           |
| [[https://smartelements.ru/collection/shildy/product/sensor-shield|Sensor Shield]]             |  1           |
| [[https://smartelements.ru/product/modul-svetodioda-piranya-siniy|Модуль светодиода "пиранья" синий]]              |  1           |
| [[https://smartelements.ru/collection/provoda-i-kabeli/product/shleyf-mama-mama-h3-20-sm|Шлейф "мама-мама" х3]]  |  1           |


**Схема подключения:**
{{ :главная:модули:модуль_светодиода_пиранья_н.png?nolink |}}

**Скетч для загрузки:**
<file Arduino>
int LED = 9; //объявление пина подключения модуля
int BRIGHTNESS = 500; //переменная для хранения яркости


void setup() {
  pinMode(LED, OUTPUT); // установка пина как выходной
  Serial.begin(9600); // инициализация Serial-порта
}


void loop() {
  
  if (Serial.available() > 0) { //если что-то пришло из сериал порта
    
    int val = Serial.parseInt(); //считать значение в переменную
    
    if (val != 0) { // если считанное значение отлично от 0
      BRIGHTNESS = constrain(val, 0, 1023); //записать его в переменную яркости, ограничив значение
    }
  }
  
  analogWrite(LED, BRIGHTNESS); // включение светодиода с заданной яркостью
  delay(1000);                  // задержка на 1 секунду
  digitalWrite(LED, LOW);       // выключение светодиода
  delay(1000);                  // задержка на 1 секунду
}
</file>