Orodha ya maudhui:

Mkusanyiko wa Vituo vya ANSI: Hatua 10
Mkusanyiko wa Vituo vya ANSI: Hatua 10

Video: Mkusanyiko wa Vituo vya ANSI: Hatua 10

Video: Mkusanyiko wa Vituo vya ANSI: Hatua 10
Video: 10 самых АТМОСФЕРНЫХ мест Дагестана. БОЛЬШОЙ ВЫПУСК #Дагестан #ПутешествиеПоДагестану 2024, Julai
Anonim
Mkusanyiko wa Vituo vya ANSI
Mkusanyiko wa Vituo vya ANSI

Mradi huu ulianza kama njia ya kuonyesha maandishi ya safuwima 80 kwenye onyesho la LCD linalofaa kuendesha processor ya neno la zamani kama vile Wordstar. Maonyesho mengine anuwai yaliongezwa kuanzia saizi kutoka 0.96 hadi inchi 6. Maonyesho hutumia PCB moja na mchoro / mpango mmoja wa Arduino.

Kuna unganisho la serial RS232 la unganisho kwa kompyuta na tundu la PS / 2 kwa kibodi. Maonyesho yalichaguliwa kuwakilisha zile zinazopatikana kwa bei nzuri. Kulingana na kumbukumbu inayohitajika maonyesho hutumia Arduino Nano, Uno au Mega.

Hatua ya 1: Muhtasari wa Maonyesho

Muhtasari wa Maonyesho
Muhtasari wa Maonyesho

Kuna maonyesho anuwai na azimio la 480x320. Hii inaruhusu fonti ya 9x5 na maandishi ya safu wima 80. Kuna bodi kadhaa zilizo na azimio la 320x240, na fonti 9x5 na pia fonti ndogo sana ya 7x3 kuruhusu maandishi ya safu 80. Pia kuna bodi ndogo zilizo na saizi 160x120 na 128x64. Pia maonyesho ya maandishi 20x4 na 16x2, na mwishowe bodi ya maonyesho ya nyota ya 12x2.

Maonyesho mengine hutumia I2C, zingine ni SPI na kwa maonyesho makubwa, basi ya data ya 16 kwa kasi ya kusasisha haraka.

Maonyesho madogo hutumia Arduino Uno. Bodi kubwa zinahitaji kumbukumbu zaidi na kwa hivyo tumia Mega. Bodi ya kuonyesha ya starburst inatumia Nano.

Kwa wakati huu naweza kutaja picha hazifanyi haki kwa maonyesho mengi. Onyesho dogo la oled nyeupe ni laini sana na angavu ambayo ilifanya iwe ngumu kwa kamera kuzingatia, na onyesho la nyota lililoongozwa linaonekana kali zaidi katika maisha halisi.

Hatua ya 2: Vifaa

Vifaa
Vifaa

PCB imeundwa kufanya kazi na maonyesho mengi iwezekanavyo. Ni rahisi kubadilisha kati ya Mega na Uno ukitumia kuruka nne. Kuna vipinga mgawanyiko vya voltage kwa maonyesho ambayo yanaendesha 3V. Pini za I2C hutolewa nje katika kikundi ili maonyesho yaweze kuingizwa moja kwa moja. Kituo kinaendesha baud 9600, na wakati hii inaweza kuongezeka, maonyesho mengi makubwa hayatatengeneza tena haraka sana kuliko hii. Kibodi cha PS2 huziba kwenye tundu la DIN6. Kinanda za USB pia zitafanya kazi na kuziba kwa adapta nafuu. Unaweza kufanya jaribio rahisi la kurudi nyuma kwa kujiunga na pini 2 na 3 kwenye D9 na kisha herufi zilizochapishwa kwenye kibodi zitaonekana kwenye onyesho.

Katika visa vingine PCB haihitajiki na inawezekana kupata vitu vinavyofanya kazi na moduli zilizotengenezwa tayari kwenye ebay, mfano adapta za PS2, bodi za adapta za RS232 na maonyesho ambayo huziba moja kwa moja kwenye bodi za arduino.

Pia kuna bodi tofauti ya onyesho lililoongozwa na starburst - tazama baadaye kwenye hii inayoweza kufundishwa.

Hatua ya 3: Programu

Hapa chini kuna faili inayoitwa Package.txt Kwa kweli hii ni faili ya.zip kwa hivyo pakua na ibadilishe jina (Maagizo hayaruhusu faili za zip). Imejumuishwa ni mchoro / mpango wa Arduino na hii ni programu moja inayotumiwa na maonyesho yote. Pia kuna faili zote za.zip kwa kila maonyesho.

Mwanzoni mwa programu hiyo kuna safu ya taarifa za #fafanua. Ondoa maoni ambayo inalingana na onyesho. Tumia Zana / Bodi kuchagua Uno, Mega au Nano. Kubadilisha bodi ni rahisi kama kubadilisha laini moja kwenye nambari.

Moja ya changamoto inayofanya kazi na maonyesho mengi ni kwamba wote wanaonekana wanahitaji madereva yao ya programu. Hizi zote zimejumuishwa kwenye kifurushi. Upimaji ulijumuisha kuchukua kifurushi na kuiweka tena kwenye mashine mpya kabisa kutoka mwanzoni. Unaweza pia kupata nambari kutoka kwa Github na Adafruit na LCDWiki. Kuna matukio kadhaa ambapo matoleo mapya hayafanyi kazi kwa hivyo matoleo yote ya kazi yanajumuishwa kwenye zip. Wakati mwingine kulikuwa na visa ambapo dereva mmoja alisimamisha mwingine akifanya kazi kwani walitumia jina moja la faili lakini matoleo tofauti. Kuna maelezo katika maoni juu ya programu inayoonyesha jinsi ya kusanikisha kila dereva. Zaidi imewekwa kutoka Arduino IDE na Mchoro / Jumuisha Maktaba / Ongeza maktaba ya ZIP na hii inachukua faili ya zip na kuiweka kwenye c: / watumiaji / jina la computername / hati zangu / arduino / maktaba.

Ikiwa unatumia onyesho moja tu basi zingine za maktaba hizi haziitaji kusanikishwa. Kwa kiwango cha chini unahitaji faili mbili za kibodi na ile ya onyesho fulani. Baadhi ya maonyesho ya kificho cha kushiriki. Kuna maagizo ya kina zaidi kwenye maoni juu ya programu, pamoja na kupata maktaba ya gfx kutoka Adafruit.

Kama maonyesho yote yanatumia mchoro huo huo wa Arduino, kubadilisha maonyesho ni suala tu la kutengua moja ya mistari hapa chini:

