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