Cov txheej txheem:

Sau los ntawm ANSI Lub Sij Hawm: 10 Kauj Ruam
Sau los ntawm ANSI Lub Sij Hawm: 10 Kauj Ruam

Video: Sau los ntawm ANSI Lub Sij Hawm: 10 Kauj Ruam

Video: Sau los ntawm ANSI Lub Sij Hawm: 10 Kauj Ruam
Video: Mob Txaus Lawm - Txhaij Lauj Ft. Tijlaug Xab Thoj (Special Project) 2024, Kaum ib hlis
Anonim
Sau los ntawm ANSI Terminals
Sau los ntawm ANSI Terminals

Txoj haujlwm no tau pib ua txoj hauv kev los nthuav tawm 80 kab ntawv ntawm kab ntawv LCD tsim nyog rau kev siv cov txheej txheem lo lus qub xws li Wordstar. Ntau yam lus qhia tau ntxiv xws li qhov loj me los ntawm 0.96 txog 6 ntiv. Cov lus qhia siv ib zaug PCB ib yam nrog rau ib qho Arduino sketch/program.

Muaj qhov txuas RS232 txuas rau txuas rau lub khoos phis tawj thiab PS/2 lub qhov rau lub keyboard. Cov lus tau raug xaiv los sawv cev rau cov uas nquag muaj ntawm tus nqi tsim nyog. Nyob ntawm lub cim xeeb xav tau cov lus qhia siv Arduino Nano, Uno lossis Mega.

Kauj Ruam 1: Cov ntsiab lus ntawm Cov Lus Qhia

Cov ntsiab lus ntawm Cov Lus Qhia
Cov ntsiab lus ntawm Cov Lus Qhia

Muaj ntau yam kev qhia nrog 480x320 daws teeb meem. Qhov no tso cai rau 9x5 font thiab 80 kab ntawv. Muaj ntau cov laug cam nrog 320x240 daws teeb meem, nrog 9x5 fonts thiab kuj tseem me heev 7x3 font kom tso cai 80 kab ntawv. Kuj tseem muaj cov laug me nrog 160x120 thiab 128x64 pixels. Tsis tas li 20x4 thiab 16x2 cov ntawv nyeem qhia, thiab thaum kawg 12x2 kaum plaub ntu ntu starburst zaub pawg thawj coj saib.

Qee qhov kev qhia siv I2C, qee qhov yog SPI thiab rau cov lus qhia loj dua, 16 lub npav me ntsis cov ntaub ntawv kom hloov kho nrawm dua.

Cov lus me me siv Arduino Uno. Cov laug cam loj xav tau lub cim xeeb ntau dua thiab yog li siv Mega. Lub hnub qub tawg lub rooj tsavxwm siv Nano.

Txog ntawm qhov no kuv yuav hais txog cov duab tsis ua ncaj ncees rau ntau ntawm cov lus. Cov duab me me dawb oled yog nkig heev thiab ci ntsa iab uas ua rau nws nyuaj rau lub koob yees duab tsom mus, thiab lub hnub qub coj coj los saib zoo li ntse dua hauv lub neej tiag tiag.

Kauj ruam 2: Kho vajtse

Kho vajtse
Kho vajtse

PCB tau tsim los ua haujlwm nrog ntau cov lus qhia kom ntau li ntau tau. Nws yog qhov hloov pauv yooj yim ntawm Mega thiab Uno siv plaub tus neeg dhia dhia. Muaj cov hluav taws xob faib hluav taws xob rau cov lus qhia uas khiav ntawm 3V. I2C pins raug coj tawm hauv pab pawg kom cov lus tuaj yeem ntsaws ncaj qha. Lub davhlau ya nyob twg khiav ntawm 9600 baud, thiab thaum qhov no tuaj yeem nce ntxiv, ntau qhov kev nthuav dav yuav tsis rov ua dua sai dua qhov no. Lub PS2 keyboard ntsaws rau hauv lub DIN6 qhov (socket). USB cov twj siv hluav taws xob tseem yuav ua haujlwm nrog qhov pheej yig adapter txuas. Koj tuaj yeem ua qhov kev ntsuas rov qab yooj yim los ntawm kev koom nrog tus lej 2 thiab 3 ntawm D9 thiab tom qab ntawv cov cim ntaus ntawm cov keyboard yuav tshwm ntawm lub vijtsam.

Qee qhov PCB tsis xav tau thiab nws muaj peev xwm kom tau txais cov khoom ua haujlwm nrog cov qauv tsim ua ntej muaj nyob ntawm ebay, piv txwv li PS2 adapters, RS232 adapter boards thiab qhia uas ntsaws ncaj qha rau hauv cov laug cam.

Kuj tseem muaj pawg cais rau lub hnub qub coj coj los saib - saib tom qab hauv Cov Lus Qhia no.

Kauj ruam 3: Software

Hauv qab no yog cov ntawv hu ua Package.txt Qhov no yog qhov ua tau.zip yog li rub tawm thiab hloov nws (Cov lus qhia tsis tso cai zip cov ntaub ntawv). Suav nrog yog Arduino kos duab/program thiab qhov no yog ib qho haujlwm uas siv los ntawm txhua qhov kev qhia. Kuj tseem muaj txhua cov ntaub ntawv.zip rau txhua qhov ntawm cov lus.

Thaum pib ntawm txoj haujlwm yog ntu #define nqe lus. Tsis pom zoo ib qho uas haum rau cov zaub. Siv Cov Cuab Yeej/Pawg Thawj Coj los xaiv Uno, Mega lossis Nano. Hloov cov laug cam yog yooj yim ib yam li hloov ib kab hauv txoj cai.

Ib qho ntawm cov teeb meem ua haujlwm nrog ntau cov lus qhia yog lawv txhua tus zoo li xav tau lawv tus kheej cov tsav tsheb software. Tag nrho cov no suav nrog hauv pob. Kev sim suav nrog kev nqa pob thiab rov txhim kho nws ntawm lub tshuab tshiab kiag li los ntawm kos. Koj tseem tuaj yeem muab cov cai los ntawm Github thiab Adafruit thiab LCDWiki. Muaj ob peb qhov xwm txheej uas cov ntawv tshiab tsis ua haujlwm yog li txhua qhov ua haujlwm tau suav nrog hauv zip. Qee zaum muaj qhov xwm txheej uas ib tus neeg tsav tsheb nres lwm tus ua haujlwm raws li lawv siv tib lub npe cov ntaub ntawv tab sis cov ntawv sib txawv. Muaj cov lus piav qhia hauv cov lus nyob rau sab saum toj ntawm qhov program qhia yuav ua li cas rau nruab txhua tus tsav tsheb. Feem ntau tau teeb tsa los ntawm Arduino IDE nrog Sketch/suav nrog Tsev Qiv Ntawv/Ntxiv ZIP lub tsev qiv ntawv thiab qhov no yuav siv cov ntawv zip thiab muab tso rau hauv c: / users / computername / mydocuments / arduino / libraries.

Yog tias koj tsuas yog siv ib qho zaub ces qee qhov kev tso cai no yuav tsis xav tau kev teeb tsa. Yam tsawg kawg koj xav tau ob daim ntawv keyboard thiab ib qho rau cov zaub tshwj xeeb. Qee qhov qhia tawm cov cai. Muaj cov lus qhia ntxaws ntxaws hauv cov lus pom nyob rau sab saum toj ntawm txoj haujlwm, suav nrog tau txais lub tsev qiv ntawv gfx los ntawm Adafruit.

Raws li txhua qhov kev qhia siv tib daim duab Arduino, hloov cov lus tsuas yog teeb meem ntawm tsis ua raws li ib qho ntawm kab hauv qab no:

// Cov lus sib txawv, tawm ib qho ntawm cov hauv qab no tsis suav nrog#txhais DISPLAY_480X320_LCDWIKI_ILI9486 // 3.5 ", 480x320, ntawv 80x32, mega, 16 ntsis, ntsaws rau hauv mega 36 tus pin (thiab 2 lub hwj chim pins).https://www.lcdwiki.com /3.5inch_Arduino_Display-Mega2560. Qeeb dua qee qhov kev xaiv hauv qab no tab sis nyeem tau ntau dua thiab muaj lub vijtsam loj dua, 5sec bootup //#txhais DISPLAY_480X320_MCUFRIEND_ILI9486 // 3.5 ", 480x320, ntawv 80x32, mega, 5x9 font, tsuas yog siv mega nkaus xwb lub uno pins, lub zog, D0-D14, A0-A5, cov ntawv zoo dua li ssd1289 40 tus lej tus lej tab sis qeeb dua https://www.arduinolibraries.info/libraries/mcufriend_kbv https://github.com/adafruit/Adafruit -GFX-Library //#define DISPLAY_320X240_MCUFRIEND_ILI9341 // 2.4 ", 320x240, text 53x24, mega //#define DISPLAY_320X240_SSD1289_40COL // 3.5", 320x240, text 40x20, mega, UTFT library (tsis muaj fonts me dua 8x12). Ceev //#txhais DISPLAY_320X240_SSD1289_53COL // 3.5 ", 320x240, ntawv 53x24, mega, 9x5 font, tuaj yeem hloov font. Ceev //#txhais DISPLAY_320X240_SSD1289_80COL // 3.5", 320x240, ntawv 80x30, mega, me me 7x3 font, tuaj yeem kho font, tus tsav nrawm dua li ob qho saum toj no, nrawm tshaj plaws ntawm no li 16 ntsis tsav ncaj qha rau cov zaub es tsis yog spi/i2c //#txhais DISPLAY_160X128_ST7735 // 1.8 ", 160x128, ntawv 26x12, uno (ILI9341) SPI 128x160 //#txhais DISPLAY_128X64_OLED_WHITE // 0.96 ", 128x64, ntawv 21x6, mega, I2C, oled dawb ntawm dub (tft lub tsev qiv ntawv rau pawg thawj coj saib no ntxiv rau txhua qhov chaws ntxiv rau cov keyboard khiav tawm ntawm qhov kev zov me nyuam, txawm tias ram xav tau me me, tsuas yog khiav ntawm mega) //#txhais DISPLAY_20X4 // ntawv 20x4, uno, LCD nrog I2C, ntawv LCD https://www.arduino.cc/en/Reference/LiquidCrystal //#define DISPLAY_16X2 // text 16x2, uno, ntsaws rau hauv uno, siv tus pin 4 txog 10 //#txhais DISPLAY_STARBURST // ntawv 12x2, nano, starburst zaub nrog nano maub los //#txhais DISPLAY_320X240_QVGA_SPI_ILI9341 / /2.2 ", 320x240, ntawv 11x8, uno, font loj, uno, 3v teeb liab, 9 tus pin SPI zaub pom Bodmer Cov Lus Qhia-uno https://www.instructables.com/id/Arduino-TFT-display-and-font- lub tsev qiv ntawv/ tau txais zip hauv qab thiab muab tus kheej tso rau gfx thiab 9341 rau hauv phau ntawv teev npe arduino

Kauj Ruam 4: Tus Qauv ANSI

ANSI Txuj
ANSI Txuj

ANSI tso cai rau cov lus txib yooj yim kom tshem tawm lub vijtsam, txav tus cursor ncig thiab hloov xim. Ntawm ob peb ntawm cov duab muaj qhov ua piv txwv qhia txhua qhov ua ntej thiab xim tom qab. Cov no yog xim liab, daj, ntsuab, xiav, cyan, magenta, dub, dawb, tsaus grey, lub teeb txho, thiab cov xim tuaj yeem ci lossis tsaus yog li muaj 16 lub hauv ntej thiab 16 xim tom qab.

Nws yog qhov ua tau los xav txog kev ntxiv hauv 'cov duab' hom uas koj tuaj yeem kos duab ntau dua qhov kev daws teeb meem ntawm qib pixel thiab nrog 256 lossis ntau xim. Cov kev txwv tseem ceeb yog lub cim xeeb sab hauv ntawm Arduino thiab lub sijhawm nws yuav siv los xa cov duab hauv qhov txuas txuas ntawm 9600 baud.

Txoj cai xav tau ib qho byte txhawm rau khaws tus cim thiab ib byte khaws cov xim (3 khoom rau pem hauv ntej, 3 rau keeb kwm yav dhau, ib qho rau qhov ci/dim thiab ib qho rau siab tawv). Yog li 80x30 zaub yuav xav tau 2400x2 = 4800 bytes, uas yuav haum hauv Mega tab sis tsis yog Uno.

Kauj ruam 5: Qhia tawm

Qhia
Qhia
Qhia
Qhia
Qhia
Qhia

Saum toj no yog cov duab ntawm txhua tus neeg tso saib. Muaj cov duab los ntawm sab xub ntiag thiab nraub qaum ntawm txhua qhov khoom thiab lawv sawv cev rau ntau lub npe muaj nyob ntawm ebay lossis zoo sib xws. Qee qhov yog I2C, qee qhov zoo ib yam, qee qhov muaj cov ntawv loj dua, qee qhov tuaj yeem tso saib tag nrho 80 kab ntawv haum rau Wordstar thiab lwm cov txheej txheem ua haujlwm lo lus qub. Muaj ntau yam ntxiv hauv cov ntawv ntawm tus lej arduino.

Kauj ruam 6: Schematic

Hauv qab no yog ob daim ntawv. Lawv muaj npe ua.txt raws li Cov Lus Qhia tsis ua haujlwm.zip cov ntaub ntawv. Rub tawm lawv thiab hloov lawv ua.zip.

Muaj cov txheej txheem thiab txheej txheem txheej txheem raws li pdf cov ntaub ntawv. Kuj tseem muaj pob ntawv rau Seeed PCB. Cov no yog cov gerbers thiab yog tias koj mus rau Seeed thiab upload qhov no nws yuav tsum tso saib cov gerbers thiab tom qab ntawd koj tuaj yeem tau txais PCBs ua. Pawg 14 ntu yog loj thiab raug nqi ntau me ntsis, tab sis qhov me me haum rau hauv Pom Zoo dua 10x10cm hom ntawv yog li qhov tsim nyog rau 5 lossis 10 pawg - qhov tseeb thauj nqi ntau dua li cov laug cam.

Nws muaj peev xwm siv tau ntau yam ntawm cov lus qhia yam tsis xav tau PCB. Muaj PS2 lub qhov (socket) modules, RS232 shields/modules txhua yam muaj nyob ntawm ebay lossis zoo sib xws. Qee qhov kev qhia zoo li I2C sawv daws tsuas yog tuaj yeem siv ob peb lub xov hlau txuas. Qee qhov zoo li SSD1289 cov lus tuaj nrog cov laug cam thiab tuaj yeem txuas ncaj qha rau hauv Mega.

Kauj Ruam 7: Starburst Zaub

Starburst Zaub
Starburst Zaub

Lub hnub qub tawg tuaj yog lub rooj tsav xwm loj dua thiab siv Nano thiab tus lej ntawm 74xx chips los ua qhov sib npaug. Muaj ntau qhov kev sim los txiav txim seb muaj pes tsawg cov lus uas koj tuaj yeem ua tau ntau dua ua ntej lawv dhau los ua qhov tsaus ntuj lossis qhov muag pom tau pom dhau. Cov lus tau los ntawm Futurlec https://www.futurlec.com/LEDDisp.shtml Cov ntu 14 ntu kuj tseem tuaj yeem ua cov tsiaj ntawv qis thiab cov no tuaj yeem hloov kho hauv cov cai yog xav tau. Hloov cov ntaub ntawv no los ntawm.txt rau.zip

Kauj Ruam 8: Ntxiv Txoj Cai rau Lwm Cov Lus Qhia

Nws muaj peev xwm ntxiv cov cai rau lwm cov lus. Thawj kauj ruam yog kom tau qee yam, txhua yam, los tso saib. Nws tuaj yeem yog pixel lossis ntawv. Qhov no feem ntau cuam tshuam nrog kev tshawb nrhiav cov tsav tsheb, rub tawm ib qho, ntsuas nws, nrhiav nws yuav tsis suav nrog, tom qab ntawd tshem tawm tus tsav tsheb kom nws tsis ua rau muaj kev ntxhov siab tom qab, tom qab ntawd sim ib qho tshiab. Cov kauj ruam tom ntej yog kom tau txais ib tsab ntawv los tso rau hauv cov xim raug, vim qee qhov kev qhia uas zoo ib yam tiag tiag yuav thim cov xim. Hmoov zoo, feem ntau tsuas yog ib tus lej hauv tus lej pib yuav kho qhov no. Cov kauj ruam tom ntej yog sau ob peb kab los txheeb xyuas seb yuav siv uno lossis mega, nthuav dav dav, qhov siab, font loj, pins keyboard thiab cov ntaub ntawv tsav tsheb twg siv. Cov no pib ntawm kab 39 hauv txoj cai thiab koj tuaj yeem luam cov qauv ntawm cov lus uas twb muaj lawm.

Tom ntej no yog nqes mus rau kab 451 thiab ntxiv rau txoj cai pib. Nov yog qhov uas koj teeb xim tom qab thiab kev sib hloov thiab pib ua cov zaub.

Tom ntej no yog mus rau kab 544 thiab ntxiv rau hauv cov cai los ua tus cim. Qee qhov no tsuas yog ib kab xwb, xws li

my_lcd. Draw_Char (xPixel, yPixel, c, tftForecolor, tftBackcolor, 1, 0); // x, y, char, pem hauv ntej, nraub qaum, loj, hom

Tom ntej no yog mus rau kab 664 thiab ntxiv rau hauv txoj cai kos duab pixel. Ib zaug ntxiv, qee zaum qhov no tsuas yog ib kab piv txwv:

tft.drawPixel (xPixel, yPixel, tftForecolor);

Thaum kawg mus rau kab 727 thiab ntxiv cov cai los kos kab ntsug rau tus cursor, piv txwv

tft.drawFastVLine (xPixel, yPixel, fontHeight, tftForecolor);

Qhov kev zov me nyuam txheeb tawm yam zoo li lub cim xeeb ntau npaum li cas los faib rau lub vijtsam tsis raws lub vijtsam dav thiab qhov loj me.