// Maonyesho anuwai, acha moja ya zifuatazo zikiwa hazina maoni # fafanua DISPLAY_480X320_LCDWIKI_ILI9486 // 3.5 ", 480x320, andika 80x32, mega, 16 bit, plugs ndani ya mega 36 pini (na pini 2 za nguvu).https://www.lcdwiki.com /3.5inch_Arduino_Display-Mega2560. Polepole kuliko chaguzi zingine hapa chini lakini fonti inayoweza kusomeka zaidi na skrini kubwa, 5sec bootup // # define DISPLAY_480X320_MCUFRIEND_ILI9486 // 3.5 ", 480x320, maandishi 80x32, mega, font 5x9, tu kwa mega lakini hutumia tu pini za uno, nguvu, D0-D14, A0-A5, fonti nzuri kuliko moduli ya ssd1289 40 lakini polepole sana https://www.arduinolibraries.info/libraries/mcufriend_kbv https://github.com/adafruit/Adafruit -GFX-Library // # define DISPLAY_320X240_MCUFRIEND_ILI9341 // 2.4 ", 320x240, maandishi 53x24, mega // # define DISPLAY_320X240_SSD1289_40COL // 3.5", 320x240, maandishi 40x20, mega, maktaba ya UTFT (hakuna fonti ndogo kuliko 8x12). Haraka // # fafanua DISPLAY_320X240_SSD1289_53COL // 3.5 ", 320x240, maandishi 53x24, mega, 9x5 font, inaweza kuhariri font. Fast // # define DISPLAY_320X240_SSD1289_80COL // 3.5", 320x240, maandishi 80x30, mega, fonti ndogo ya 7x3, inaweza kuhariri fonti, dereva mwenye kasi zaidi kuliko hizi mbili hapo juu, haraka zaidi ya hizi zote kama gari moja kwa moja kwa 16 kuliko spi / i2c // # define DISPLAY_160X128_ST7735 // 1.8 ", 160x128, maandishi 26x12, uno (ILI9341) SPI 128x160 // # define DISPLAY_128X64_OLED_WHITE // 0.96 ", 128x64, maandishi 21x6, mega, I2C, iliyotiwa mafuta nyeupe kwenye nyeusi (maktaba ya tft ya bodi hii pamoja na nambari zote pamoja na kibodi inaishiwa na uhifadhi wa programu, ingawa kondoo dume anahitaji ni mdogo sana, kwa hivyo tu inaendesha mega) // # kufafanua DISPLAY_20X4 // maandishi 20x4, uno, LCD na I2C, andika LCD https://www.arduino.cc/en/Reference/LiquidCrystal // # define DISPLAY_16X2 // maandishi 16x2, uno, kuziba ndani ya uno, hutumia pini 4 hadi 10 // # fafanua DISPLAY_STARBURST // maandishi 12x2, nano, onyesho la starburst na nano controller // # define DISPLAY_320X240_QVGA_SPI_ILI9341 / / 2.2 ", 320x240, maandishi 11x8, uno, font kubwa, uno, ishara 3v, onyesho 9 la SPI angalia Maagizo ya Bodmer - uno https://www.instructables.com/id/Arduino-TFT-display-and-font- maktaba / pata zip chini na uweke gfx na 9341 kwenye folda ya maktaba ya arduino

Hatua ya 4: Kiwango cha ANSI

Kiwango cha ANSI
Kiwango cha ANSI

ANSI inaruhusu amri rahisi kusafisha skrini, kusogeza mshale karibu na kubadilisha rangi. Kwenye picha chache kuna onyesho linaloonyesha rangi zote za mbele na asili. Hizi ni nyekundu, manjano, kijani kibichi, cyan, magenta, nyeusi, nyeupe, kijivu giza, kijivu nyepesi, na rangi zinaweza kuwa mkali au kufifia kwa hivyo kuna rangi 16 za mbele na 16 za nyuma.

Inawezekana kufikiria juu ya kuongeza katika hali ya 'picha' ambapo unaweza kuteka picha za azimio kubwa zaidi kwenye kiwango cha pikseli na kwa rangi 256 au zaidi. Vikwazo kuu ni kumbukumbu ya ndani ya Arduino na wakati inachukua kutuma picha chini ya kiunga cha serial saa 9600 baud.

Nambari inahitaji baiti moja kuhifadhi herufi na ka moja kuhifadhi rangi (bits 3 kwa mbele, 3 kwa mandharinyuma, moja kwa mkali / kufifia na moja kwa ujasiri). Kwa hivyo onyesho la 80x30 litahitaji 2400x2 = 4800 ka, ambayo itatoshea Mega lakini sio Uno.

Hatua ya 5: Maonyesho

Maonyesho
Maonyesho
Maonyesho
Maonyesho
Maonyesho
Maonyesho

Hapo juu kuna picha za kila onyesho la kibinafsi. Kuna picha kutoka mbele na nyuma ya kila onyesho na zinawakilisha chapa nyingi zinazopatikana kwenye ebay au sawa. Zingine ni I2C, zingine ni sawa, zingine zina fonti kubwa, zingine zinaweza kuonyesha safu 80 kamili zinazofaa kwa Wordstar na programu zingine za zamani za usindikaji wa maneno. Kuna maelezo zaidi katika maandishi ya nambari ya arduino.

Hatua ya 6: Mpangilio

Chini ni faili mbili. Wanaitwa kama.txt kama Maagizo hayashughulikii faili za.zip. Pakua na uipatie jina kama.zip.

Kuna muundo na muundo wa bodi kama faili za pdf. Pia kuna kifurushi cha Seeed PCB. Hawa ndio wazalishaji na ukienda kwenye Seeed na kupakia hii inapaswa kuonyesha vijidudu na unaweza kupata PCB. Bodi ya sehemu 14 ni kubwa na inagharimu kidogo zaidi, lakini ndogo inafaa katika muundo uliopendekezwa wa Seeed 10x10cm kwa hivyo ni busara kwa bodi 5 au 10 - kwa kweli usafirishaji hugharimu zaidi ya bodi.

Inawezekana kutumia maonyesho mengi bila kuhitaji PCB. Kuna moduli za tundu PS2, ngao / moduli za RS232 zote zinapatikana kwenye ebay au sawa. Maonyesho mengine kama yale ya I2C yanaweza kutumia waya chache za kuunganisha. Wengine kama maonyesho ya SSD1289 huja na bodi za adapta na wanaweza kuziba moja kwa moja kwenye Mega.

Hatua ya 7: Onyesho la Starburst

Uonyesho wa Starburst
Uonyesho wa Starburst

Onyesho la starburst ni bodi kubwa na hutumia Nano na idadi ya chips 74xx kufanya kuzidisha. Kulikuwa na majaribio mengi ya kuamua ni ngapi maonyesho unayoweza kuzidisha kabla ya kuzimia sana au kitambi kikaonekana sana. Maonyesho yalitoka Futurlec https://www.futurlec.com/LEDDisp.shtml Maonyesho ya sehemu 14 yanaweza pia kufanya herufi ndogo na hizi zinaweza kubadilishwa katika nambari ikiwa inahitajika. Badilisha jina la faili hizi kutoka kwa.txt hadi.zip

Hatua ya 8: Kuongeza Msimbo wa Maonyesho mengine

Inawezekana kuongeza kificho kwa maonyesho mengine. Hatua ya kwanza ni kupata kitu, chochote, kuonyesha. Inaweza kuwa pikseli au barua. Hii haswa inajumuisha kutafuta madereva, kuipakua moja, kuipima, kuipata haitakusanya, kisha kuiondoa dereva hiyo kwa hivyo haileti kuchanganyikiwa baadaye, kisha kujaribu mpya. Hatua inayofuata ni kupata barua ya kuonyesha katika rangi sahihi, kwani maonyesho mengine ambayo yanaonekana kufanana yatabadilisha rangi. Kwa bahati nzuri kawaida nambari moja tu katika nambari ya kuanza itarekebisha hii. Hatua inayofuata ni kuandika mistari michache kufafanua ikiwa utumie uno au mega, upana wa onyesho, urefu, saizi ya fonti, pini za kibodi na faili za dereva zipi utumie. Hizi zinaanza kwenye laini ya 39 kwenye nambari na unaweza kunakili muundo wa maonyesho yaliyopo.

Ifuatayo ni kwenda chini kwenye laini ya 451 na kuongeza kwenye nambari ya kuanza. Hapa ndipo unapoweka rangi ya asili na kuzunguka na kuanzisha onyesho.

Ifuatayo ni kwenda kwenye laini ya 544 na kuongeza kwenye nambari ili kuonyesha tabia. Katika visa vingine hii ni laini moja tu, kwa mfano

my_lcd. Draw_Char (xPixel, yPixel, c, tftForecolor, tftBackcolor, 1, 0); // x, y, char, mbele, nyuma, saizi, hali

Ifuatayo ni kwenda kwenye laini ya 664 na kuongeza kwenye nambari ili kuteka pikseli. Tena, wakati mwingine hii ni laini moja tu mfano:

tft.drawPixel (xPixel, yPixel, tftForecolor);

Mwishowe nenda kwenye laini ya 727 na ongeza nambari ili kuchora laini ya wima ya mshale, kwa mfano

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

