Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
et:examples:display:lcd_graphic [2009/12/22 14:24] mikk.leiniet:examples:display:lcd_graphic [2020/07/20 09:00] (current) – external edit 127.0.0.1
Line 1: Line 1:
 +<pagebreak>
 ====== Graafiline LCD ====== ====== Graafiline LCD ======
  
-//Vajalikud teadmised: [HW] [[et:hardware:lcd|LCD moodul]], [LIB] [[et:software:library:module:lcd_graphic|Graafilise LCD teek]], [LIB] [[et:software:library:delay|Viite teek]], [PRT] [[et:examples:display:lcd_alphanumeric|Alfabeetiline LCD]]//+//Vajalikud teadmised: [HW] [[et:hardware:homelab:digi]], [LIB] [[et:software:homelab:library:module:lcd_graphic]], [LIB] [[et:software:homelab:library:delay]], \\ [PRT] [[et:examples:display:lcd_graphic]]//
  
 ===== Teooria ===== ===== Teooria =====
  
-Graafiline LCD on vedelkristall-ekraan millega saab peale teksti ka kujundeid kuvada. Selle ehitus sarnaneb alfabeetilisele LCD-lepõhiline erinevus seisneb selles, et graafilisel ekraanil on kõik pikslid jaotatud üle ekraani ühe suure maatriksina. Kui tegu on monokromaatilise graafilise LCD ekraaniga, siis piksel on üks pisike ruudukujuline segment. Värvilistel ekraanidel moodustab üks piksel kolmest alampikslist millest igaüks laseb läbi värvifiltri kas punast, rohelist või sinist valgust. Kuna alampikslid on lähestikku paistavad need kui üks piksel.+Graafiline LCD on vedelkristall-ekraanmillega saab peale teksti ka kujundeid kuvada. Selle ehitus sarnaneb alfabeetilisele LCD-le ja põhiline erinevus seisneb selles, et graafilisel ekraanil on kõik pikslid jaotatud üle ekraani ühe suure maatriksina. Kui tegu on monokromaatilise graafilise LCD ekraaniga, siis piksel on üks pisike ruudukujuline segment. Värvilistel ekraanidel moodustab üks piksel kolmest alampikslistmillest igaüks laseb läbi värvifiltri kas punast, rohelist või sinist valgust. Kuna alampikslid on lähestikkupaistavad need kui üks piksel.
  
-[{{  :examples:display:lcd_graphic:lcd_graphic_abc.png?200|Graafilisel LCD pikslitest moodustatud tekst}}]+[{{  :examples:display:lcd_graphic:lcd_graphic_smiley.png?200|Graafilise LCD pikslitest moodustatud pilt}}]
  
-Monokromaatilised graafilised ekraanid on tavaliselt passiivmaatriksiga, suured värvilised ekraanid, kaasaarvatud arvutiekraanid, on aktiivmaatriksiga. Kõik tausta- ja pikslite värvi puudutav info on graafilistel LCD-del sama mis alfabeetilistelgi - ehk siis leidub palju variante. Ning sarnaselt alfabeetiliste ekraanidega on ka graafilistel ekraanidel eraldi kontroller mis hoolitseb sideliidese kaudu info vastuvõtmise ja segmendite elektrivälja tekitamise eest. Kui alfabeetilisele LCD ekraanile piisab märkide indeksi saatmisest siis graafilised ekraanid ise tähti ei moodusta - kõik tekstid ja pildid tuleb eelnevalt tekitada ja pikselhaaval saata.+Monokromaatilised graafilised ekraanid on tavaliselt passiivmaatriksiga, suured värvilised ekraanid, kaasa arvatud arvutiekraanid, on aktiivmaatriksiga. Kogu tausta- ja pikslite värvi puudutav info on graafilistel LCD-del sarnane alfabeetiliste LCD omadustega ja sarnaselt alfabeetiliste ekraanidega on ka graafilistel ekraanidel eraldi kontrollermis hoolitseb sideliidese kaudu info vastuvõtmise ja segmentide elektrivälja tekitamise eest. Kui alfabeetilisele LCD ekraanile piisab teksti kuvamiseks märkide indeksite saatmisestsiis graafilised ekraanid ise tähti ei moodusta - kõik tekstid ja pildid tuleb kasutajal ise pikselhaaval tekitada. 
 + 
 +~~CL~~
  
 ===== Praktika ===== ===== Praktika =====
 +Kodulabori III seeria kasutajaliidesele on paigaldatud 128 x 160 piksliga 1.8" täisvärviline TFT LCD ekraan. Ekraani juhib Sitronixi ST7735 LCD kontroller, mida juhtakse üle SPI siini. Lisaks on juhitav ekraani taustavalgus, kuid ilma taustavalguseta ei ole võimalik ekraani kasutada. Ekraaniga suhtlemine pole kuigi keeruline, kuid funktsioonide suure arvu tõttu pole siinkohal seda lahti seletatud. Kodulabori teegis on olemas funktsioonid selle kasutamiseks.
 +
 +/* Kodulabor 2 info:
 +Kodulabori komplekti kuulub mõõtudega 84 x 48 pikslit monokromaatiline graafiline LCD ekraan. See ekraan on sama, mida kasutatakse Nokia 3310 mobiiltelefonides. Ekraani küljes on Philipsi PCD8544 kontroller, millega saab suhelda läbi SPI-taolise järjestikliidese. Eraldi juhitav on veel ekraanimooduli taustvalgustus. Ekraaniga suhtlemine pole kuigi keeruline, kuid funktsioonide suure arvu tõttu pole siinkohal seda lahti seletatud. Kodulabori teegis on olemas funktsioonid selle kasutamiseks.*/
 +
 +Graafilise LCD teegi funktsioonid on sarnased alfabeetilise LCD omadele. Esmalt tuleb ekraan algväärtustada funktsiooniga //lcd_gfx_init//. Teeki on sisse kirjutatud tähekaart kogu ladina tähestiku, numbrite ja üldkasutatavate märkidega. Tähe kõrgus on 7 ja laius 5 pikslit. Iga tähe vahe on horisontaalselt 6 ja vertikaalselt 8 pikslit, ehk kokku mahub ekraanile 6 rida ja 14 tulpa tähti. Tähe või teksti kuvamiseks tuleb eelnevalt //lcd_gfx_goto_char_xy// funktsiooniga määrata selle asukoht. Tähe kuvamiseks on //lcd_gfx_write_char// ja teksti kuvamiseks //lcd_gfx_write_string// funktsioon.
  
 +Järgnevalt on toodud näide aja loenduri kohta. Programm loendab sekundeid (ligikaudu), minuteid ja tunde. Aja tekstiks teisendamiseks on kasutusel //sprintf// funktsioon.
  
 +<pagebreak>
  
 <code c> <code c>
Line 32: Line 43:
  char text[16];  char text[16];
  
- // LCD ekraani seadistamine+ // LCD ekraani algseadistamine
  lcd_gfx_init();  lcd_gfx_init();
  
Line 39: Line 50:
  
  // Taustavalgustuse tööle lülitamine  // Taustavalgustuse tööle lülitamine
- lcd_gfx_backlight(true);+ lcd_gfx_backlight(true);
  
  // Programmi nime kuvamine  // Programmi nime kuvamine
- lcd_gfx_goto_xy(2020);+ lcd_gfx_goto_char_xy(11);
  lcd_gfx_write_string("Aja loendur");  lcd_gfx_write_string("Aja loendur");
  
Line 56: Line 67:
  
  // Kellaaja teksti kuvamine  // Kellaaja teksti kuvamine
- lcd_gfx_goto_xy(2060);+ lcd_gfx_goto_char_xy(33);
  lcd_gfx_write_string(text);  lcd_gfx_write_string(text);
   
Line 67: Line 78:
 } }
 </code> </code>
- 
et/examples/display/lcd_graphic.1261491841.txt.gz · Last modified: 2020/07/20 09:00 (external edit)
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0