Съдържание:

ESP32 Basic PC с VGA изход: 7 стъпки
ESP32 Basic PC с VGA изход: 7 стъпки

Видео: ESP32 Basic PC с VGA изход: 7 стъпки

Видео: ESP32 Basic PC с VGA изход: 7 стъпки
Видео: Вывод изображения с Arduino и ESP32 на монитор 2024, Ноември
Anonim
Image
Image
Платки ESP32, инсталиране на Arduino IDE и конфигурация на VGA библиотека
Платки ESP32, инсталиране на Arduino IDE и конфигурация на VGA библиотека

В тази инструкция ще покажа как да се изгради прост компютър в ретро стил, направен с един ESP32 и няколко други компонента.

Този компютър работи с Tiny Basic, опростен диалект на BASIC и генерира изход за VGA монитор.

Резолюцията е 640x350 пиксела, което позволява 80x25 asci знака в 8 цвята. PS2 клавиатури могат да бъдат свързани и използвани за писане на кода, позволявайки до 14059 байта памет.

Входно -изходните щифтове ESP32 могат да се управляват директно от специални команди BASIC.

Този проект е възможен от страхотната ESP32 VGA библиотека, написана от Fabrizio Di Vittorio. Вижте тук за повече подробности.

Стъпка 1: Платки ESP32, инсталиране на Arduino IDE и конфигурация на VGA библиотека

Платки ESP32, инсталиране на Arduino IDE и конфигурация на VGA библиотека
Платки ESP32, инсталиране на Arduino IDE и конфигурация на VGA библиотека
Платки ESP32, инсталиране на Arduino IDE и конфигурация на VGA библиотека
Платки ESP32, инсталиране на Arduino IDE и конфигурация на VGA библиотека

Първо трябва да закупите ESP32 версия 1 или по -нова. Налични са много версии, но препоръчвам да изберете една с много щифтове. Използвам тази версия, но мисля, че и много други са добре. Например в описанието на това видео можете да намерите три други модела, които са под 5 долара.

След като получите дъската, трябва да продължите със следните три подетапа:

  1. Инсталирайте последната Arduino IDE
  2. Конфигурирайте ESP32 в IDE и
  3. Инсталирайте VGA библиотеката

Под-стъпка 1.

Има различни методи за програмиране на ESP32, но тук трябва да използвате най -новата Arduino IDE (използвам версия 1.8.9). За да го инсталирате, можете да отидете на страницата на Arduino IDE и да следвате инструкциите.

Под-стъпка 2

След като предишната операция е извършена, трябва да конфигурирате вашия ESP32 в рамките на Arduino IDE. Това не е тривиално, тъй като ESP32 не е (все още?) Роден в него. Можете да следвате този урок или следните стъпки.

1) отворете Arduino IDE

2) отворете прозореца с предпочитания, Файл/Предпочитания, алтернативно натиснете "Ctrl+запетая"

3) отидете на „Допълнителни URL адреси на мениджъра на борда“, копирайте и поставете следния текст:

https://dl.espressif.com/dl/package_esp32_index.json

и щракнете върху бутона OK.

4) Отворете мениджъра на дъските. Отидете на Tools/Board/Boards Manager…

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: Качване на Tiny Basic Code в ESP32

Качване на Tiny Basic Code в ESP32
Качване на Tiny Basic Code в ESP32
Качване на Tiny Basic Code в ESP32
Качване на Tiny Basic Code в ESP32

Изтеглете ESP32_TinyBasicPlus_PS2_FabLab_beta.ino в долната част на тази стъпка.

Отворете го с Arduino IDE и го качете на вашия суров ESP32.

Ако нямате съобщения за грешка, кодът вече трябва да се изпълнява.

Факултативна стъпка: ако искате да тествате TinyBasic преди да свържете VGA и PS2 клавиатурата, вече можете да го направите с SSH и telnet клиент. Използвам PuTTY.

Можете да видите как изглежда на снимките в тази стъпка.

Стъпка 3: Свързване на VGA порта

Свързване на VGA порта
Свързване на VGA порта

Нуждаете се от следните части:

  • съединител DSUB15, т.е. VGA женски конектор или VGA кабел, който трябва да се отреже.
  • три 270 ома резистора.

Свържете ESP32 GPIO изводи 2, 15 и 21 към VGA червено, зелено и синьо съответно, чрез резистори от 270 ома.

Свържете VGA Hsync и Vsync към ESP32 GPIO щифтове 17 и 4 съответно.

Свържете щифтовете 5, 6, 7, 8 и 10 на конекторите DSUB15 към ESP32 GND.

За дефиницията на щифта на конектора на VGA DSUB15, вижте картината в тази стъпка. Внимание, това е страната на запояване на женския конектор.

Стъпка 4: Свързване на PS2 порта

Свързване на PS2 порта
Свързване на PS2 порта

Имате нужда от женски конектор за PS2 клавиатура.

Можете да получите такъв от стара дънна платка за компютър, просто го разпродайте с термопистолет. На снимката, показана в тази стъпка, можете да намерите функцията на необходимите щифтове на конектора PS2.

Връзките са:

  • Данни от клавиатурата към ESP32 GPIO пин 32
  • Клавиатура IRQ (часовник) към ESP32 GPIO пин 33
  • Трябва също да свържете 5V щифта и GND.

Стъпка 5: Програмиране с Tiny Basic

Програмиране с Tiny Basic
Програмиране с Tiny Basic
Програмиране с Tiny Basic
Програмиране с Tiny Basic

В този момент, ако можете да свържете VGA монитора и PS2 клавиатурата и ESP32 към захранването.

Изображението, показано тук, трябва да се появи на монитора. Сега можете да играете малко с командите Tiny Basic.

Опитайте например задължителния Hello, Word! безкраен цикъл:

10 отпечатайте "Здравей, свят!"

20 към 10

бягай

Можете да промените в четири различни цвята, като натиснете бутона esc, и да спрете цикъла с ctrl+c

Обърнете внимание, че ако направите печатна грешка, не можете да я отмените! Или по -добре, можете да отмените, но след това корекцията на печатната грешка не се разпознава. Трябва да пренапишете целия команден ред.

Сега можете да опитате нещо по -сложно, като например да задействате мигането на светодиод с основна програма. Свържете например LED анода (дългия крак) към ESP32 GPIO щифт 13 и катода към GND.

След това напишете:

нов

10 i = 1000

20 печат i

30 забавяне i

40 dwrite 13, висок

50 забавяне i

60 dwrite 13, ниско

70 i = i*9/10

80 ако i> 0 отивам на 20

90 край

бягай

Можете да видите резултата във видеото, вградено в тази инструкция.

Стъпка 6: Свързване на SD карта с памет

Свързване на SD карта с памет
Свързване на SD карта с памет
Свързване на SD карта с памет
Свързване на SD карта с памет

Старинен компютър, без значение колко малък и слаб, не може да бъде завършен, ако не можете да съхранявате програмите си за постоянно.

В тази стъпка ще покажа как да свържете SD карта с памет, но за съжаление за момента (надявам се само за момента) съхранението на програми не работи!

Между другото, използвах адаптер за microSD към SD карта и запоявах 8 L-образни щифта, както е показано на снимката в тази стъпка.

След това свързах щифтовете на SD адаптерите към ESP32 според втората снимка, т.е. свързах ESP32 GPIO пиновете 5, 18, 19, 23 към SC, часовник, MISO, MOSO съответно, плюс 3.3V и два GND.

Следвах също инструкциите и примерите, намерени тук, и с примерния код SD_test.ino мога да пиша на своята 2 GB байтова microSD карта.

Така че, ако някой намери решение, моля да ме информира възможно най -скоро на моя имейл [email protected] и аз ще попълня тази инструкция.

Стъпка 7: Благодарности

Благодарности
Благодарности

Искам да изразя танковете си на Fabrizio Di Vittorio за неговата страхотна ESP32 VGA библиотека. За повече подробности, примери и … Space Invaders, посетете сайта му тук.

много благодаря и на авторите на Tiny Basic:

  • Майк Фийлд
  • Скот Лорънс
  • Брайън О'Дел

И накрая, ако харесвате този проект, моля, напишете коментар или споделете снимка на устройството, което изграждате … и най -вече гласувайте за него в конкурса Arduino!

Препоръчано: