0,00 €

V košarici ni izdelkov.

0,00 €

V košarici ni izdelkov.

More
    DomovRevijaProgramiranjeGrafični LCD prikazovalnik s folijo občutljivo na dotik - kalibracija

    Grafični LCD prikazovalnik s folijo občutljivo na dotik – kalibracija

    Kr­mi­lje­nje gra­fič­ne­ga LCD-ja s fo­li­jo ob­čut­lji­vo na do­tik (to­uch scre­en) je ve­dno za­ni­mi­va te­ma­ti­ka na se­mi­nar­jih. Na 3. Ba­scom se­mi­nar­ju smo pri­ka­za­li mož­nost upo­ra­be ka­li­bra­ci­je to­uch pa­ne­la v 16 ali v 4 toč­kah.

    Uvod

    Gra­fič­ni pri­ka­zo­val­ni­ki se v Slo­ve­ni­ji le­po upo­rab­lja­jo rav­no za­ra­di eno­stav­no­sti upo­ra­be s po­mo­čjo Ba­scom-AVR pro­gram­ske­ga je­zi­ka. De­mo ver­zi­ja Ba­scom-AVR pro­gra­ma omo­go­ča, da upo­ra­bnik pri­ka­že eno sli­či­co na za­slo­nu, za pri­kaz več sli­čic pa je že po­tre­bno ku­pi­ti li­cen­čno ver­zi­jo. Gle­de na zmo­glji­vo­sti, ki jih li­cen­čna ver­zi­ja po­nu­ja, to ni­ti ni ta­ko dra­ga »in­ve­sti­ci­ja«. Z na­ku­pom li­cen­čne ver­zi­je tu­di pod­pi­ra­mo av­tor­ja Ba­sco­ma, da bo še na­prej skr­bel za pod­po­ro te­ga iz­re­dno prak­tič­ne­ga oro­dja.

    Za pri­kaz sli­ke (v eni ali več bar­vah, od­vi­sno od upo­rab­lje­ne­ga pri­ka­zo­val­ni­ka) na gra­fič­nem LCD-ju mo­ra­mo naj­prej sli­či­co na­ri­sa­ti, ali pa jo us­trez­no po­ma­njša­ti na ve­li­kost na­še­ga pri­ka­zo­val­ni­ka. Če upo­rab­lja­mo 128×64 ve­lik pri­ka­zo­val­nik, po­tem je po­tre­bno sli­ko te­mu pri­mer­no gra­fič­no pri­pra­vi­ti v us­trez­nih pro­gra­mih, kot so Sli­kar, Co­rel in dru­gi.

    Ka­li­bra­ci­ja

    Ka­li­bra­ci­ja v obeh pri­me­rih (4 ali 16 točk) po­te­ka ta­ko, da na do­lo­če­nih me­stih gra­fič­ne­ga LCD-ja pri­ka­že­mo tip­ko, na ka­te­ro je po­tre­bno pri­ti­sni­ti. S pri­ti­skom na pri­ka­za­no po­vr­ši­no shra­ni­mo izmer­je­no vre­dnost v EE­PROM za ka­snej­šo upo­ra­bo. Pred­vsem to pri­de prav ta­krat, ko ne že­li­mo ob vsa­ko­krat­nem vklo­pu pri­ka­zo­val­ni­ka ali na­še na­pra­ve po­nav­lja­ti ka­li­bra­ci­je.

    V ko­li­kor bi to ven­dar­le že­le­li (npr. da že­li­mo ka­li­bri­ra­ti pri­tisk s pr­stom na­me­sto s pla­stič­no pa­li­či­co), po­tem po re­set-u pri­ti­sne­mo tip­ko PD.0 in jo dr­ži­mo to­li­ko ča­sa, do­kler se na pri­ka­zo­val­ni­ku ne po­ja­vi iz­pis: Ka­li­bra­ci­ja.

    Ka­li­bra­ci­ja v 16 toč­kah

    Kot po­ve na­slov, ka­li­bra­ci­ja po­te­ka v 16 toč­kah. Na gra­fič­ni LCD za­slon ri­še­mo se­ri­jo slik, ki pred­stav­lja­jo na­še tip­ke, kot na pri­mer glej sliko 1 in ta­ko na­prej do zad­njih »tipk« slika 2. V ko­li­kor smo tip­ko pri­ti­sni­li do­bro, se bo pri­ka­zal iz­pis, glej sliko 3, v ko­li­kor pa ni­smo pri­ti­sni­li tip­ke ali pa smo jo pri­ti­sni­li sla­bo, se bo iz­pi­sa­lo ob­ve­sti­lo slika 4 in pri­ka­za­la se bo sli­ka tip­ke, ka­te­re ni­smo pri­ti­sni­li. Ko smo pri­ti­sni­li vseh 16 tipk se po­ja­vi pra­zen za­slon, pro­gram ča­ka na pri­tisk tip­ke.

    Opis pro­gra­ma

    Na za­čet­ku pro­gra­ma iz­ve­de­mo ini­ci­a­li­za­ci­jo gra­fič­ne­ga pri­ka­zo­val­ni­ka, kon­fi­gu­ri­ra­mo ADC pre­tvor­nik (ki ga po­tre­bu­je­mo pri pre­tvor­bi ana­log­nih sig­na­lov to­uch fo­li­je), de­fi­ni­ra­mo spre­men­ljiv­ke in fun­kci­jo. Spre­men­ljiv­ki Tipkax(17) in Tipkay(17) de­fi­ni­ra­mo kot ERAM, do­lo­či­mo, ali že­li­mo ka­li­bra­ci­jo in sko­či­mo v glav­no Do-Lo­op zan­ko.

    Opis fun­kci­je

    De­lo­va­nje fun­kci­je, ki ugo­to­vi, če je ne­ka tip­ka pri­tis­nje­na, lah­ko raz­lo­ži­mo z sliko 5. Za vsa­ko tip­ko (na pri­mer Tip­ko 27), ki jo bo­mo pri­ka­za­li na gra­fič­nem pri­ka­zo­val­ni­ku, si v ta­be­lo shra­ni­mo le x in y

    po­lo­žaj sre­di­ščne toč­ke (Toc­ka_X (27), Toc­ka_Y (27)), ki le­ži na pre­se­či­šču di­a­go­nal zno­traj te tip­ke. X po­lo­ža­ju toč­ke priš­te­je­mo ne­ko vre­dnost (na pri­mer 35), ki pred­stav­lja to­le­ran­co na ko­or­di­na­tah X, ki smo jo še pri­prav­lje­ni spre­je­ti. Do­bi­mo naj­ve­čjo vre­dnost X, ki nam še po­me­ni pri­tisk te tip­ke. Po­tem od X po­lo­ža­ja sre­di­ščne toč­ke od­šte­je­mo ve­li­kost to­le­ran­ce, s či­mer do­bi­mo naj­ma­njšo vre­dnost X, ki nam lah­ko še po­me­ni pri­tisk na to tip­ko. Ena­ko na­re­di­mo z Y ko­or­di­na­to sre­di­ščne toč­ke te tip­ke in do­bi­mo naj­ve­čjo in naj­ma­njšo vre­dnost Y, ki smo ju še pri­prav­lje­ni spre­je­ti kot pri­tisk na tip­ko, ki jo tre­nut­no pre­ver­ja­mo . Fun­kci­ja nam pre­ve­ri, če se ko­or­di­na­te tre­nut­ne­ga do­ti­ka uje­ma­jo s ko­or­di­na­ta­mi ka­te­re od mno­ži­ce točk, ki se na­ha­ja­jo zno­traj mo­dre­ga šra­fi­ra­ne­ga po­dro­čja (glej sli­ko!). Če se uje­ma­jo, je ta tip­ka prav­kar pri­tis­nje­na in fun­kci­ja vr­ne kot re­zul­tat vre­dnost 1, v nas­prot­nem pri­me­ru vr­ne vre­dnost 0. Gle­de na vre­dnost, ki jo je vr­ni­la fun­kci­ja, se odlo­ča­mo za raz­lič­ne sklo­pe ak­cij, ki so pred­vi­de­ne ob pri­ti­sku na po­sa­mez­no tip­ko.

    Fun­kci­jo po­kli­če­mo ta­ko, da nje­no vre­dnost pri­re­di­mo ne­ki spre­men­ljiv­ki ti­pa Byte, ker tu­di fun­kci­ja vra­ča re­zul­tat ti­pa Byte. Ob kli­cu fun­kci­je v okle­pa­ju na­ve­de­mo šte­vil­ko tip­ke, za ka­te­ro že­li­mo pre­ve­ri­ti, če je bi­la mor­da pri­tis­nje­na. Ta šte­vil­ka je po­mem­bna pri in­dek­si­ra­nju spo­min­skih lo­ka­cij, kjer ima­mo shra­nje­ne ko­or­di­na­te X in Y sre­di­ščnih točk za vse tip­ke. S po­mo­čjo te fun­kci­je lah­ko ugo­tav­lja­mo, če je pri­tis­nje­na ka­te­ra od vseh na­ših tipk v kak­šni For-Next zan­ki, brez ve­li­ke po­ra­be dra­go­ce­ne­ga po­dat­kov­ne­ga pro­sto­ra, glej sliko 6.

    Opis su­bru­tin

    Su­bru­ti­na »Ka­li­bra­ci­ja« pre­be­re vre­dno­sti iz to­uch fo­li­je in jih shra­nju­je v po­zi­ci­je spre­men­ljivk za X in Y od 1 do 16. Ob za­čet­ku ka­li­bra­ci­je se na za­slo­nu iz­ri­še pr­va tip­ka in pro­gram pri­ča­ku­je pri­tisk na to tip­ko. Ta­ko za vsa­ko od 16 tipk shra­ni­mo vre­dno­sti, ki jih do­bi­mo ob vsa­kem pri­ti­sku na to­uch fo­li­jo.

    Su­bru­ti­na »Re­ad­to­uch« be­re vre­dno­sti iz to­uch fo­li­je. Vre­dnost pre­be­re v For-next zan­ki za­to, da do­bi­mo ne­ko po­preč­no vre­dnost in da se zne­bi­mo ne­ve­ljav­nih vre­dno­sti.

    Su­bru­ti­na »Prit_tip­ke« pri­ka­že us­trez­no sli­ko na gra­fič­nem za­slo­nu gle­de na shra­nje­no vre­dnost. Su­bru­ti­na de­lu­je ta­ko: ob pri­ti­sku pro­gram zaz­na ne­ko vre­dnost, ki jo pri­mer­ja s 16 shra­nje­ni­mi vre­dnos­tmi. Ker ima­jo vre­dno­sti svo­jo +/-od­sto­pa­nje, ki ga de­fi­ni­ra­mo v fun­kci­ji, lah­ko ze­lo do­bro po­kri­je­mo ce­lot­no po­dro­čje to­uch fo­li­je.

    Pro­gram ka­li­bri­ra to­uch fo­li­jo in gra­fič­ni pri­ka­zo­val­nik na 16 me­stih. S prak­tič­no upo­ra­bo se je iz­ka­za­lo, da je tak­šna ka­li­bra­ci­ja ča­sov­no po­trat­na, ven­dar pa za­ra­di shra­nje­nih vre­dno­sti ka­li­bra­ci­je v EE­PROM se ob na­sled­njih vklo­pih to iz­ka­že kot pre­dnost, saj je de­lo­va­nje te ru­ti­ne ze­lo hi­tro. Po­nov­ne ka­li­bra­ci­je ni po­tre­bno oprav­lja­ti v ko­li­kor ne za­me­nja­mo »me­di­ja« pri­ti­ska, ki je lah­ko člo­ve­ški prst ali pla­stič­na pa­li­či­ca (ne sme bi­ti oster pred­met, ki bi po­ško­do­val to­uch fo­li­jo!!).

    Ka­li­bra­ci­ja v 4 toč­kah

    Dru­gi mož­ni na­čin je ka­li­bra­ci­ja v 4 toč­kah. Po­do­bno kot pred­ho­dnem pri­me­ru na gra­fič­nem pri­ka­zo­val­ni­ku pri­ka­zu­je­mo tip­ke. To­krat pri­ka­že­mo sa­mo 4 tip­ke v vo­gal­nih po­zi­ci­jah na sliki 7. Vse osta­le po­zi­ci­je pro­gram iz­ra­ču­na iz vre­dno­sti, ki smo jih pri­do­bi­li iz ka­li­bra­ci­je. Opis su­bru­tin je enak v tem pri­mer, do­da­na je sa­mo su­bru­ti­na Ra­ču­na­nje, v ka­te­ri iz­ra­ču­na­mo vre­dno­sti za po­sa­mez­ne tip­ke.

    Pre­ra­čun vre­dno­sti za po­sa­mez­no tip­ko po­te­ka po sle­de­čem prin­ci­pu:

    • Za tip­ke 2, 3 in 14, 15 iz­ra­ču­na­mo vre­dno­sti po for­mu­li:
    Tip­ka št. 2=Tip­ka 1- (Tip­ka1-Tip­ka4)/3
    • Na­to nam osta­ne­jo sa­mo še tip­ke 9-12 in 5-8, ki jih iz­ra­ču­na­mo po sle­de­čih for­mu­lah:
    Tip­ka 9 = Tip­ka13- (Tip­ka13-Tip­ka1)/4
    • isto ve­lja za tip­ke 10-12.
    • Za tip­ke 5-8 upo­ra­bi­mo for­mu­lo:
    Tip­ka5=Tip­ka9-(Tip­ka9-Tip­ka1)/2

    Mor­da se bo­ste vpra­ša­li, ka­ko smo pri­šli do teh for­mul: eno­stav­no smo po­dat­ke o X in Y ko­or­di­na­tah, ki smo jih izme­ri­li pri po­stop­ku ka­li­bra­ci­je v 16 toč­kah pre­ne­sli v Excel ta­be­lo in tam ugo­to­vi­li to zna­čil­nost fo­li­je.

    Za­klju­ček

    Ta­ko smo iz­ra­ču­na­li vse vre­dno­sti za pri­tisk na to­uch fo­li­ji. Ob tem je po­tre­bno opo­zo­ri­ti na raz­lič­ne to­uch fo­li­je! Fo­li­ja, ki jo po­nu­ja­mo v AX elek­tro­ni­ki, ima tak­šne la­stno­sti, da se vre­dno­sti lah­ko iz­ra­ču­na s po­mo­čjo na­ve­de­nih for­mul. V ko­li­kor to ni mož­no pre­dla­gam ka­li­bra­ci­jo v 16 toč­kah. Pro­gram se­ve­da ni ide­a­len in za­ra­di ne­li­ne­ar­no­sti fo­li­je so do­ga­ja, da do­lo­če­ne tip­ke – še po­se­bej ti­ste ob de­snem ro­bu, ne »pri­me­jo« in je po­tre­bno po­nov­no pri­ti­sni­ti na njih. To se do­ga­ja za­ra­di opi­sa­ne ne­li­ne­ar­no­sti fo­li­je. V ko­li­kor bi vas to mo­ti­lo pre­dla­gam, da si iz­ri­še­te ve­čje tip­ke, re­ci­mo 8 tipk. S tem, ko so tip­ke ve­čje, je lah­ko ve­čje tu­di ob­mo­čje oko­li pri­ti­ska tip­ke, ki je raz­lo­že­no ne­kaj vr­stic vi­šje. Upam, da vam bo pro­gram na gra­fič­nem LCD-ju s to­uch fo­li­jo le­po de­lo­val!

    Program FONTI
    
    Program MALE IN VELIKE TIPKE

    Za nakup tiskanega vezja ali ostalega materiala, lahko kontaktoirate uredništvo revije Svet elektronike!
    Ogled celotnega članka je možna le z nakupom letnika v PDF obliki.

    Avtor: Jure Mikeln, Bojan Kovač
    2010_SE175_55
    Politika zasebnosti

    Spoštujemo vašo zasebnost in se zavezujemo, da bomo osebne podatke, pridobljene prek spletnega informacijskega sistema, skrbno varovali in jih brez vaše privolitve ne bomo posredoval tretji osebi oziroma jih uporabili v druge namene. Ker obstajajo v spletnem informacijskem sistemu določene povezave na druge, zunanje spletne strani, ki niso vezane na nas, ne prevzemamo nobene odgovornosti za zaščito podatkov na teh spletnih straneh.

    Hkrati se zavezujemo, da bomo po svojih najboljših možnih močeh varovali podatke in zasebnost obiskovalcev spletne strani .

    Da bi preprečili nepooblaščen dostop do pridobljenih podatkov ali njihovo razkritje, ohranili natančnost osebnih podatkov in zagotovili njihovo ustrezno uporabo, uporabljamo ustrezne tehnične in organizacijske postopke za zavarovanje podatkov, ki jih zbiramo.

    Več: https://svet-el.si/politika-zasebnosti