Kauj Ruam 9: Kev Tshaj Tawm Wordstar

Qhov no tau ua tiav siv CP/M khoos phis tawj, thiab muaj ntau txoj kev xaiv muaj nyob ntawm no. Kuv xav tau qee yam nrawm los teeb tsa, yog li siv qhov ua piv txwv ntawm ESP32 (Google ESP32 CP/M). Muaj ntau ntau lub khoos phis tawj retro muaj, piv txwv li, Grant Searle's FPGA emulation, thiab RC2014 rau cov uas nyiam siv Z80 tiag. Ntau tus retrocomputers zoo li siv lub davhlau ya nyob twg ntawm lub PC ua cov zaub, piv txwv li Teraterm. Ntau qhov kev debug qhov ANSI txoj haujlwm koom nrog ua haujlwm lub davhlau ya nyob twg thiab ANSI txoj haujlwm sib koom ua ke thiab ua kom ntseeg tau tias cov ntxaij vab tshaus zoo ib yam.

Kauj Ruam 10: Xav Ntxiv

Raws li cov lus nthuav tawm hauv qhov loj me lawv tau qeeb thiab qeeb dua. Kev rov sau tus yam ntxwv yuav tsum rov ua dua txhua lub pixel hauv tus cwj pwm vim tias cov xim tom qab yuav tsum tau kos ib yam nkaus, yog li txhua yam nqis los sai npaum li cas koj tuaj yeem kos lub pixel. Muaj qee qhov kev hloov pauv, piv txwv li yog tias cov zaub tsis tuaj yeem khaws cov ntaub ntawv tuaj, tsuas yog khaws cov ntawv hauv qhov screen tsis thiab tom qab ntawd ua tag nrho lub vijtsam rov ua dua thaum tsis muaj cov ntawv nkag los. Muaj ntau cov lus uas koj pom rau muag qhia ib daim duab zoo nkauj ntawm lub vijtsam, tabsis yam lawv yuav tsis qhia yog siv sijhawm ntev npaum cas los tso daim duab ntawd, thiab qee zaum nws tuaj yeem yog 5 vib nas this lossis ntau dua. I2C thiab SPI yog qhov zoo rau cov lus me me tab sis txhua yam hla 50 kab xav tau 8 lossis 16 ntsis cov npav npav.

Wordstar yog qhov tsis txaus siv me ntsis ntawm 9600 baud thiab 19200 yog qhov siv tau ntau dua rau cov ntawv nyeem, tab sis cov lus tiag tiag tsis tuaj yeem khaws cia.

Cov zaub nrawm tshaj plaws kuv tau siv yog nyob ntawm Propeller nti nrog ob 8 ntsis sab nraud 512k ram chips, los tsim 16 me ntsis cov ntaub ntawv tsheb npav sib luag. Txhua tus ntawv tau npaj ua ntej rau hauv ram. Cov cascade ntawm 74xx cov txee nti tau siv los teev cov ntaub ntawv rau hauv cov zaub. Qhov no txhais tau tias tsis muaj kev ua haujlwm sab hauv hauv CPU nqa thiab tso tawm cov ntaub ntawv, thiab qhov hloov tshiab tau nrawm dua li Propeller nti tuaj yeem hloov tus pin. Kuj ceeb tias, cov lus tau tuaj yeem ua raws qhov no, txawm tias ntawm 20Mhz, thiab yog li nws tuaj yeem ua qhov hloov tshiab puv npo hauv tsuas yog 30 milliseconds. Qhov kev txheeb xyuas tus nqi yog nrawm txaus los ua kom nrawm, zoo li koj pom ntawm lub xov tooj ntawm tes.

Cov Propeller nti tau txiav tawm ntau tshaj kaum xyoo dhau los, thiab muaj ntau txoj hauv kev xaiv tam sim no suav nrog ESP8266 thiab ESP32 uas muaj ntau sab hauv ram. Txawm li cas los xij, cov chips tseem tsis muaj tus lej loj ntawm tus pin, yog li tseem muaj peev xwm ua tau zoo hauv kev siv cov qub-skool txoj kev ntawm sab nraud ram nti uas yog clocked tawm rau cov zaub.

Rau cov lus loj dua nws yuav pheej yig dua los siv lub vijtsam LCD TV lossis VGA npo thiab saib qee qhov ntawm ANSI emulators uas tau ua tus lej, piv txwv li ESP32, uas tsav VGA ncaj qha.

Kuv vam tias koj pom txoj haujlwm no muaj txiaj ntsig.

James Moxham

Adelaide, Australia

Pom zoo: