Оглавление:

ESP32 VGA Tetris: 3 шага
ESP32 VGA Tetris: 3 шага

Видео: ESP32 VGA Tetris: 3 шага

Видео: ESP32 VGA Tetris: 3 шага
Видео: СТРИМ! | МОЙ НОВЫЙ ПРОЕКТ ARDUINO | UNITY | BLENDER | PYTHON 2024, Ноябрь
Anonim
ESP32 VGA Тетрис
ESP32 VGA Тетрис

В этой инструкции я покажу, как создать клон классической игры Тетрис, используя ESP32 и генерируя выходные данные для монитора VGA. Эта игра стала возможной благодаря замечательной библиотеке ESP32Lib Arduino, созданной bitluni.

Вам понадобится поддержка платы ESP32, установленная в Arduino IDE (я использую последнюю доступную версию, то есть 1.8.9 IDE). Вы можете найти его в Менеджере библиотек по запросу «bitluni». Поскольку последняя версия была опубликована всего пару недель назад, она все еще находится в стадии разработки, но уже содержит несколько простых примеров.

По сравнению с моими предыдущими проектами, где я писал аналогичные винтажные игровые клоны для Arduino или ESP8266, ESP32 чрезвычайно мощный, вывод VGA с различными разрешениями (320x200, 320x240, 360x400, 460x480) и до 14-битных цветов. Кроме того, у вас на порядки больше памяти.

В этом клоне тетриса я просто использую разрешение 320x200 с 8 цветами. Код представляет собой быстрое «преобразование» предыдущей версии для Arduino VGA, поэтому он плохо спроектирован и не оптимизирован. С другой стороны, возможности ESP32 VGA намного выше, что дает возможность писать все более и более сложные игры, сопоставимые, я думаю, с играми из эпохи DOS. Я хочу, чтобы этот проект был полезен другим разработчикам для написания многих других игр в будущем.

Шаг 1. Платы ESP32, установка и настройка Arduino IDE

Платы ESP32, установка и настройка Arduino IDE
Платы ESP32, установка и настройка Arduino IDE

Прежде всего вам нужно купить ESP32. Доступно много версий, но я рекомендую выбрать одну с большим количеством контактов. Я купил эту версию, но вы можете найти еще три в описании этого видео.

Существуют разные методы программирования ESP32, но здесь вам нужно использовать последнюю версию Arduino IDE. Чтобы установить его и загрузить VGA-библиотеку bitluni ESP32lib, вы можете следовать этому простому руководству. Он также показывает, как настроить вашу конкретную плату ESP32 в Arduino IDE.

На этом этапе вы можете начать загрузку первого примера: перейдите в Файл / Примеры / bitluni ESP32Lib / VGA2DFeatures, как показано на рисунке в начале этого шага. Если загрузка работает без каких-либо проблем, вам необходимо подключить порт VGA, как показано на следующем шаге.

Шаг 2: Подключение VGA и кнопок

Подключение VGA и кнопок
Подключение VGA и кнопок

Чтобы подключить монитор VGA к ESP32, вы можете использовать гнездовой разъем DSUB15 (т. Е. Стандартный 15-контактный разъем VGA) или просто отрезать кабель VGA.

Для тетриса и примеров библиотеки 8 цветов вам не нужен резистор, просто подключите контакты следующим образом:

  • VGA красный для ESP32 ping G2
  • VGA зеленый для ESP32 ping G15
  • VGA синий для ESP32 ping G21
  • VGA Hsync для ESP32 ping G32
  • VGA Vsync для ESP32 ping G33
  • VGA GND к ESP32 GND

На этом этапе вы должны увидеть пример VGA2DFeatures на своем мониторе VGA.

Чтобы играть в тетрис, вам понадобятся четыре кнопки и четыре резистора примерно от 1 до 2 кОм.

Подключите четыре резистора от GND к контактам G25, G26, G34 и G35 ESP32.

Подключите одну сторону кнопки к ESP32 3.3 Volt, а другую сторону, как показано ниже:

  • кнопка вправо на G26
  • кнопка слева на G34
  • кнопка повернуть на G25
  • кнопку вниз до G35

Последний шаг: загрузите ESP32_VGA_Tetris_V1.0.ino в конце этой страницы и скопируйте его в папку с таким же именем.

Загрузите его на микроконтроллер ESP32, и вы сразу можете начать играть в тетрис!

Шаг 3: Заключение и благодарности

Я очень благодарен bitluni, автору библиотеки ESP32 VGA, а также руководств и примеров по ее использованию и эксплуатации.

Посетите его сайт и посмотрите видео, чтобы увидеть более подробную информацию и все возможности.

Наконец, если вам понравился этот Instructable, подумайте о том, чтобы проголосовать за него в конкурсе Arduino и микроконтроллеров!

Рекомендуемые: