Fórum témák

» Több friss téma
Fórum » Karakteres LCD-k meghajtása, vezérlése
Lapozás: OK   16 / 17
(#) Jonni válasza Pethical hozzászólására (») Márc 10, 2021 /
 
Közbe megtaláltam az adatlapját. Esetleg ki lehet belőle valamit böngészni.

https://www.alldatasheet.com/datasheet-pdf/pdf/43112/SHARP/LM40X21A.html
(#) Pethical válasza Jonni hozzászólására (») Márc 10, 2021 /
 
Ez sajnos csak a kijelző adatlapja, azt lenne jó tudni, hogy milyen meghajtó IC van rajta.
Pár kérdés:
Másik saját betűvel is ökörködik, vagy csak az á-val?
Ha az á helyett valami más mintát írsz be (pl tele kocka, vagy csíkok), akkor abból mi lesz?
Ha másik címre teszed az át (pl. 2) és úgy írod ki, akkor mi történik?
A hozzászólás módosítva: Márc 10, 2021
(#) Jonni válasza Pethical hozzászólására (») Márc 10, 2021 /
 
Most átalakítottam ilyenre

  1. byte a1[8] = {B11111, B00000, B11111, B1, B00000, B11111, B00000};


ennek semmi köze az á betűhöz de ugyanazt írja
(#) benjami válasza Jonni hozzászólására (») Márc 10, 2021 / 2
 
Pillanatok alatt összedobhatsz egy tesztprogramot, ami megjeleníti a teljes karakterkészletet a kijelzőn (nyilván csak scrollozva). De ha biztosra akarsz menni, akkor használd a 8db szabadon szerkeszthető karaktert, amit a 0..7 vagy a 8..15 karakterkódon tudod elérni.
Ötletadónak itt egy általam 1000 éve írt karakteres lcd driver, azon belül az examples / demo-cursor mappában vannak a példák pic és avr procira.
(#) Jonni válasza benjami hozzászólására (») Márc 10, 2021 /
 
Köszi. Holnap megnézem.
(#) Jonni hozzászólása Márc 11, 2021 /
 
Sziasztok

A segítséget mindenkinek köszönöm a 40x2 lcd témába.
majkimester a te megoldásodhoz én egy kicsit amatőr vagyok de az biztos, hogy működne.

Már csak 1 kérdésem lenne. A TME-nél láttam ezt a 40x2-es Lcd-t. Azt írja ,hogy támogatott karkterkészlet Angol/európai . Ennél a kijelzőnél elég lenne magyarul írnom és az magyrul jelenne meg vagy itt is létre kéne hozni saját karaktert?
(#) Pethical válasza Jonni hozzászólására (») Márc 11, 2021 /
 
Nézd meg az adatlapját, abban általában benne van a karakterkészlete.
(#) majkimester válasza Jonni hozzászólására (») Márc 11, 2021 / 2
 
Szia, sejtettem, hogy amit leírtam még bonyolult, de ha sok szöveg van és más más karakterkészletű LCD-hez is szeretnéd használni, akkor ez a legjobb módszer. A többi az favágás, de nyilván működik kicsiben.

Az Angol/európai készletben nincs kis ő és ű, ezeket mindenképpen definiálnod kell.
Ezen kívül a ritkán használ nagy betűk Á, Í, Ó és Ú sincsenek.
Nálam ez az átváltó tábla erre a karakter készletre:

  1. // English-European character set
  2.     case 'á' : return 0xA0;
  3.     case 'é' : return 0x82;
  4.     case 'í' : return 0xA1;
  5.     case 'ó' : return 0xA2;
  6.     case 'ö' : return 0x94;
  7.     case 'ő' : return 0x01;
  8.     case 'ú' : return 0xA3;
  9.     case 'ü' : return 0x81;
  10.     case 'ű' : return 0x02;
  11.     case 'Á' : return 'A';
  12.     case 'É' : return 0x90;
  13.     case 'Í' : return 'I';
  14.     case 'Ó' : return 'O';
  15.     case 'Ö' : return 0x99;
  16.     case 'Ő' : return 0x99;
  17.     case 'Ú' : return 'U';
  18.     case 'Ü' : return 0x9A;
  19.     case 'Ű' : return 0x9A;
  20.     case '°' : return 0xCD;  // fok jel
(#) Jonni válasza Pethical hozzászólására (») Márc 11, 2021 /
 
Ott 5.Character Generator ROM Pattern Table.2- azt írja hogy megvan minden magyar betű. Beszerzek 1 ilyet.
(#) Jonni válasza majkimester hozzászólására (») Márc 11, 2021 /
 
Szia
Köszi ..... tálán valamikor erre is szükségem lesz.
(#) Skori válasza mateatek hozzászólására (») Máj 3, 2021 / 1
 
Idézet:
„Csináltam egy tesztet. 10-szer egymás után teleírtam mindkét sort az LCD-n. Törlés nem volt, csak felülírás.
4 biten: 74 millisec.
I2C alap sebességen: 244 millisec.
I2C 800000-es sebességen: 66 millisec.”
Korábban említettem, hogy megmérem én is a (a weblapomon leírt) léptetőregiszteres megoldással mennyi ideig tart teleírni a 2x16-os kijelzőt. BluePill-t használtam, 74HCT595 léptetőregisztert, és hasonlóképp 10x teleírtam a kijelzőt (kipróbáltam 100X teleírást is, az eredmény visszaosztva ugyanaz). Gyakorlatilag a 10x teleírás 26ms ideig tartott, azaz: kb. 81µsec/karakter sebességgel írta a kijelzőt.
Összehasonlításképpen a korábbi méréseddel:
4 biten: 74 millisec. --> 231µsec/karakter
I2C alap sebességen: 244 millisec. --> 762µsec/karakter
I2C 800000-es sebességen: 66 millisec. --> 206µsec/karakter
A konklúzió számomra: amenyiben számít, hogy mennyi ideig tart a kijelző írása, akkor a léptetőregiszteres megoldás elég jó alternatíva...

A mérést a forrasztóállomásom kódjába tettem bele ideiglenesen, ill. próbaképpen:
  1. uint32_t tt1,tt2,cc=10;
  2. tt1=millis();
  3. for(;cc;cc--){
  4. lcdsh_Line1(); lcdsh_str2("Forrasztóállomás",16);
  5. lcdsh_Line2(); lcdsh_str2("JBC245 Skori v02",16);
  6. }
  7. tt2=millis();
  8. lcdsh_Line2();lcdsh_num(tt2-tt1,16);
(#) Skori válasza Skori hozzászólására (») Máj 3, 2021 /
 
Kíváncsi voltam meddig tudom feszegetni a határokat, és elkezdtem csökkenteni a µs-os késleltetéseket a programban, hogy tovább növeljem a kijelzőre írás sebességét.
A tesztelt kijelzővel 39µsec/karakter sebességig nem hibázott a kijelző, 38µsec/karakter sebességnél viszont már előfordultak hibák. Tehát a 2x16-os kijelző kb. 1,25ms alatt teleírható (nyilván ez függ az adott kijelzőtől is, régebbi vagy más típusok esetleg lassabban írhatók)
(#) mateatek válasza Skori hozzászólására (») Máj 3, 2021 /
 
Idézet:
„Kíváncsi voltam meddig tudom feszegetni a határokat”


Ha megnövelnéd az LCD órajelét ellenállás cserével, lenne ez még jobb is.

Vélhetőleg az Arduinós libekben is lehetne ezt az utat követni, mert ott is µs-os késleltetések vannak. Gondolom ezeket biztonsági ráhagyással teszik bele a kódba, mégpedig a 3.3 voltos, lassabb órajelű LCD-khez igazodva.
(#) Jonni hozzászólása Okt 14, 2021 /
 
Sziasztok!

I2C Q1 tranzisztorát sikerült kinyírnom Nem tudja valaki az értékét?
(#) Jonni válasza mateatek hozzászólására (») Okt 14, 2021 /
 
Köszi

Remélem van ilyen itthon.
(#) Bakman válasza Jonni hozzászólására (») Okt 14, 2021 / 1
 
Kb. bármilyen NPN tranzisztor megfelel, amelyiknek egyezik a lábkiosztása és elbírja a háttérvilágítás áramát.
(#) Jonni válasza Bakman hozzászólására (») Okt 14, 2021 /
 
Van itt még valami. Szerintetek nincs valami elírva a rajzon? LED+ valójában nem LED- , és fordítva?
(#) Bakman válasza Jonni hozzászólására (») Okt 14, 2021 /
 
Elírás lehet. Valamint a kijelző háttérvilágításához tartozó ellenállás is hiányzik a rajzról.
(#) pipi válasza Jonni hozzászólására (») Okt 14, 2021 /
 
Akarod ki/be kapcsolgatni a háttérvilit? Ha nem tegyél a tranyó helyére egy ellenállást, így örökké virítani fog
(#) Jonni válasza pipi hozzászólására (») Okt 15, 2021 /
 
Igazság szerint nem ki/be kapcsolati akarom hanem a fenyerejét szabályozni PWM jellel. A szabályzás jó csak a tranyot kinyírtam véletlen.
(#) mateatek válasza Jonni hozzászólására (») Okt 15, 2021 /
 
Én is PWM-mel szoktam szabályozni. A jumper-t leszedem és oda kötöm a PWM jelet. A tranyó meg marad ahol van.
(#) Jonni válasza mateatek hozzászólására (») Okt 15, 2021 /
 
Ki próbálom én is úgy.
(#) mateatek válasza Jonni hozzászólására (») Okt 15, 2021 /
 
Az MCU PWM kimenetére teszek egy 1k-s ellenállást és azon keresztül hajtom meg. Így is bőven elég a fénye.
(#) Jonni hozzászólása Nov 14, 2021 /
 
Ha másnak is lenne ilyen problémája akkor van erre egy másik megoldás . Ma rákötöttem a japán/angol 40x2 karakteres LCD-m re egy I2C meghajtót és láss csodát minden előre definiált ékezetes betűt kiír.
(#) Bakman válasza Jonni hozzászólására (») Nov 14, 2021 /
 
Egy adatlap szerint az Angol - Japák kódkészletben nincsenek magyar ékezetes betűk.

Nem kell ahhoz I2C meghajtó, hogy a kijelzőben lévő összes karaktert elérd Kb. négyszer írták le az eredeti felvetésedtől kezdődően azt, hogyan kell cselekedni.
(#) Jonni válasza Bakman hozzászólására (») Nov 14, 2021 /
 
Te valamit félreértettél!!! Én sem azt írom ,hogy I2C kell hozzá és tudom , hogy kell kiíratni .
(#) Gafly válasza Jonni hozzászólására (») Nov 14, 2021 /
 
Mi a kérdés?
(#) Jonni válasza Gafly hozzászólására (») Nov 14, 2021 /
 
Ez most nem kérdés volt hanem tapasztalat. Nagy vonalakban annyi, hogy ha egy arduino nano-t összekötünk egy Sharp LM40X21A karakteres LCD-vel 12 szálon (vss, vdd, V0, RS, RW, E, D4, D5, D6, D7, A, K) akkor nem ír ki minden előre definiált (vagy deklaráltnak is mondják) karaktert, de ha I2C LCD adaptert használunk (4 szálon VSS, VDD , SCL SDA) akkor mindent jól ír ki ugyanazon a kijelzőn.
(#) Bakman válasza Jonni hozzászólására (») Nov 14, 2021 /
 
Nem értettem félre.

Ha meg akarod jeleníteni a "Béla" nevet, akkor alapvetően két lehetőséged van. Elküldöd a "Béla" szót egy makrónak és az vagy eltalálja az "é" betűt, vagy nem. A másik opció, amit írtak többször is, hogy az ékezetes karakter helyett a kijelzőben definiált karakterpozíciót küldöd el. Pl.:

"B"
0x82
"la"

Ehhez nem kell I2C modul. A csapda, amibe beleestél, mindössze annyi, hogy az I2C LCD makróban az "é" betű, mint 0x82-es kód van definiálva, míg a normál fejlesztőkörnyezeti LCD makródban akármi. Ez is csak addig működik, amíg a megfelelő kijelző van a rendszerre csatlakoztatva.

Nagy biztonsággal az ASCII táblázatból a 0x20 - 0x7E karaktereket lehet használni, a többi AS szabvány szerinti de a legjobb, ha megnézed a kijelző adatlapját, milyen karaktereket ismer.
Következő: »»   16 / 17
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem