Светофор

Одна тема в четырёх уровнях: от трёх светодиодов до табло с обратным отсчётом. Каждый уровень добавляет к прошлому ровно одну мысль.

Практика · 1.1. Простой светофор Первый уровень группы «Светофор»: один светофор для машин, три светодиода на D11–D13. Задача — цикл, как у настоящего светофора: зелёный, жёлтый, красный, жёлтый. Сцена проверит, что работают все три сигнала, что жёлтый стоит между зелёным и красным в обе стороны, что не горят два сразу и что машины успевают проехать. Практика · 1.2. Машины и пешеходы Второй уровень: к светофору машин добавляется светофор пешеходов (D8–D10) и сами пешеходы. Машины и люди поедут и пойдут сами, читая ваши выводы; сцена проверит, что зелёные не пересекаются, у машин есть жёлтый между зелёным и красным в обе стороны, нет пробки и нет наездов. Практика · 1.3. Кнопка по требованию Третий уровень: по умолчанию машинам зелёный, а пешеход вызывает переход кнопкой SB1 на D2. Программа обязана заметить нажатие, пропустить человека не позже чем за 10 секунд и мигнуть зелёным перед красным. Главная ловушка — длинный delay(), за который нажатие теряется. Практика · 1.4. Обратный отсчёт Четвёртый уровень: тот же перекрёсток с кнопкой плюс табло из двух семисегментных индикаторов — сегменты D3–D7, A0, A1, разряды A2 и A3. Табло ведёт обратный отсчёт до смены сигнала, и ноль обязан совпасть с переключением: врущее табло хуже, чем никакого.