Talaan ng mga Nilalaman:

Pangunahing PC ng ESP32 Sa Paglabas ng VGA: 7 Mga Hakbang
Pangunahing PC ng ESP32 Sa Paglabas ng VGA: 7 Mga Hakbang

Video: Pangunahing PC ng ESP32 Sa Paglabas ng VGA: 7 Mga Hakbang

Video: Pangunahing PC ng ESP32 Sa Paglabas ng VGA: 7 Mga Hakbang
Video: Неиспользованные диалоги и реплики в GTA SAN ANDREAS и методы их поиска в игровых файлах 2024, Hulyo
Anonim
Image
Image
Mga Board ng ESP32, Pag-install ng Arduino IDE at Pag-configure ng VGA Library
Mga Board ng ESP32, Pag-install ng Arduino IDE at Pag-configure ng VGA Library

Sa Instructable na ito ay ipapakita ko kung paano bumuo ng isang simpleng istilong retro na PC na tapos sa isang solong ESP32 at ilang iba pang mga bahagi.

Nagpapatakbo ang PC ng Tiny Basic, isang pinasimpektang dayalekto ng BASIC, at bumubuo ng output para sa isang VGA monitor.

Ang resolusyon ay 640x350 mga pixel, pinapayagan ang 80x25 asci na mga character sa 8 mga kulay. Ang isang PS2 keyboard ay maaaring konektado at magamit upang isulat ang code, na nagpapahintulot sa hanggang sa 14059 bytes ng memorya.

Ang mga ESP32 I / O na pin ay maaaring direktang hinimok ng nakatuon na mga pangunahing utos na BASIC.

Ang proyektong ito ay ginawang posible ng kamangha-manghang aklatan ng ESP32 VGA na isinulat ni Fabrizio Di Vittorio. Tingnan dito para sa karagdagang detalye.

Hakbang 1: Mga Board ng ESP32, Pag-install ng Arduino IDE at Pag-configure ng VGA Library

Mga Board ng ESP32, Pag-install ng Arduino IDE at Pag-configure ng VGA Library
Mga Board ng ESP32, Pag-install ng Arduino IDE at Pag-configure ng VGA Library
Mga Board ng ESP32, Pag-install ng Arduino IDE at Pag-configure ng VGA Library
Mga Board ng ESP32, Pag-install ng Arduino IDE at Pag-configure ng VGA Library

Una sa lahat kailangan mong bumili ng isang ESP32 na rebisyon 1 o mas mataas. Maraming magagamit na mga bersyon, ngunit inirerekumenda kong pumili ng isa na may maraming mga pin. Gumagamit ako ng bersyon na ito, ngunit sa palagay ko marami pang iba ay mabuti rin. Halimbawa, sa paglalarawan ng video na ito, mahahanap mo ang tatlong iba pang mga modelo na mas mababa sa 5 pera.

Kapag nakuha mo ang board, kailangan mong magpatuloy sa sumusunod na tatlong mga sub-hakbang:

  1. I-install ang huling Arduino IDE
  2. I-configure ang ESP32 sa IDE at
  3. I-install ang VGA library

Sub-hakbang 1.

Mayroong iba't ibang mga pamamaraan upang mai-program ang ESP32, ngunit narito kailangan mong gamitin ang pinakabagong Arduino IDE (Gumagamit ako ng bersyon 1.8.9). Upang mai-install ito, maaari kang pumunta sa pahina ng Arduino IDE at sundin ang tagubilin.

Sub-hakbang 2

Kapag tapos na ang nakaraang operasyon, kailangan mong i-configure ang iyong ESP32 sa loob ng Arduino IDE. Ito ay hindi gaanong mahalaga, dahil ang ESP32 ay hindi (pa?) Katutubo dito. Maaari mong sundin ang tutorial na ito, o ang mga sumusunod na hakbang.

1) buksan ang Arduino IDE

2) buksan ang window ng mga kagustuhan, File / Preferensya, kahalili pindutin ang "Ctrl + comma"

3) pumunta sa "Mga Karagdagang Mga URL ng Manager ng Board", kopyahin at i-paste ang sumusunod na teksto:

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

at i-click ang OK na pindutan.

