Оглавление:
- Шаг 1. Платы ESP32, установка Arduino IDE и настройка библиотеки VGA
- Шаг 2. Загрузка крошечного базового кода в ESP32
- Шаг 3: Подключение порта VGA
- Шаг 4: Подключение порта PS2
- Шаг 5: Программирование с помощью Tiny Basic
- Шаг 6: Подключение карты памяти SD
- Шаг 7: Благодарности
Видео: Базовый ПК ESP32 с выходом VGA: 7 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
В этом руководстве я собираюсь показать, как собрать простой ПК в ретро-стиле, используя один ESP32 и несколько других компонентов.
Этот компьютер работает под управлением Tiny Basic, упрощенного диалекта BASIC, и генерирует выходные данные для монитора VGA.
Разрешение составляет 640x350 пикселей, что позволяет отображать 80x25 символов asci в 8 цветах. Клавиатуры PS2 можно подключить и использовать для записи кода, что позволяет использовать до 14059 байт памяти.
Контакты ввода-вывода ESP32 могут напрямую управляться специальными командами BASIC.
Этот проект стал возможным благодаря великолепной библиотеке ESP32 VGA, написанной Фабрицио Ди Витторио. Подробнее см. Здесь.
Шаг 1. Платы ESP32, установка Arduino IDE и настройка библиотеки VGA
Прежде всего вам необходимо приобрести ESP32 ревизии 1 или выше. Доступно много версий, но я рекомендую выбирать с большим количеством контактов. Я использую эту версию, но думаю, что многие другие тоже подходят. Например, в описании этого видео вы можете найти еще три модели, которые стоят меньше 5 баксов.
Как только вы получите доску, вам нужно выполнить следующие три дополнительных шага:
- Установите последнюю IDE Arduino
- Настройте ESP32 в IDE и
- Установите библиотеку VGA
Подэтап 1.
Существуют разные методы программирования ESP32, но здесь вам нужно использовать последнюю версию Arduino IDE (я использую версию 1.8.9). Чтобы установить его, вы можете перейти на страницу Arduino IDE и следовать инструкциям.
Подэтап 2
После выполнения предыдущей операции вам необходимо настроить ESP32 в среде Arduino IDE. Это нетривиально, поскольку ESP32 не является (пока?) Родным для него. Вы можете следовать этому руководству или следующим шагам.
1) откройте IDE Arduino
2) откройте окно настроек, Файл / Предпочтения, или нажмите «Ctrl + запятая».
3) перейдите в «Дополнительные URL-адреса Board Manager», скопируйте и вставьте следующий текст:
https://dl.espressif.com/dl/package_esp32_index.json
и нажмите кнопку ОК.
4) Менеджер открытых досок. Перейдите в Инструменты / Доска / Менеджер плат…
5) Найдите ESP32 и нажмите кнопку установки для «ESP32 от Espressif Systems»:
6) На этом этапе, когда вы впервые подключаете ESP32, вы должны выбрать правильную модель из длинного списка доступных плат ESP32 (см. Рисунок в этом шаге). В случае сомнений по поводу модели, просто выберите общую, то есть первую. Меня устраивает.
7) система также должна выбрать правильный порт USB и скорость загрузки (обычно 921600). На этом этапе должно быть установлено соединение между вашим ПК и платой ESP32.
Подэтап 3
Наконец, вам нужно установить библиотеку FabGL VGA. [обновление, июль 2019 г.] Вам нужна старая версия этой библиотеки: вы можете загрузить zip-файл src.old.zip внизу этого шага, распаковать и переименовать папку как «src» в вашем
Папка «… / arduino-1.8.9 / libraries».
После того, как вы выполнили эти операции, вы можете перейти к следующему шагу и загрузить измененный TinyBasic, следуя следующему шагу.
Шаг 2. Загрузка крошечного базового кода в ESP32
Загрузите ESP32_TinyBasicPlus_PS2_FabLab_beta.ino внизу этого шага.
Откройте его с помощью Arduino IDE и загрузите в свой необработанный ESP32.
Если у вас нет сообщений об ошибках, код уже должен быть запущен.
Факультативный шаг: если вы хотите протестировать TinyBasic перед подключением клавиатуры VGA и PS2, вы уже можете сделать это с помощью клиента SSH и telnet. Я использую PuTTY.
Вы можете увидеть, как это выглядит на картинках на этом шаге.
Шаг 3: Подключение порта VGA
Вам потребуются следующие детали:
- разъем DSUB15, т. е. гнездовой разъем VGA или кабель VGA, который необходимо обрезать.
- три резистора на 270 Ом.
Подключите контакты 2, 15 и 21 GPIO ESP32 к VGA Red, Green и Blue соответственно через резисторы 270 Ом.
Подключите VGA Hsync и Vsync к контактам 17 и 4 GPIO ESP32 соответственно.
Подключите контакты 5, 6, 7, 8 и 10 разъемов DSUB15 к ESP32 GND.
Определение контактов разъема VGA DSUB15 см. На рисунке в этом шаге. NB, это сторона пайки гнездового разъема.
Шаг 4: Подключение порта PS2
Вам понадобится гнездовой разъем клавиатуры PS2.
Вы можете получить его от старой материнской платы ПК, просто распродав его с помощью теплового пистолета. На картинке, показанной в этом шаге, вы можете найти функцию необходимых контактов разъема PS2.
Связь бывают:
- Данные с клавиатуры на вывод 32 GPIO ESP32
- IRQ клавиатуры (часы) к контакту 33 GPIO ESP32
- Вам также необходимо подключить контакт 5V и GND.
Шаг 5: Программирование с помощью Tiny Basic
На этом этапе, если вы можете подключить монитор VGA, клавиатуру PS2 и ESP32 к источнику питания.
Показанное здесь изображение должно появиться на мониторе. Теперь вы можете немного поиграть с командами Tiny Basic.
Попробуйте, например, обязательный Hello, Word! бесконечная петля:
10 отпечатков "Hello, World!"
20 перейти 10
запустить
Вы можете изменить четыре разных цвета, нажав кнопку esc, и остановить цикл с помощью ctrl + c
Учтите, что если вы сделаете опечатку, вы не сможете ее отменить! Или лучше, вы можете отменить, но тогда исправление опечатки не распознается. Вам нужно переписать всю командную строку.
Теперь вы можете попробовать что-то более сложное, например, управлять миганием светодиода с помощью базовой программы. Подключите, например, анод светодиода (длинная ножка) к контакту 13 GPIO ESP32, а катод - к GND.
Затем написать:
новый
10 я = 1000
20 печать я
30 задержка я
40 dwrite 13, высокий
50 задержка я
60 dwrite 13, низкий
70 я = я * 9/10
80, если i> 0, перейти к 20
90 конец
запустить
Вы можете увидеть результат в видео, встроенном в эту инструкцию.
Шаг 6: Подключение карты памяти SD
Винтажный компьютер, каким бы маленьким и слабым он ни был, не может быть полноценным, если вы не можете хранить свои программы постоянно.
На этом шаге я покажу, как подключить карту памяти SD, но, к сожалению, на данный момент (надеюсь, только на данный момент) сохранение программ не работает!
Кстати, я использовал адаптер microSD для SD-карты и припаял 8 L-образных контактов, как показано на рисунке в этом шаге.
Затем я подключил контакты адаптера SD к ESP32 в соответствии со вторым рисунком, то есть я подключил контакты 5, 18, 19, 23 ESP32 GPIO к SC, clock, MISO, MOSO соответственно, плюс 3,3 В и два GND.
Я также следовал инструкциям и примерам, найденным здесь, и с примером кода SD_test.ino я могу писать на моей 2-гигабайтной карте microSD.
Таким образом, если кто-нибудь найдет решение, пожалуйста, сообщите мне как можно скорее на мою электронную почту [email protected], и я заполню эту инструкцию.
Шаг 7: Благодарности
Я хочу поблагодарить Фабрицио Ди Витторио за его потрясающую библиотеку ESP32 VGA. Для получения более подробной информации, примеров и… Space Invaders посетите его сайт здесь.
Большое спасибо также авторам Tiny Basic:
- Майк Филд
- Скотт Лоуренс
- Брайан О'Делл
Наконец, если вам нравится этот проект, напишите комментарий или поделитесь изображением устройства, которое вы создаете … и, в конце концов, проголосуйте за него в конкурсе Arduino!
Рекомендуемые:
Регулируемый линейный источник питания с двойным выходом: 10 шагов (с изображениями)
Регулируемый линейный источник питания с двойным выходом: Характеристики: Преобразование переменного тока в постоянный Двойное выходное напряжение (положительное - заземление - отрицательное) Регулируемые положительная и отрицательная шины Просто трансформатор переменного тока с одним выходом Выходной шум (20 МГц-BWL, без нагрузки): около 1,12 мВ на пике, низкий шумность и стабильные выходы (идеальный
Базовый ПК Arduino с выходом VGA: 5 шагов (с изображениями)
Базовый компьютер Arduino с выходом VGA: в моем предыдущем руководстве я показал, как построить 8-битный компьютер в стиле ретро, работающий на BASIC, с помощью двух Arduino и с выходным сигналом в черно-белом для экрана телевизора. Сейчас я покажу, как собрать такой же компьютер, но с выходным сигналом в
Калькулятор Arduino со светодиодным выходом: 5 шагов
Калькулятор Arduino со светодиодным выходом: Привет, ребята! Хотите узнать, как использовать последовательный ввод и вывод монитора. Итак, у вас есть идеальный учебник о том, как это сделать! В этом руководстве я проведу вас через простые шаги, необходимые для создания калькулятора с использованием последовательного порта Arduino m
PropVario, вариометр / альтиметр для самостоятельной сборки с голосовым выходом для радиоуправляемых планеров: 7 шагов (с изображениями)
PropVario, вариометр / альтиметр для самостоятельной сборки с голосовым выходом для радиоуправляемых планеров: эта инструкция покажет вам, как построить недорогой вариометр, который мог бы определять высоту и, конечно, посылать различные звуковые сигналы при изменении высоты вашего планера. Некоторые функции: - голос и тон - используйте свои собственные (волновые) семплы в вашем ла
Базовый ПК Arduino с ТВ-выходом: 5 шагов (с изображениями)
Базовый ПК Arduino с ТВ-выходом: в этой инструкции я покажу, как построить 8-битный ретро-компьютер под управлением BASIC с помощью двух Arduino и нескольких других компонентов. Вы можете вводить переменные и программу BASIC с клавиатуры PS2, и результат отображается на мониторе с