Дум Бой Esp32

Консоль для Doom на ESP32 своими руками с использованием драйвера MCP23017 для кнопок от UncleRus

Дум Бой ESP32



Дум Бой ESP32

В ожидании Роковые часы Пришла плата для старого проекта.

Плата содержит внешние MCP23017 и CS4344 и многое другое.

Для кнопок используется расширитель портов MCP23017, подключаемый по I2C. Для него есть драйвер, который вы можете получить ДядяРусь .

Была предпринята попытка запустить внешний АЦП CS4344.



Дум от Espressif

После скачивания порта Doom мне пришлось немного повозиться, чтобы его собрать.

В итоге всё собралось и залилось на ESP32, но.

словил вылет при старте.

Подобное обсуждение проблемы я видел на гитхабе проекта Issue:

Дум Бой ESP32

Автор порта предложил сделать

Вероятно, вам придется использовать опцию malloc(), а также зарезервировать немного памяти для DMA. Я посмотрю, смогу ли я получить эту компиляцию на мастере и обновить sdkconfig, когда у меня будет время.

В общем, недолго думая, я заменил все портированные функции распределения памяти на malloc().

Демо-версия началась.

Впереди у меня было подключение кнопок

MCP23017 Расширитель GPIO



Дум Бой ESP32

MCP23017 Имея большие планы по расширению функционала за счет портов контроллера, я решил немного сэкономить на портах ввода-вывода самого микроконтроллера, установив MCP23017. Это простой расширитель с доступом к сигналам ввода/вывода через интерфейс I2C. Драйвер не я изобретал, я просто взял его из ДядяРус .

Пять кнопок используют джойстик для навигации.

Пара кнопок для съемки и выбора меню.

На самом деле этого мало, нужно еще открывать двери и двигаться влево и вправо, не поворачиваясь, то есть как краб.

Контакты внутри MCP23017 подключены к VDD. Контакт замыкается на землю.

Очень здорово, что внутри микросхемы есть подтягивающие резисторы.

Вы также можете повозиться с прерываниями от MCP23017. У него по два выхода на каждый порт INTA и INTB, но об этом в другой раз.

Полный список команд

   

static const JsKeyMap keymap[]={

Теги: #Разработка игр #Программирование микроконтроллеров #Производство и разработка электроники #Сделай сам или Сделай сам #Проектирование схем #Программирование esp32 doom
Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.