Модуль светодиода

Описание

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

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

Технические характеристики

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

Физические размеры

  • Габаритные размеры модуля Д х Ш х В: 30 х 20 х 12 мм

Плюсы использования

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

Минусы использования

  • Дороже чем обычный светодиод

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

Пример 1

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

Схема подключения:

Скетч для загрузки:

int LED = 9; //объявление пина подключения модуля
 
 
void setup() {
  pinMode(LED, OUTPUT); // установка пина как выходной
}
 
 
void loop() {
  digitalWrite(LED, HIGH);   // включение светодиода
  delay(1000);               // задержка на 1 секунду
  digitalWrite(LED, LOW);    // выключение светодиода
  delay(1000);               // задержка на 1 секунду
}

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

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

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

Схема подключения:

Скетч для загрузки:

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 секунду
}

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

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

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

Схема подключения:

Скетч для загрузки:

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 миллисекунд
 
  }
 
}

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

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

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

Схема подключения:

Скетч для загрузки:

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 секунду
}