4) Open boards manager. Pumunta sa Mga Tool / Board / Board Board…

5) Maghanap para sa ESP32 at pindutin ang pindutan ng pag-install para sa "ESP32 ng Espressif Systems":

6) Sa puntong ito, kapag kumonekta ka sa unang pagkakataon sa iyong ESP32, dapat mong piliin ang tamang modelo sa mahabang listahan ng mga magagamit na mga board ng ESP32 (tingnan ang larawan sa hakbang na ito). Sa kaso ng mga pag-aalinlangan tungkol sa modelo, piliin lamang ang generic, ibig sabihin, ang una. Gumagana sa akin.

7) dapat ding piliin ng system ang tamang USB port at ang Bilis ng Pag-upload (karaniwang 921600). Sa puntong ito ang koneksyon sa pagitan ng iyong PC at ng board ng ESP32 ay dapat na maitatag.

Sub-hakbang 3

Sa wakas kailangan mong i-install ang FabGL VGA library. [update July 2019] Kailangan mo at lumang bersyon ng libray na ito: maaari mong i-download ang zip file src.old.zip sa ilalim ng hakbang na ito, huwag i-compress at palitan ang pangalan ng folder bilang "src" sa iyong

"… / arduino-1.8.9 / mga aklatan" folder.

Kapag nagawa mo na ang mga operasyong ito, maaari kang pumunta sa susunod na hakbang at i-upload ang binagong TinyBasic na sumusunod sa susunod na hakbang.

Hakbang 2: Pag-upload ng Maliliit na Batayang Code sa ESP32

Pag-upload ng Maliliit na Batayang Code sa ESP32
Pag-upload ng Maliliit na Batayang Code sa ESP32
Pag-upload ng Maliliit na Batayang Code sa ESP32
Pag-upload ng Maliliit na Batayang Code sa ESP32

I-download ang ESP32_TinyBasicPlus_PS2_FabLab_beta.ino sa ilalim ng hakbang na ito.

Buksan ito gamit ang Arduino IDE at i-upload ito sa iyong hilaw na ESP32.

Kung wala kang mga mensahe ng error, dapat na tumatakbo ang code.

Hakbang sa facultative: kung nais mong subukan ang TinyBasic bago ikonekta ang VGA at PS2 keyboard, magagawa mo na ito sa isang SSH at telnet client. Gumagamit ako ng PuTTY.

Maaari mong makita kung paano ito nakikita sa mga larawan sa hakbang na ito.

Hakbang 3: Pagkonekta sa VGA Port

Pagkonekta sa VGA Port
Pagkonekta sa VGA Port

Kailangan mo ang mga sumusunod na bahagi:

  • isang Konektor ng DSUB15, ibig sabihin ay isang konektor ng babaeng VGA o isang VGA cable na puputulin.
  • tatlong 270 Ohm resistors.

Ikonekta ang ESP32 GPIO pin 2, 15 at 21 sa VGA Red, Green at Blue ayon sa pagkakabanggit, sa pamamagitan ng 270 Ohm resistors.

Ikonekta ang VGA Hsync at Vsync sa ESP32 GPIO pin 17 at 4 ayon sa pagkakabanggit.

Ikonekta ang mga konektor ng DSUB15 na 5, 6, 7, 8 at 10 sa ESP32 GND.

Para sa kahulugan ng pin ng konektor ng VGA DSUB15, tingnan ang larawan sa hakbang na ito. NB, ito ang bahagi ng paghihinang ng babaeng konektor.

Hakbang 4: Pagkonekta sa PS2 Port

Pagkonekta sa PS2 Port
Pagkonekta sa PS2 Port

Kailangan mo ng isang konektor ng babaeng PS2 keyboard.

Maaari kang makakuha ng isa mula sa isang lumang PC motherboard, i-unsold lamang ito sa isang heat gun. Sa larawang ipinakita sa hakbang na ito, mahahanap mo ang pagpapaandar ng kinakailangang mga pin ng konektor ng PS2.

Ang koneksyon ay:

  • Data ng Keyboard sa ESP32 GPIO pin 32
  • Keyboard IRQ (orasan) sa ESP32 GPIO pin 33
  • Kailangan mo ring ikonekta ang 5V pin at ang GND.

Hakbang 5: Programming Sa Maliliit na Pangunahin

Programming With Tiny Basic
Programming With Tiny Basic
Programming With Tiny Basic
Programming With Tiny Basic

Sa puntong ito, kung maaari mong ikonekta ang monitor ng VGA at PS2 keyboard at ang ESP32 sa power supply.

Ang imahe na ipinapakita dito ay dapat na lumitaw sa monitor. Ngayon ay maaari kang maglaro nang kaunti sa mga maliliit na utos ng Batas.

Subukan, halimbawa, ang sapilitan Kumusta, Salita! walang katapusang loop:

10 print na "Kumusta, Mundo!"

20 goto 10

tumakbo

Maaari mong baguhin ang apat na magkakaibang mga kulay ng pagpindot sa pindutan ng esc, at ihinto ang loop gamit ang ctrl + c

Tandaan na kung gumawa ka ng isang typo, hindi mo ito makakansela! O mas mabuti, maaari mong kanselahin ngunit pagkatapos ay ang pagwawasto ng typo ay hindi makilala. Kailangan mong muling isulat ang buong linya ng utos.

Ngayon ay maaari mong subukan ang isang bagay na mas kumplikado, tulad ng pagmamaneho ng blinking ng isang LED na may pangunahing programa. Ikonekta, halimbawa, ang LED anode (ang mahabang binti) sa ESP32 GPIO pin 13, at ang cathode sa GND.

Pagkatapos ay isulat:

bago

10 i = 1000

20 print i

30 antala i

40 ibawas ang 13, mataas

50 pagkaantala i

60 ibawas ang 13, mababa

70 i = i * 9/10

80 kung ako> 0 goto 20

90 pagtatapos

tumakbo

Maaari mong makita ang resulta sa video na naka-embed sa Instructable na ito.

Hakbang 6: Pagkonekta ng isang SD Memory Card

Pagkonekta ng isang SD Memory Card
Pagkonekta ng isang SD Memory Card
Pagkonekta ng isang SD Memory Card
Pagkonekta ng isang SD Memory Card

Ang isang antigong PC, hindi mahalaga kung gaano kaunti at mahina, ay hindi kumpleto kung hindi mo maiimbak nang permanente ang iyong mga programa.

Sa hakbang na ito ipapakita ko kung paano ikonekta ang isang SD memory card, ngunit sa kasamaang palad, sa sandaling ito (inaasahan ko lamang para sa sandali), ang pag-iimbak ng mga programa ay hindi gagana!

Ang BTW, gumamit ako ng isang microSD sa SD card adapter at naghinang ako ng 8 mga hugis na L na pin tulad ng ipinakita sa larawan sa hakbang na ito.

Naikonekta ko pagkatapos ang mga pin ng adapter ng SD sa ESP32 ayon sa pangalawang larawan niya, ibig sabihin, nakakonekta ko ang mga pin ng ESP32 GPIO 5, 18, 19, 23 sa SC, orasan, MISO, MOSO ayon sa pagkakabanggit, kasama ang 3.3V at dalawang GND.

Sinundan ko rin ang mga tagubilin at halimbawang nahanap dito, at sa halimbawa ng code na SD_test.ino, maaari akong magsulat sa aking 2 GBytes microSD card.

Kaya kung may makahanap ng solusyon, mangyaring ipagbigay-alam sa akin sa aking email na [email protected] at makukumpleto ko ang Maituturo na ito.

Hakbang 7: Mga Pagkilala

Mga Pasasalamat
Mga Pasasalamat

Nais kong ipahayag ang aking mga tangke kay Fabrizio Di Vittorio para sa kanyang kahanga-hangang aklatan ng ESP32 VGA. Para sa higit pang mga detalye, halimbawa, at… Space Invaders, bisitahin ang kanyang site dito.

maraming salamat din sa mga may-akda ng Tiny Basic:

  • Mike Field
  • Scott Lawrence
  • Brian O'Dell

Panghuli, kung gusto mo ang proyektong ito, mangyaring sumulat ng isang komento o magbahagi ng larawan ng aparato na iyong itinatayo… at, higit sa lahat, iboto ito sa paligsahan ng Arduino!

Inirerekumendang: