Цикл светофора
Часть раздела Проекты путешествия по Arduino на Coddy. Урок 1 из 24.
Этот проект моделирует переход с помощью светофора в четыре этапа: сигналы для автомобилей, улучшенное переключение, кнопка для пешеходов и сигнал для перехода со звуковым сигналом. Переход уже полностью подключён, поэтому схема на каждом этапе остаётся одинаковой. Сегодня используются только три сигнала для автомобилей.
Светофор бесконечно повторяет одну и ту же последовательность: зелёный, жёлтый, красный, затем снова зелёный. На каждом этапе один сигнал включён, а два других выключены в течение некоторого времени.
Когда одни и те же несколько строк повторяются снова и снова, помести их в функцию. Эта функция включает переданный ей сигнал и выключает остальные:
void showLight(int pin) {
digitalWrite(redPin, LOW);
digitalWrite(yellowPin, LOW);
digitalWrite(greenPin, LOW);
digitalWrite(pin, HIGH);
}Тогда каждый этап в loop() состоит из двух строк: showLight(greenPin); и delay() на время, в течение которого этот сигнал остаётся включённым.
Задание
ЛегкоСветофор подключён к контактам 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
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Проекты
Потренируйтесь самостоятельно: Песочница Arduino