Menu
CoddyTech

Цикл светофора

Часть раздела Проекты путешествия по Arduino на Coddy. Урок 1 из 24.

Этот проект моделирует переход с помощью светофора в четыре этапа: сигналы для автомобилей, улучшенное переключение, кнопка для пешеходов и сигнал для перехода со звуковым сигналом. Переход уже полностью подключён, поэтому схема на каждом этапе остаётся одинаковой. Сегодня используются только три сигнала для автомобилей.

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

Когда одни и те же несколько строк повторяются снова и снова, помести их в функцию. Эта функция включает переданный ей сигнал и выключает остальные:

void showLight(int pin) {
  digitalWrite(redPin, LOW);
  digitalWrite(yellowPin, LOW);
  digitalWrite(greenPin, LOW);
  digitalWrite(pin, HIGH);
}

Тогда каждый этап в loop() состоит из двух строк: showLight(greenPin); и delay() на время, в течение которого этот сигнал остаётся включённым.

challenge icon

Задание

Легко

Светофор подключён к контактам 12 (красный), 11 (жёлтый) и 10 (зелёный). Заставь его переключаться:

  • сделай три контакта выходами
  • зелёный — на 3000 мс
  • жёлтый — на 1000 мс
  • красный — на 3000 мс, затем начни снова

Одновременно может гореть только один сигнал светофора. Нажми Run, чтобы посмотреть на перекрёсток, затем нажми Check.

Попробуйте сами

// Автомобильный светофор
const int redPin = 12;
const int yellowPin = 11;
const int greenPin = 10;

void setup() {
  // настройте три вывода для светодиодов как выходы

}

void loop() {
  // зелёный на 3 s, жёлтый на 1 s, красный на 3 s

}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Проекты

Потренируйтесь самостоятельно: Песочница Arduino