Talaan ng mga Nilalaman:

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

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

Video: Pangunahing PC ng Arduino Sa TV Output: 5 Hakbang (na may Mga Larawan)
Video: НОВИНКА! Самая дешевая со слежением за ЧЕЛОВЕКОМ камера видеонаблюдения Icsee Xmeye 2024, Nobyembre
Anonim
Image
Image
Pangunahing PC ng Arduino Sa Output ng TV
Pangunahing PC ng Arduino Sa Output ng TV
Pangunahing PC ng Arduino Sa Output ng TV
Pangunahing PC ng Arduino Sa Output ng TV
Pangunahing PC ng Arduino Sa Output ng TV
Pangunahing PC ng Arduino Sa Output ng TV

Sa Mga Instruction na ito ay ipapakita ko kung paano bumuo ng isang retro 8-bit computer na tumatakbo BASIC, sa pamamagitan ng dalawang Arduino at ilang iba pang mga bahagi.

Maaari mong mai-input ang mga variable at ang programa na BASIC gamit ang isang PS2 keyboard, at ang output ay ipinapakita sa isang monitor na may isang teksto na 47 mga haligi x 29 mga hilera ng 8x8 pixel na mga character (B&W), isang resolusyon na katulad o mas mahusay kaysa sa Commodore 64, katumbas ng 40 x 25 character.

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.

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 video salamat sa kakila-kilabot na library ng MRETV.

Ang ideya na gumamit ng isa o higit pang Arduino upang lumikha ng isang lumang istilo ng PC na nagpapatakbo ng isang dayalekto ng Pangunahin ay hindi bago, ngunit hanggang ngayon doon kung saan ang ilang malalakas na limitasyon sa resolusyon ng output. 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 may mas mababang resolusyon. 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, isang pares ng mga diode, kaunting resistors at ang konektor para sa PS2 keyboard at monitor, tulad ng ipinakita sa larawan sa itaas.

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

Ang TinyBasic Plus at MRETV ay gumagana para sa nakatatanda - at iba - Arduino IDE.

Una i-download ang IDE 1.6.4 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

Panghuli, sa pahinang ito, i-download ang file: TinyBasicPlus_PS2.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 nababago 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 rate ng baud = 2400

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 taht ang kombinasyong 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;
  • syempre kailangan mong ikonekta ang GND at + 5V din.

Nakuha ko ang isang lumang konektor ng PS2 na babae mula sa isang sirang PC motherboard. Maaari mo lamang itong ibenta sa 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 MRETV Library sa Pangalawang Arduino at Isama ang Lahat

I-upload ang MRETV Library sa Pangalawang Arduino at Isama ang Lahat
I-upload ang MRETV Library sa Pangalawang Arduino at Isama ang Lahat

Ang pangunahing punto ng proyektong ito ay ang pagkakaroon ng kahanga-hangang library ng MRETV. Mayroong isang nakatuon na Makatuturo kung saan ito ay inilarawan sa mga detalye.

Gumagamit lamang ito ng dalawang resistors at dalawang diode upang makabuo ng buong screen video, na may resolusyon sa teksto na 47 x 29 ng 8x8 na mga character. Tulad ng sinasabi nito sa panimula, "ang pagbuo ng video ay nagawa na noon, ngunit hindi tulad nito. Magagamit pa rin ang BUONG serial DUPLEX habang bumubuo ng video". Pinapayagan nitong makuha ang data mula sa "master" na Arduino at ipakita ang mga ito sa monitor. Sa pagsasagawa ng pangalawang "alipin" na Arduino na ito ay ginagamit bilang isang graphic interface!

Dahil gumagana ang MRETV para sa IDE 1.6.6, i-download ito mula sa opisyal na web page ng Arduino. Muli, 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.

I-download pagkatapos ang MRETV library mula sa link na ito.

I-compress ito at i-save ang folder na "MRETV" sa: arduino-1.6.6 / mga aklatan

Panghuli i-download ang TVtext_slave.rar sa ilalim ng pahinang ito, huwag i-compress ito at i-upload sa iyong alipin ng Arduino.

Kung walang mensahe ng error, maaari mong ikonekta ang konektor ng RCA. Kailangan mo ang dalawang diode at ang resistors ng 1 kOhm at 300 Ohm, tulad ng ipinakita sa eskematiko sa pahinang ito.

Sa puntong ito maaari mong ikonekta ang lahat nang magkasama.

Ang kumpletong listahan ng mga materyales ay:

  • dalawang Arduino Uno Rev. 3 o dalawang Arduino Nano 3.x (ATmega328)
  • dalawang resistors 1 kOhm
  • isang risistor 300 Ohm
  • dalawang diode 1n4148 (x2) o katulad na silicon switching diode
  • dalawang RCA plug na babae (isa para sa video, isa - facultative - para sa audio)
  • isang konektor ng babaeng PS2
  • isang breadboard at wires

Ang master Arduino ay nagpapadala ng data sa aliping alipin ng orange cable, ibig sabihin, master pin 1 (Tx) sa slave pin 2 (Rx). Kung kailangan mong muling mag-upload ng ilang code, dapat mo munang idiskonekta ang cable na ito.

Ikonekta pagkatapos ang alipin na arduino sa isang 5V power supply, ang RCA cable sa TV at ang keyboard sa PS2, at dapat mo na ngayong makita ang code sa iyong TV!

Ang mga pag-andar ng Basic na dayalekto na ito ay inilarawan sa mga detalye sa homepage nito (tingnan ang link sa hakbang 2). Gamit ang mga utos na "esave" at "eload" maaari mong i-save ang isang Pangunahing programa sa EEPROM. Ang program na ito ay pinapatakbo bilang default sa tuwing ire-reset mo ang master Arduino. Upang tanggalin ito maaari mong gamitin ang utos na "eformat".

Ang isa sa pinakamahalagang tampok ng program na ito ay maaari mo pa ring himukin ang master Arduino I / O na may nakalaang Pangunahing mga utos, tulad ng

  • DWRITE pin, halaga - itakda ang pin na may isang halaga (TAAS, HI, LOW, LO)
  • AWRITE pin, halaga - itakda ang pin na may halagang analog (pwm) 0..255
  • DREAD (pin) - kunin ang halaga ng pin
  • AREAD (analogPin) - kunin ang halaga ng analog pin

Kaya't maaari kang magsulat ng isang programa sa Pangunahin na nag-mamaneho ng ilang hardware, i-save ito sa EEPROM at pagkatapos ay awtomatikong patakbuhin ito sa pag-reset lamang ng Arduino.

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

Maaari mo ring buuin ang Pangunahing 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 board.

Maaari kang gumamit ng dalawang mga babaeng header strip na may 15 butas para sa output ng video na Arduino, habang para sa master iminumungkahi kong gumamit ng apat na piraso. Sa ganitong paraan maaari mong gamitin ang mga panlabas upang maipasok ang mga contact ng iyong mga proyektong bahagi.

Nagdagdag din ako sa gitna ng mga natitirang piraso, ang isa ay nakakonekta sa 5 V at ang isa pa para sa GND.

Sa wakas, sa.rar file, mahahanap mo ang mga maskara upang mag-ukit ng isang tanso na board.

Hakbang 5: Pangwakas na Mga Komento at Pagkilala

Hindi maaaring magawa ang proyektong ito kung wala ang MRETV library. Sa gayon ang aking pangunahing pagkilala ay napupunta sa kanyang may-akda, na gumagamit ng akronim na G. E.

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: mas madaling bumuo na maaaring sa unang tingin. Ang aking pangunahing problema ay ang sa mga pagiging tugma ng Arduino IDE. 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: