Мини-модуль светофора TZT для Arduino  от магазина ArdStudio в Москве
Мини-модуль светофора TZT для Arduino  от магазина ArdStudio в Москве
Мини-модуль светофора TZT для Arduino  от магазина ArdStudio в Москве
Мини-модуль светофора TZT для Arduino  от магазина ArdStudio в Москве
Мини-модуль светофора TZT для Arduino  от магазина ArdStudio в Москве
Модуль подходит для создания моделей светофоров, обучающих проектов, систем световой сигнализации и индикации режимов работы оборудования.


  • Артикул AS00340
60 ₽
Количество
шт
Мини-модуль светофора TZT со встроенными резисторами — это компактный электронный модуль, имитирующий работу обычного светофора. Он состоит из трёх светодиодов (красного, жёлтого и зелёного) и предназначен для использования в электронных проектах, образовательных демонстрациях, системах индикации и других приложениях, где требуется визуальное отображение сигналов. 

Основные характеристики мини-модуля светофора TZT

  • Размер: 56 × 21 × 11 мм. 
  • Светодиоды: 3 штуки, каждый диаметром 8 мм. 
  • Напряжение питания: 5 В. 
  • Интерфейс: общий катод, что упрощает подключение к контроллерам (например, Arduino). 
  • Управление: цифровой входной сигнал позволяет индивидуально контролировать каждый светодиод. 
  • Яркость: обычная. 
Благодаря компактным размерам, встроенными резисторами и простоте подключения его можно интегрировать в различные электронные устройства и конструкции. 

Применение мини-модуля светофора TZT

  • Образовательные проекты и демонстрации принципов работы светофоров.
  • Индикация состояний в электронных системах (например, режимы работы оборудования).
  • Создание моделей и макетов.
  • Использование в DIY-проектах с микроконтроллерами.
Важно: при подключении модуля необходимо соблюдать полярность и не превышать рекомендуемое напряжение питания. Для управления светодиодами можно использовать цифровые выходы микроконтроллеров или другие источники цифровых сигналов.

Скетч для трёхсекционного светофора на Arduino (с модулем со встроенными резисторами)

Необходимые компоненты:
  1. Плата Arduino (Uno, Mega и др.)
  2. Модуль трёхсекционного светофора (со встроенными токоограничивающими резисторами)
  3. Соединительные провода
Схема подключения
Красный светодиод модуля → пин 10 Arduino
Жёлтый светодиод модуля → пин 9 Arduino
Зелёный светодиод модуля → пин 8 Arduino
Общий провод (GND) модуля → GND Arduino

Логика работы
Зелёный горит 7 с.
Зелёный мигает (1 Гц, 4 вспышки за 4 с).
Жёлтый горит 3 с.
Красный горит 7 с.
Красный + жёлтый горят 2 с.
Цикл повторяется.

Скетч

// Пины светодиодов (подключите модуль к этим пинам)
const uint8_t PIN_RED = 10;
const uint8_t PIN_YELLOW = 9;
const uint8_t PIN_GREEN = 8;

// Временные интервалы (в миллисекундах)
const uint32_t T_GREEN_STEADY = 7000;    // Зелёный постоянно
const uint32_t T_GREEN_BLINK_TOTAL = 4000; // Мигание зелёного (4 с)
const uint32_t BLINK_PERIOD = 1000;       // Период мигания (1 Гц)
const uint32_t T_YELLOW = 3000;           // Жёлтый
const uint32_t T_RED = 7000;             // Красный
const uint32_t T_RED_YELLOW = 2000;     // Красный + жёлтый


// Состояния светофора
enum Phase : uint8_t {
  PH_GREEN,        // Зелёный
  PH_GREEN_BLINK, // Мигание зелёного
  PH_YELLOW,     // Жёлтый
  PH_RED,        // Красный
  PH_RED_YELLOW  // Красный + жёлтый
};

Phase phase = PH_GREEN;        // Текущее состояние
uint32_t phaseStart = 0;    // Время начала фазы
uint32_t blinkStart = 0;     // Время начала мигания
bool greenOn = true;         // Состояние зелёного (мигание)


// Функция управления светодиодами
void setLights(bool r, bool y, bool g) {
  digitalWrite(PIN_RED, r ? HIGH : LOW);
  digitalWrite(PIN_YELLOW, y ? HIGH : LOW);
  digitalWrite(PIN_GREEN, g ? HIGH : LOW);
}

void setup() {
  // Настройка пинов как выходов
  pinMode(PIN_RED, OUTPUT);
  pinMode(PIN_YELLOW, OUTPUT);
  pinMode(PIN_GREEN, OUTPUT);


  // Начальное состояние: зелёный горит
  setLights(false, false, true);
  phase = PH_GREEN;
  phaseStart = millis();
}

void loop() {
  const uint32_t now = millis();
  const uint32_t elapsed = now - phaseStart;  // Прошло времени в текущей фазе


  switch (phase) {
    case PH_GREEN:
      if (elapsed >= T_GREEN_STEADY) {
        phase = PH_GREEN_BLINK;
        phaseStart = now;
        blinkStart = now;
        greenOn = true;
        setLights(false, false, true);  // Включаем зелёный
      }
      break;

    case PH_GREEN_BLINK: {
        const uint32_t blinkElapsed = now - blinkStart;
        if (blinkElapsed >= BLINK_PERIOD) {
          blinkStart = now;
          greenOn = !greenOn;  // Переключаем состояние
          setLights(false, false, greenOn);
        }
        if (elapsed >= T_GREEN_BLINK_TOTAL) {
          phase = PH_YELLOW;
          phaseStart = now;
          setLights(false, true, false);  // Жёлтый
        }
      }
      break;

    case PH_YELLOW:
      if (elapsed >= T_YELLOW) {
        phase = PH_RED;
        phaseStart = now;
        setLights(true, false, false);  // Красный
      }
      break;

    case PH_RED:
      if (elapsed >= T_RED) {
        phase = PH_RED_YELLOW;
        phaseStart = now;
        setLights(true, true, false);   // Красный + жёлтый
      }
      break;

    case PH_RED_YELLOW:
      if (elapsed >= T_RED_YELLOW) {
        phase = PH_GREEN;
        phaseStart = now;
        setLights(false, false, true);   // Зелёный
      }
      break;
  }
}


Пояснения

1. Особенности модуля
  • Встроенные резисторы исключают необходимость внешних компонентов.
  • Подключение максимально простое — только сигнальные пины и GND.
2. Переменные таймингов
  • Задают длительность каждой фазы в миллисекундах.
  • Легко изменяются для адаптации под требования.
3. Перечисление Phase
  • Описывает все состояния светофора.
  • Используется в switch для управления логикой.
4. Функция setLights()
  • Централизованно управляет светодиодами.
  • Принимает три булевых параметра: красный, жёлтый, зелёный.
  • true → светодиод включён, false → выключен.
5. Переменная millis()
  • Использует неблокирующий подход (без delay()).
  • Позволяет точно отслеживать время фаз.
6. Мигание зелёного
  • Реализовано через переменную greenOn и таймер blinkStart.
  • Частота 1 Гц (1 вспышка в секунду).
Рекомендации по настройке

1. Изменение длительности фаз
  • Корректируйте значения T_GREEN_STEADY, T_YELLOW и др.
  • Убедитесь, что все значения указаны в миллисекундах.
2. Проверка подключения
  • Убедитесь, что общий провод модуля (GND) подключён к GND Arduino.
  • Проверьте соответствие пинов Arduino и секций светофора.
3. Отладка
  • Добавьте Serial.print() для вывода текущего состояния.
  • Используйте монитор порта для отслеживания фаз.
4. Расширение функционала
  • Добавьте кнопку для ручного переключения режимов.
  • Внедрите датчик движения для адаптивной работы.
  • Подключите дисплей для отображения таймера.
  • Артикул AS00340
  • Бренд TZT
  • Рекомендуемое напряжение питания 5 В
Мини-модуль светофора TZT для Arduino
60 ₽

Датчик движения HC-SR501 TZT для Arduino

  110 ₽
Артикул
AS00345
шт

Датчик газа MQ-2 TZT для Arduino

  160 ₽
Артикул
AS00323
шт

Адаптер питания 9В, 2А для Arduino

  760 ₽
Артикул
AS00325
шт

Двухосевой модуль джойстика TZT для Arduino

  90 ₽
Артикул
AS00352
шт
Корзина 0 позиций
на сумму 0 ₽