Talaan ng mga Nilalaman:

Pangunahing PC ng Arduino Sa Output ng VGA: 5 Mga Hakbang (na may Mga Larawan)
Pangunahing PC ng Arduino Sa Output ng VGA: 5 Mga Hakbang (na may Mga Larawan)

Video: Pangunahing PC ng Arduino Sa Output ng VGA: 5 Mga Hakbang (na may Mga Larawan)

Video: Pangunahing PC ng Arduino Sa Output ng VGA: 5 Mga Hakbang (na may Mga Larawan)
Video: Arduino MASTERCLASS | Full Programming Workshop in 90 Minutes! 2024, Nobyembre
Anonim
Image
Image
Pangunahing PC ng Arduino Sa Paglabas ng VGA
Pangunahing PC ng Arduino Sa Paglabas ng VGA
Pangunahing PC ng Arduino Sa Paglabas ng VGA
Pangunahing PC ng Arduino Sa Paglabas ng VGA

Sa aking nakaraang Instructable naipakita ko kung paano bumuo ng isang retro 8-bit computer na tumatakbo BASIC, sa pamamagitan ng dalawang Arduino, at may isang output signal sa B&W para sa isang TV screen.

Ipapakita ko ngayon kung paano bumuo ng parehong computer, ngunit may kulay ng signal ng output para sa isang monitor ng VGA!

Maaari mong mai-input ang mga variable at ang programa na BASIC gamit ang isang PS2 keyboard, at bumubuo ito ng output para sa isang monitor ng VGA na may resolusyon ng teksto na 24 haligi x 10 mga hilera ng mga character na 5x6 pixel, sa apat na kulay. Maaari mo itong makita sa pagkilos sa itaas na video. Pagkatapos ay mai-save ang programa sa Arduino EEPROM, at makokontrol mo pa rin ang mga I / O na direkta sa pamamagitan ng Pangunahing nakatuon na mga utos.

Maaari ding magamit ang proyektong ito upang mag-print ng mga simpleng text message sa monitor, tulad ng ipinakita sa pangatlong larawan sa pahinang ito.

Ang One Arduino ay ang "master", at pinapatakbo nito ang Tiny Basic Plus, isang pagpapatupad ng C ng Tiny Basic, na may pagtuon sa suporta para sa Arduino. Kinokontrol din nito ang isang PS2 keyboard. Pagkatapos ay ipinadala ang output sa pamamagitan ng serial port sa pangalawang Arduino na bumubuo ng output ng VGA salamat sa VGAx library.

Ang ideya na gumamit ng isa o higit pang Arduino upang lumikha ng isang lumang istilong PC na nagpapatakbo ng isang dayalekto ng Pangunahin ay hindi bago ngunit, sa pagkakaalam ko, wala sa kanila ang may isang output ng kulay. Sa ilang mga proyekto na magagamit sa net, ang mga tao ay gumagamit ng mga LCD display, habang sa iba, upang payagan ang paggamit ng mga monitor, ginamit ito sa TVout library, na kung saan ay B&W. Bukod dito sa marami sa mga proyektong ito ay kailangang itayo ng mga espesyal na kalasag o hardware. Dito kailangan mo lamang ng dalawang Arduino, ilang resistors at ang konektor para sa PS2 keyboard at monitor, tulad ng ipinakita sa mga larawan sa itaas.

Hakbang 1: Buuin ang Arduino Master Sa TinyBasic at PS2 Keyboard

Gumagana ang TinyBasic Plus at ang aklatan ng VGAx para sa Arduino IDE 1.6.4.

Una i-download ito mula sa opisyal na web page ng Arduino. Kung mayroon kang isang mas bagong mga bersyon sa iyong PC, ang pinakamahusay na i-download ito sa format na.zip at i-compress ang mga ito sa iyong PC. I-click ang link na ito upang mai-download ang bersyon ng Windows.

Kailangan mo ng PS2keyboard library. Mahahanap mo ito sa ilalim ng pahinang ito. I-compress lang ito at kopyahin ang folder na PS2keyboard sa: arduino-1.6.4 / mga aklatan

Sa wakas, sa pahinang ito, i-download ang file: TinyBasicPlus_PS2_VGAx.ino, huwag i-compress at i-upload ito sa iyong Arduino.

Ito ay isang pagkakaiba-iba ng karaniwang TinyBasic Plus kung saan naidagdag ko ang PS2 library at binago ang code upang tanggapin ang mga variable mula rito.

Higit pang mga detalye sa TiniBasic Plus at mga tutorial ay matatagpuan sa link na ito.

Kung walang mga problema, at mga isyu sa pagiging tugma, tumatakbo na ang Tiny Basic. Maaari mong subukan ito sa pamamagitan ng isang serial monitor sa iyong PC. Para sa hangaring ito ay gumagamit ako ng PuTTY, ngunit maraming iba pang mga programa ang magagamit.

Kailangan mong itakda ang tamang COM port (pareho ito ng nahanap mo sa Arduino IDE) at baud rate = 4800

Dito mo na masusubukan ang ilang programa sa Pangunahin sa pamamagitan lamang ng pagta-type sa mga ito sa iyong PC keyboard (NB sa paglaon ay ipapakita ko kung paano ikonekta ang PS2 keyboard nang direkta sa Arduino).

Subukan halimbawa:

10 PRINT "Kumusta, Mundo!"

20 GOTO 10

TUMATAKBO

Pagkatapos ay maaari mong ihinto ang infinite loop sa pamamagitan lamang ng pag-type sa ctrl + c.

Tandaan na ang kumbinasyong ito ay hindi gagana para sa PS2 keyboard.

Sa susunod na hakbang ay ipapakita ko kung paano ikonekta ang PS2 keyboard sa Arduino.

Hakbang 2: Ikonekta ang PS2 Keyboard sa Master Arduino

Ikonekta ang PS2 Keyboard sa Master Arduino
Ikonekta ang PS2 Keyboard sa Master Arduino

Nakuha ko ang lahat ng mga impormasyon at silid-aklatan mula sa Instructable na ito.

Mahalaga na kailangan mong ikonekta ang pag-folow ng apat na mga pin:

  • Data ng keyboard sa Arduino pin 8,
  • keyboard IRQ (orasan) sa Arduino pin 3;
  • kailangan mong ikonekta ang GND at + 5V din.

Nakuha ko ang isang lumang PS2 babaeng konektor mula sa isang sirang PC motherboard. Maaari mo lamang itong ibenta gamit ang isang heat gun.

Sa larawang ipinakita sa hakbang na ito, mahahanap mo ang pagpapaandar ng kinakailangang mga pin ng konektor ng PS2.

Hakbang 3: I-upload ang VGAx Library at Code sa Pangalawang Arduino at Isama ang Lahat

I-upload ang VGAx Library at Code sa Pangalawang Arduino at Isama ang Lahat
I-upload ang VGAx Library at Code sa Pangalawang Arduino at Isama ang Lahat

Una i-download ang VGAx-PC.ino code sa ilalim ng pahinang ito at kopyahin ito sa iyong PC sa isang direktoryo na may parehong pangalan.

I-download ang VGAx library mula sa link na ito sa GitHub. Ang pinakamadaling paraan ay kopyahin ito sa Arduino software subfolder na pinangalanang "library", upang makilala kaagad.

MAHALAGA: gumagana ang library na ito para sa Arduno IDE 1.6.4 ngunit hindi ito ganap na katugma sa mas matanda o mas bagong mga bersyon.

I-upload ang VGAx-PC.ino sa iyong pangalawang board ng Arduino (Sinubukan ko ito para sa bersyon ng Nano ngunit dapat ding gumana ang Uno).

Ang isang babala para sa mababang magagamit na memorya ay normal. Kung wala kang iba pang mga pagkakamali ang lahat ay ok at maaari mong agad na simulan upang bumuo ng iyong sariling 8-bit PC.

Para sa mga ito kailangan mo:

  • dalawang Arduino Uno Rev. 3 o dalawang Arduino Nano 3.x (ATmega328)
  • isang Konektor ng DSUB15, ibig sabihin ay isang konektor ng babaeng VGA o isang VGA cable na puputulin.
  • resistors: 2 x 68 Ohm at 2 x 470 Ohm
  • isang konektor ng babaeng PS2
  • mga wire
  • facultative: isang breadboard o isang strip board

Ang eskematiko ay iniulat sa tuktok ng hakbang na ito. Ang isang halimbawa ng tapos na "console" ay ipinapakita sa hakbang na nagpapakilala.

Ang parehong eskematiko, na may mas mataas na resolusyon, ay naiulat sa isang naka-compress na file sa ilalim ng hakbang na ito.

Hakbang 4: Opsyonal: Paggamit ng PCB

Opsyonal: Paggamit ng isang PCB
Opsyonal: Paggamit ng isang PCB
Opsyonal: Paggamit ng isang PCB
Opsyonal: Paggamit ng isang PCB
Opsyonal: Paggamit ng isang PCB
Opsyonal: Paggamit ng isang PCB
Opsyonal: Paggamit ng isang PCB
Opsyonal: Paggamit ng isang PCB

Maaari mo ring buuin ang Pangunahing VGA PC na ito gamit ang isang maliit na PCB. Maaari kang kumuha ng inspirasyon mula sa mga larawan sa hakbang na ito o maaari mo ring mai-print ang iyong sariling board.

Gumamit ako ng dalawang babaeng header strip na may 15 butas para sa output ng video na Arduino, habang para sa master gumamit ako ng dalawang piraso na may doble hole. Sa ganitong paraan maaari kong gamitin ang mga panlabas upang maipasok ang mga contact ng iba pang mga proyekto ng mga unit, na maaaring direktang hinimok ng Pangunahing code. Nagdagdag din ako sa gitna ng mga natitirang piraso, ang isa ay nakakonekta sa 5 V at ang isa pa para sa GND.

Hakbang 5: Pangwakas na Mga Komento at Pagkilala

Ang aking pangunahing pagkilala ay napupunta kay Sandro Maffiodo aka Smaffer, ang tagalikha ng kahanga-hangang VGAx library.

Maraming salamat din sa mga may-akda ng TinyBasic Plus:

  • Maliliit na Pangunahing 68k - Gordon Brandly
  • Pangunahing Arduino / Tiny Basic C - Michael Field
  • Tiny Basic Plus - Scott Lawrence

Salamat din sa "djsadeepa", ang may-akda ng Instructable para sa koneksyon ng PS2 keyboard.

Sa lahat ng mga taong interesado sa proyektong ito: kung mayroon kang mga problema, huwag mag-atubiling magtanong ng mga mungkahi sa mga komento.

Kung magtagumpay ka, mangyaring sumulat din ng isang puna o magbahagi ng larawan ng aparato na iyong binuo.

Inirerekumendang: