Классическая змейка на адресных светодиодах в формате игровой консоли
Привет, Хабр! Хочу рассказать об одном из своих любимых DIY проектов, который я реализовал еще пару лет назад. Данным проектом я хотел закрыть две цели: во-первых, подготовить подарок на день рождения своей племяннице (Ксюша, привет!), во-вторых, переползти с микроконтроллеров Atmel на ST. Также хотел получить опыт в использовании С++ во embedded устройствах.
Итак, подробнее о девайсе. Устройство представляет собой портативную игровую консоль с (пока что) одной игрой на борту — Змейка. Основные правила игры не отличаются от тех, что мы видели на первых кнопочных телефонах. С помощью джойстика направляем наше пресмыкающееся в сторону еды, кнопкой «speed» изменяем скорость передвижения в любой момент игры. «Бесшовное» игровое поле: змейка не разбивается о край, а появляется на противоположной стороне экрана. Цель — съесть как можно больше, стараясь не перекусить собственный хвост.
Блок схема устройства
Микроконтроллер
В качестве микроконтроллера (далее — МК) выбрал STM32F103C8T6. Так как в наличие была отладочная плата Blue Pill + отдельно лежали камни, которые я мог пустить в ход при работе над своей платой. На тот момент времени заполучить этот МК за приемлемую цену не было проблемой (минутка ностальгии