Programu hupanga vitu kama kumbukumbu ngapi ya kutenga kwa bafa ya skrini kulingana na upana wa skrini na saizi ya fonti.

Hatua ya 9: Maonyesho ya Starstar

Hii ilifanywa kwa kutumia kompyuta ya CP / M, na kuna chaguzi nyingi zinazopatikana hapa. Nilihitaji kitu cha haraka kuanzisha, kwa hivyo nilitumia wivu kwenye ESP32 (Google ESP32 CP / M). Kuna kompyuta zingine nyingi za retro zinazopatikana, kwa mfano, Uigaji wa FPGA wa Grant Searle, na RC2014 kwa wale ambao wanapendelea kutumia Z80 halisi. Retrocomputers nyingi huwa zinatumia programu ya terminal kwenye PC kama onyesho, mfano Teraterm. Utatuzi mwingi wa mradi huu wa ANSI ulihusisha kuendesha programu ya wastaafu na programu ya ANSI sambamba na kuhakikisha skrini zinafanana.

Hatua ya 10: Mawazo zaidi

Kadri maonyesho yanavyoongezeka kwa saizi hupungua na polepole. Kuchora tena tabia ni pamoja na kuchora tena kila pikseli katika herufi hiyo kwani rangi ya usuli inapaswa kuchorwa pia, kwa hivyo kila kitu kinatokana na jinsi unaweza kuchora pikseli haraka. Kuna maboresho kadhaa, kwa mfano ikiwa onyesho haliwezi kuendelea na data inayoingia, weka tu maandishi kwenye bafa ya skrini kisha fanya skrini kamili wakati hakuna maandishi tena. Maonyesho mengi unayoyaona uuzaji unaonyesha picha nzuri kwenye skrini, lakini kile wasichoweza kuonyesha ni muda gani ilichukua kuonyesha picha hiyo, na wakati mwingine inaweza kuwa sekunde 5 au zaidi. I2C na SPI ni nzuri kwa maonyesho madogo lakini chochote juu ya nguzo 50 kinahitaji basi ya data ya 8 au 16.

Wordstar ni ngumu sana kutumia kwa baud 9600 na 19200 inatumika zaidi kwa kutembeza maandishi, lakini maonyesho hayawezi kuendelea.

Onyesho la haraka zaidi nililotumia lilikuwa kwenye Chip ya Propeller na chips mbili za nje za 512k za nje, kuunda basi ya data inayofanana ya 16. Kila fonti ilikuwa imepakiwa mapema ndani ya kondoo dume. Mpasuko wa chipsi za kukabiliana na 74xx zilitumika kutolea nje data kwenye onyesho. Hii ilimaanisha hakukuwa na usindikaji wa ndani ndani ya data ya kuchota na kutoa ya CPU, na kiwango cha kuburudisha kilikuwa haraka kama Chip ya Propeller ingeweza kubadilisha pini. Kwa kushangaza, maonyesho hayo yaliweza kuendelea na hii, hata saa 20Mhz, na kwa hivyo iliwezekana kufanya sasisho kamili la skrini kwa milisekunde 30 tu. Kiwango hicho cha kasi ni cha kutosha kufanya kusogeza vizuri, kama unavyoona kwenye simu za rununu.

Chip ya Propeller ilikuwa ya kukata zaidi ya miaka kumi iliyopita, na kuna chaguzi zaidi sasa pamoja na ESP8266 na ESP32 ambazo zina idadi kubwa ya kondoo wa ndani. Walakini, hizo chips bado hazina idadi kubwa ya pini, kwa hivyo bado kunaweza kuwa na sifa ya kutumia njia ya zamani ya skool ya chip ya kondoo wa nje ambayo imetengwa kwa onyesho.

Kwa maonyesho makubwa inaweza kuwa rahisi kutumia skrini ya LCD TV au skrini ya VGA na uangalie baadhi ya emulators za ANSI ambazo zimeorodheshwa, mfano ESP32, ambayo inaendesha VGA moja kwa moja.

Natumai utapata mradi huu muhimu.

James Moxham

Adelaide, Australia

Ilipendekeza: