Již nějakou dobu se v internetovém obchodě Aliexpress objevují displeje z tekutých krystalů s úhlopříčkou 2,2 palce a rozlišením 240RGBx320 za velmi lákavou cenu. Byl jsem mezi těmi v pokušení a koupil jsem pár takových produktů za 90 rublů. kus. Výhledově mohu říci, že dobrodružství dopadlo úspěšně: navzdory měkkému obalu, falešnému číslu skladby a nesrovnalosti mezi modelem displeje, zboží dorazilo bez poškození, obrazovky byly připojeny, testovány a nebyly zjištěny žádné závady. Ale jak se říká, pohádka brzy vypráví své...

Připojení tohoto typu obrazovek není extrémně obtížný úkol. Ale pod jednou podmínkou - dostupností technické dokumentace, která by v co nejmenší podobě měla obsahovat účel LCD pinů, seznam příkazů a inicializační algoritmus. V některých případech jsou vyžadována další „tajemství“. Abych nebyl „šťastným“ majitelem sice ne drahého, ale zbytečného harampádí, prohledal jsem předem internet a stáhl dokumentaci. Ale poté, co jsem obdržel obálku poštou, jako mnoho „bratrů štěstí“, byl jsem překvapen, když jsem v ní našel... ne přesně ty LCD, které byly v popisu prodejce. Jediné, co bylo stejné, byla úhlopříčka a rozlišení. Rozlišení jsem však mohl zkontrolovat později – až po zapnutí. Rozdíly začaly u počtu pinů – bylo jich 32 místo slibovaných 26. Informace jsem teď musel hledat na reálném displeji. Nebudu říkat, že hledání bylo dlouhé a obtížné, ale to jen díky tomu, že podobné téma již bylo otevřeno na jednom z fór: http://forum.easyelectronics.ru/viewtopic.php?f =9&t=22577 Muži, kteří se ocitli v podobné situaci, jsme získali potřebné informace.

Nyní bylo potřeba otestovat displeje. A to znamenalo minimálně fyzické připojení a vytvoření programu pro jejich inicializaci a testování. Bylo nutné sestavit určitý obvod pro testování displejů, aniž bychom měli možnost tento obvod samotný otestovat kvůli nedostatku známého dobrého LCD. To znamenalo, že obvod musel být extrémně jednoduchý.



Tak jednoduché, že pravděpodobnost chyby v něm bývá nulová. Měl by být také co nejvíce otevřený, aby bylo možné jeho činnost snadno kontrolovat například v režimu krok za krokem měřením napětí na svorkách LCD. Bylo nutné zvolit: sestavit obvod s mikrokontrolérem nebo bez něj. Přednost byla dána druhé možnosti. Jednak tím odpadla nutnost psát program pro řadič a obtěžovat se jeho laděním. Za druhé, k uspořádání režimu krok za krokem nebylo třeba vymýšlet nic zvláštního. Za třetí, při provádění změn v programu nebylo potřeba nic flashovat – stačilo změny uložit do textového souboru a program bylo možné spustit znovu. Tato metoda má snad jen jednu nevýhodu - nízkou rychlost záznamu informací na LCD. Bylo však rozhodnuto přijmout tuto nevýhodu s ohledem na účel tohoto režimu. Neměl jsem v úmyslu používat LCD s tímto způsobem připojení stále. Potřeboval jsem se jen ujistit, že obrazovky fungují správně, zjistit algoritmus pro jejich inicializaci, experimentovat a otestovat je. Níže popsaný obvod si s těmito úkoly dobře poradí. Vyplnění celé obrazovky grafickými informacemi s její pomocí trvá samozřejmě poměrně dlouho – na LCD je potřeba přenést velké množství informací i přes to, že rozhraní LCD je implementováno jeho softwarovou emulací, a to i přes posuvné registry, také řízené softwarem. Doba inicializace, stejně jako doba nastavování LCD režimů, však není tak dlouhá a pohybuje se v přijatelných mezích. To je vysvětleno skutečností, že k inicializaci nebo konfiguraci stačí provést maximálně několik desítek operací zápisu.

2. Schéma zařízení

Pojďme se blíže podívat na postup připojení LCD, které nese tajemné nápisy TC220-85-C-P4-J-E a TFT8K0291FPC-A1.

Rýže. 2.


1 . O účelu prvního výstupu mohu jen spekulovat. Možná to signalizuje fyzickou přítomnost LCD v systému. V každém případě se bez toho obejdete.
2
3 . Napájení +2,8V
4 . Výběr krystalů. Aktivní úroveň je nízká. Její plné využití má smysl, pokud je datová sběrnice využívána pro více než jedno zařízení. V nejjednodušším případě na něj stačí aplikovat konstantu – logickou „0“.
5 . Musí být připojen a programově přístupný. Tento signál má různé úrovně v závislosti na tom, co je zapsáno na LCD: příkaz (0) nebo data (1). To je místo, kde se věci mohou zamotat. Faktem je, že v konceptu vývojářů čipů se místo konceptu „příkaz“ používá koncept zápisu do „indexového registru“. To je téměř totéž, ale s náznakem krystalové architektury. Registr indexu je ukazatel na adresu registru, kam se budou zapisovat data. Jinými slovy, příkaz je číslo v adresovém prostoru registrů určené pro zápis dat. Data mohou zahrnovat jak nastavení režimu, tak grafické informace.
6 . Záznamový stroboskop. Aktivní úroveň je nízká. Nezapomeňte se připojit. Při vygenerování zapsané informace na datové sběrnici je nutné tento signál přepnout do aktivního stavu a zpět. V tomto případě se informace zaznamenají na LCD.
7 . Stroboskop čtení. Aktivní úroveň je nízká. Nemůžete ho použít tak, že mu předáte konstantu – logickou jednotku. Potřebné pouze v případě, že máte v úmyslu něco přečíst z LCD.
8
9,10,11,12 . Závěry dotykového panelu, který neexistuje.
13 . Společná anoda podsvícení LED. V souladu s tím je připojen k plusu napájení podsvícení.
14,15,16,17 . Podsvícení LED katod. Připojte k záporné straně zdroje napájení podsvícení. Navíc je lepší je nespojovat kvůli rozdílům v parametrech LED.
18 . Pro tento závěr je lepší poskytnout konstantu, ale která z nich je věcí osobních preferencí. Rozhodl jsem se předložit logický celek. Ne, ne proto, že tíhnu víc k jedničkám než k nulám. Faktem je, že v tomto případě jsou schopnosti tohoto displeje odhaleny na maximum. Nutno podotknout, že si vývojáři dali hodně záležet na šířce datové sběrnice a vnitřních registrů. Takže aplikací logické jedničky na tento vstup získáme 9bitovou datovou sběrnici a maximální sadu barevných a jasových gradací. Když je tento vstup nulový, pin 19 (DB9) se stane zbytečným a datová sběrnice se stane 8bitovou.
19...27 . Datová sběrnice DB9...DB17. Bez toho to nejde.
28 . Tvrdý restart. Aktivní úroveň je nízká. Je potřeba, ale v nejjednodušším případě k němu můžete připojit i běžné tlačítko s pull-up rezistorem.
29 . Napájení +2,5...3,3V.
30 . Napájení +2,8V.
31 . Připojuje se ke společnému vodiči.
32 . Tento závěr je stvořen pro krásu. Není vyžadováno žádné připojení.

Pro komunikaci s počítačem slouží jednoduchý převodník USB-RS232TTL na čipu PL-2303. Není vůbec nutné používat jen takový převodník, ale má to své výhody. Hlavní je, že není potřeba připojovat další napájení. Všechna napájecí napětí lze získat přímo z tohoto modulu. Kromě obvyklého napětí +5V pro USB má tento modul výstup +3,3V. Proč se tvůrci čipu PL-2303 museli obtěžovat generováním tohoto napětí, opravdu nechápu. Zdálo by se, že napájení zařízení připojených k modulu není jejich starost, ale protože takové napětí již vzniklo, byl by hřích toho nevyužít. Pomocí diody VD1 a rezistoru R29 se napětí 3,3V sníží na přibližně 2,8V a slouží k napájení LCD. Jako VD1 je vhodná jakákoli křemíková dioda.

Mikroobvody DD2 a DD3 jsou napájeny napětím 5V, které je rovněž odstraněno z modulu převodníku rozhraní. Pomocí stejného napájecího obvodu je generován napájecí proud pro podsvícení LED. Velikost tohoto proudu je omezena odpory R30...R33. Nedoporučuje se spojovat katody podsvícení LED mezi sebou.

Děliče napětí jsou namontovány na rezistorech R3...R26. Jsou potřebné ke snížení úrovně logických signálů „1“ přicházejících z výstupů mikroobvodů DD2, DD3 na vstupy LCD. Pokud tak neučiníte, objeví se na LCD vstupech logické napětí „1“, výrazně převyšující napájecí napětí LCD, což je nepřijatelné.

Emulace rozhraní LCD se provádí sekvenčním plněním posuvných registrů DD2 a DD3. Díky přítomnosti dalšího úložného registru v těchto mikroobvodech proces jejich plnění nemění stav výstupů, dokud není na piny 12 přiveden paralelní zatěžovací signál. To vám umožňuje ovládat logickou úroveň libovolného bitu na výstupy Q0...Q7 těchto mikroobvodů, přičemž ostatní výstupy jim zůstanou nezměněny.

Pro naplnění posuvných registrů (74595) jsou vstupní data postupně dodávána na kolík 14 čipu DD2, počínaje nejvýznamnějším bitem. Posun se provádí kladnou hranou hodinového impulsu na pinech 11 obou mikroobvodů. Po dokončení plnění registrů je na vývody 12 mikroobvodů DD2 a DD3 přiveden logický puls, po jehož okraji dochází k současnému (paralelnímu) zobrazování sekvenčně nashromážděných dat na výstupech registrů. Přenos posunutých dat z DD2 do DD3 se provádí pomocí pinu 9 čipu DD2, který odráží stav nejvýznamnějšího bitu posuvného registru a obchází paralelní úložný registr. K ovládání posuvných registrů, jak je popsáno výše, jsou zapotřebí celkem tři signály: datové, posuvné hodiny a paralelní výstupní hodiny.

Tyto signály jsou generovány softwarově na výstupech DTR, RTS a TXD převodníku USB-RS232TTL. Signály DTR, RTS a TXD se v tomto případě používají nestandardním způsobem, ale v tomto není žádný „zločin“ a jak ukazuje zkušenost, tato metoda je docela spolehlivá. Převodník použitý v tomto obvodu nemá vhodně vyvedené výstupy DTR a RTS, takže jsme museli vyříznout okénko v teplem smrštitelném plášti a vodiče připájet přímo na svorky mikroobvodu PL-2303. Tento mikroobvod generuje signál TXD na kolíku 1, DTR na kolíku 2 a RTS na kolíku 3. Ale tento způsob získání přístupu k potřebným signálům není vhodný pro každého - pájení je malé. Vzdálenost mezi prvním a čtrnáctým pinem čipu PL-2303 je pouhých 8,8 mm. Můžete jít i jinou cestou – použijte převodník USB-RS232TTL ve formě adaptérového kabelu. Poté lze z běžného konektoru, jako je port COM, odstranit všechny potřebné signály. V tomto případě bude muset být napájení obvodu organizováno jiným způsobem. Při výměně převodníku USB-RS232TTL za jiný model je třeba počítat s možností inverze (nebo její absence) některých signálů v závislosti na modelu převodníku. Neexistují žádné požadavky na inverzi, které ovlivňují výběr převodníku. Jen je třeba mít na paměti, že může být nutné provést příslušnou úpravu programu (úplně na začátku skriptu, kde jsou popsány ladicí konstanty).

V napájecích obvodech 5 V a 2,8 V je užitečné přidat kondenzátory o kapacitě 0,1...1 μF, aby se snížila pravděpodobnost poruchy v důsledku šumu napájení.

3. Softwarová část

Hardwarové zapojení tohoto LCD neobsahuje nic zvláštního, pokud si nedáte pozor na devítibitovou datovou sběrnici, která však není děsivá. Ale z hlediska programování tohoto displeje můžeme říci, že jeho tvůrci byli chytří: všechny vnitřní registry jsou považovány za 18bitové (dokonce i indexový registr, který používá pouze 7 bitů), proto se zápis vždy provádí ve dvou operacích (nejprve - nejvýznamnějších 9 bitů, poté - 9 nízkých), instrukce jsou současně 16bitové (což způsobuje zvláštní "pokřivení" s 18bitovým interním zapisovacím registrem) a grafická data využívají všechny 18 bitů, za předpokladu, že datová sběrnice pracuje v 9bitovém režimu. Kromě toho jsou tři základní barevné pixely v jedné triádě také přenášeny ve dvou operacích zápisu: nejprve 6 bitů červené a 3 nejvýznamnější bity zelené, poté 3 nejméně významné bity zelené a 6 bitů modré. Kromě toho byl inicializační algoritmus vynalezen jakoby „aby to nepřátelé neuhádli“ – ke spuštění tohoto LCD je potřeba spousta složitých nastavení a příkazů.

Rýže. 4. Každý z těchto roztomilých čtverců je nakreslen na pozadí barevného šumu pomocí následujícího algoritmu:

Y = 128;
a=1;
zatímco začátek
Ind="20"; SetIndex(); Dan="0040"; SetData();
Ind="21"; SetIndex();
Given=Str.SetLen.Right(Str.DecToHex(Y),4,"0"); SetData();
Ind="22"; SetIndex();
b=1;
zatímco b začíná
jestliže (a20) pak

if (b20) pak
Dot="000000000000000000" jinak
Bod="111111000000000000"; //Červené
OutToGRAM();
b=b+1;
konec;
Y=Y+1;
a=a+1;
sys.PM();
konec;

Vzhledem k tomu je stěží snadné naprogramovat dotyčný LCD. Dospívám k tomuto závěru, když mám možnost srovnání: v minulosti jsem měl možnost „hrát si“ s podobnou obrazovkou, která měla také rozlišení 240x320 a stejnou úhlopříčku. Ten LCD se jim ale podařilo nastartovat doslova holýma rukama – schéma zapojení se skládalo pouze z baterií (napájení), drátů, tlačítek a neobsahovalo žádné mikroobvody! Datová sběrnice tam byla 8bitová. Každý zápis na LCD se skládal z jedné operace zápisu. Elementární barevné pixely byly každý zakódovány svým vlastním celým byte. Inicializační příkazy bylo nutné zadávat pomocí propojek. Celkem byly ke spuštění displeje potřeba tři příkazy a nebylo to nic složitého. A všechno se povedlo! S LCD popsaným v tomto článku by takový trik nefungoval.

Podívejme se na základní principy programování LCD. Hardwarový resetovací signál (LCD pin 28) může být zcela hardwarově nebo jako v našem případě řízen softwarově. Operace s LCD začíná aplikací aktivní logické úrovně na resetovací vstup, po kterém se tento signál vrátí do neaktivního stavu. Softwarová interakce s LCD dále spočívá v zápisu a čtení z LCD. V nejjednodušším případě si vystačíte pouze s operacemi zápisu. To bylo provedeno v uvažovaném příkladu.

Nyní se podíváme blíže na funkce tohoto LCD, které je třeba vzít v úvahu při jeho programování. Nejprve musíte vědět, že záznam jakékoli informace do tohoto LCD se provádí ve dvou fázích. To umožňuje přenos 18 bitů přes 9bitovou datovou sběrnici. Neexistují žádné speciální přepínače, které by odlišily první polovinu dat od druhé. Ke „slepení“ 18bitového slova dochází automaticky v rámci displeje. Stačí dodržet posloupnost – nejvýznamnější bity jsou na prvním místě, pak nejméně významné bity. Dále, abychom předešli zmatkům, budeme takový dvojitý záznam nazývat úplný záznamový cyklus (FRC).

Rozlišuje se mezi přenosem příkazů a dat na LCD. Hardwarově jsou tyto dva typy digitálních řídicích obvodů jasně odděleny pomocí signálu „RS“ (pin 5 displeje). Liší se také data: v závislosti na dříve vyslaném příkazu se může jednat o nastavení režimů a nastavení nebo o grafická data zobrazená na obrazovce. Ve druhém případě lze data přenášet mnohokrát bez opakování zadání příkazu – vnitřní počítadlo adres LCD se po každém PZZ automaticky zvýší o jedničku, což na obrazovce vypadá jako přechod k další RGB triádě elementárních pixelů.

Bez ohledu na to, co se snažíme displeji sdělit, ovládací panel příkazu je vždy na prvním místě. Jiným způsobem se tomu také říká zápis do indexového registru. Kód, který do tohoto registru zadáváme, je v podstatě číslo jednoho z registrů určených pro příjem dat. To znamená, že naplněním indexového registru (předáním příkazu) informujeme ten či onen datový registr, že do něj budou zapsána následná data. Po příkazu PCR se provede jedno nebo více dat PCR. LCD rozlišuje zápis dat a zápis příkazů pomocí svého 5. pinu (RS), který je při zápisu příkazů nastaven na logickou nulu a při zápisu dat na logickou jedničku. To je ve skutečnosti vše, co se týká obecného přístupu k programování LCD, ale existují určité zvláštnosti v distribuci bitů 18bitového slova uvnitř digitálního ovládacího panelu.

Vezměme si například PCP v indexovém registru. Tento registr ve skutečnosti používá pouze 7 bitů. Věnujte pozornost obrázku, který ukazuje shodu mezi informacemi přenášenými a zapsanými do registru.


Data pro daný příkaz jsou 16bitová (kromě grafiky). Následující obrázek ukazuje, jak je 18 bitů přenášených v jednom DPR „zabaleno“ do 16bitového datového registru.


A konečně přenos jednoho plného RGB pixelu (triády) na LCD také není bez zvláštností. Data jedné triády jsou přenášena v jedné PCR. Obrázek ukazuje kódování triády (18 bitů = 6 bitů "R" + 6 bitů "G" + 6 bitů "B").


Kdo chce, může. Je napsán ve formě skriptu (soubor „Test LCD 240RGBx320.pms“ ve složce „PMS“), k jehož provedení je zapotřebí interpret zahrnutý v programu „Perpetuum M“. Můžete také použít přímý odkaz. Výsledkem by měly být dva archivní soubory. Instalace softwaru jednoduše zahrnuje vytvoření nové složky na pevném disku a rozbalení obsahu obou archivů do ní. Poté můžete spustit soubor perpetuum.exe

Program (skript) obsahuje funkce emulace rozhraní LCD, algoritmus inicializace displeje a testy, z nichž dva vyplňují obrazovku černobílými poli a třetí zobrazuje obrázek. Tento program můžete prohlížet a měnit pomocí běžného textového editoru. Před prvním spuštěním programu zkontrolujte název portu použitého ve Správci zařízení Windows a v případě potřeby proveďte příslušnou úpravu textu skriptu (řádek: "PortName="COM4";" - namísto číslo 4 může být i jiné číslo). Také při použití jiného modelu převodníku USB-RS232TTL může být nutné změnit nastavení inverze signálu (řádky skriptu začínající slovem „High“). Inverzi signálů převodníkem USB-RS232TTL můžete zkontrolovat pomocí některého z příkladů obsažených v návodu k programu Perpetuum M (sekce funkcí pro práci s portem).

Najdete ho také zde. Tato tabulka vám pomůže pochopit režimy zobrazení a nastavení.

Kromě PL-2303 existují i ​​další čipy, na kterých jsou vytvořeny převodníky rozhraní podobné tomu použitému v tomto vývoji. Přečtěte si popis jiného převodníku a jak jej lze upgradovat na plnohodnotné USB-RS232TTL.

Zaměnitelnost matic je častá otázka, která vyvstává při opravě notebooku.
Pojďme se na vše podívat podrobně a bod po bodu.
To vše platí pro moderní matrice s řízením LVDS. Od roku 1999 výrobce konečně začal standardizovat své matrice a dnes máme k dispozici následující dokumenty o matricích.

Nemám nejnovější standard 4.0 z roku 2007, ale vše je jasné z posledního dostupného dokumentu

1. EEPROM NA MATRIXU
Na matrici je obvykle instalován paměťový čip (eeprom), do kterého jsou zapsány charakteristiky matrice, tzn. sdělit notebooku, kolik matice stojí a jak s ní pracovat. Na matrici může nebo nemusí být eeprom (všechny moderní matrice mají podle standardizace nainstalovaný eeprom, ale staré matrice nemusí mít eeprom).
Většina notebooků používá průmyslové matrice a u některých notebooků je matrice nastavena pomocí propojek nebo propojek na kabelech. Věnujte prosím pozornost tomu, že na některých matricích, kde není eeprom všechny kontakty výstupů eeprom lze připojit k zemi a když je taková matice připojena k notebooku, kde je dotazován eeprom, je možné poškození základní desky, konkrétně vyhoření video čipu nebo napájecího kanálu eeprom. Pokud máte matici bez eeprom, můžete do ní nainstalovat eeprom z rozbité nebo vadné matice.

2. PŘIPEVNĚNÍ MATICE
Dokonce i podobné matrice mohou mít rozdíly v upevnění.
17" matrice, boční montáže jsou identické, ale problémy mohou nastat u planárních montáží (přítomnost a nepřítomnost „uší“ na obrázku níže), stejně jako s výjimkou řady ACER 17xx, kde je matrice z stolní LSD monitor. (Existuje několik možností pro čínské buky, stejně jako nějaký druh roveru, ale o tom neuvažujeme)
Pokud jsou zbytečné, je zpravidla řešením je demontovat.
16" matrice, existují dva typy, HITACHI a SHARP,
15,4" matrice, boční úchyty jsou identické, ale problémy mohou nastat s planárními úchyty (přítomnost a absence „uší“) Výjimkou jsou 2-lampové matrice
15,2" matrice vyrobila pouze jedna firma a jsou unikátní
15" matrice

standard 1 je A=12,5 B=169,5
standard 2 je A=21,5 B=196,5
(viz obrázek)
Výjimkou je několik modelů starých matric HITACHI, kde jsou sice otvory umístěny podle normy, ale rám matrice je znatelně posunutý k pravému okraji a nahoru, a několik modelů starých čínských výrobců stejného typu jako Hitachi
14" běžný (NE širokoúhlý)
Existují 2 hlavní typy s upevněním umístěným na různých místech, to znamená, že označujeme vzdálenost od okraje k prvnímu otvoru jako A a od prvního otvoru k druhému B
14 standard 1 je A=15 B=69
standard 2 je A a B mají jiné významy, které nejsou k dispozici.
(viz obrázek)
Výjimkou je několik modelů starých matric HITACHI, kde jsou otvory sice umístěny podle normy, ale rám matrice je znatelně posunut k pravému okraji a nahoru
Výjimkou jsou také matrice určené pro dotykové obrazovky, uchycení jsou zcela odlišná, a to i tvarově.
14" WIDE (širokoúhlé matrice)
Existují 2 hlavní typy se stejnými úchyty, ale liší se velikostí samotné obrazovky. Tady je pozornost nejsou zaměnitelné, navíc mají různé velikosti, tzn. první typ je širší a nižší a druhý je užší a vyšší. Sám jsem se s tím nejednou setkal.
Jako příklad:
13,3" běžný (NE širokoúhlý) které podléhaly standardizaci jsou v zapínání totožné, ty starší mají tolik možností, že je zde vzhledem k jejich starobylosti ani nebudu uvádět.
13,3" WIDE (širokoúhlé matrice) Mají identické úchyty, ale někdy různé (i když malé) tloušťky rámečku; například Sony používá mnohem tenčí rámečky než jiná zařízení (jako příklad tenkých matric ostré lq133k1la4a a ltd133ex2x)
12,1" běžný (NE širokoúhlý) jsou identické v zapínání, s výjimkou matric s předními otvory ve formě uší na straně.
12,1" WIDE (širokoúhlé matrice) mají stejné upevnění

3. KONEKTOR LAMPY
Konektory na lampách mohou být 4 typů (viz obrázek)
konektor A se používá téměř na všech matricích
Konektor C se používá mnohem méně často a hlavně na noteboocích Toshiba
konektor B se používá na velmi starých matricích nebo matricích ze stolního monitoru
konektor D se na exotických matricích používá velmi zřídka

4. MATICOVÝ PŘIPOJOVACÍ KONEKTOR
Nejčastěji používané konektory v matricích jsou znázorněny na obrázcích níže.
Obvyklý 20kolíkový konektor je instalován na matricích starého stylu, stejně jako 14kolíkový konektor, který se používá velmi zřídka.
20pinový tenký konektor, známý také jako hřeben, je již exotický a obvykle se vyskytuje na starších zařízeních.
Všude se nyní používají 30pinové konektory na matricích od 14" do 20" palců a 20pinové nové standardní konektory na matricích menších než 14 a palců, které jsou uváděny v moderní normalizaci.

Standardní 20pinový konektor

Standardní 30pinový konektor

Standardní 14pinový konektor

Pin slim konektor alias hřeben

Dotyčným štítem je deska s vestavěnými zobrazovacími a řídicími moduly. Indikace se provádí pomocí LCD displeje TC1602, ovládání je pomocí vestavěných tlačítek. Jas displeje je možné regulovat přímo na desce pomocí trim rezistoru. Deska je vybavena konektory, do kterých lze připojit další zařízení, například čidla. Pro práci s obrazovkou slouží piny 4-10, pro detekci stisku tlačítka pouze jeden analogový pin A0. Digitální piny 0-3, 11-13 a analogové piny A1-A5 jsou volné.

Hlavní oblasti použití štítu: vytváření řídicích modulů, které realizují nastavení zařízení pomocí rozhraní nabídky. Obrazovku štítu lze použít k zobrazení informací přijatých ze senzorů, přičemž uživatel může provádět jakékoli akce stisknutím vestavěných tlačítek. Samozřejmě můžete najít i jiné způsoby, jak desku využít: například implementovat hru jako je Tetris.

Specifikace

  • Typ displeje: LCD 1602, znakový, 4bitový režim.
  • Rozlišení: 16×2 (dva řádky po 16 znacích). Známé místo 5x8 bodů.
  • Barva displeje: modrá (k dispozici žlutá a zelená varianta). Písmena jsou bílá.
  • Technologie: STN, transflektivní, pozitivní.
  • Řadič displeje: HD44780U.
  • Limit obnovovací frekvence obrazovky: 5Hz
  • Napájení displeje: 5 voltů
  • Tlačítka: 6 tlačítek (5 ovládacích a resetovacích tlačítek).
  • Další prvky: nastavení jasu podsvícení (potenciometr).
  • Provozní teplota obrazovky: od -20 °C do +70 °C;
  • Skladovací teplota obrazovky: od -30 °C do +80 °C.

LCD štítový vývod pro připojení k Arduinu

KOLÍK 30 PIN 1LVDS 30 PIN 2LVDS STANDARDNÍ 20PIN 20PIN STANDARD + EEPROM 14PINOVÝ STANDARD 20PIN NOVÝ STANDARD var. A 20PIN NOVÝ STANDARD var. V
1 Přízemní Přízemní Napájení, 3,3V Napájení, 3,3V Napájení, 3,3V Přízemní Napájení, 3,3V
2 Napájení, 3,3V Napájení, 3,3V Napájení, 3,3V Napájení, 3,3V Napájení, 3,3V Napájení, 3,3V Napájení, 3,3V
3 Napájení, 3,3V Napájení, 3,3V Přízemní Přízemní Přízemní Napájení, 3,3V Přízemní
4 DDS 3V POVER DDS 3V POVER Přízemní Přízemní Přízemní DDS 3V POVER Přízemní
5 Vyhrazeno pro testovací bod dodavatele LCD - Vstup diferenciálních dat LVDS, R0 - R5, G0 - Vstup diferenciálních dat LVDS, R0 - R5, G0 Vyhrazeno pro testovací bod dodavatele LCD - Vstup diferenciálních dat LVDS, R0 - R5, G0
6 DDC hodiny DDC hodiny + Vstup diferenciálních dat LVDS, R0 - R5, G0 + Vstup diferenciálních dat LVDS, R0 - R5, G0 DDC hodiny + Vstup diferenciálních dat LVDS, R0 - R5, G0
7 Data DDC Data DDC Přízemní Přízemní Data DDC Přízemní
8 - Vstup diferenciálních dat LVDS, R0 - R5, G0 - Vstup diferenciálních dat LVDS, R0 - R5, G0 - Vstup diferenciálních dat LVDS, G1 - G5, B0 - B1 - Vstup diferenciálních dat LVDS, G1 - G5, B0 - B1 - Vstup diferenciálních dat LVDS, R0 - R5, G0 - Vstup diferenciálních dat LVDS, G1 - G5, B0 - B1
9 + Vstup diferenciálních dat LVDS, R0 - R5, G0 + Vstup diferenciálních dat LVDS, R0 - R5, G0 + Vstup diferenciálních dat LVDS, G1 - G5, B0 - B1 + Vstup diferenciálních dat LVDS, G1 - G5, B0 - B1 + Vstup diferenciálních dat LVDS, R0 - R5, G0 + Vstup diferenciálních dat LVDS, G1 - G5, B0 - B1
10 Přízemní Přízemní Přízemní Přízemní Přízemní Přízemní
11 - Vstup diferenciálních dat LVDS, G1 - G5, B0 - B1 - Vstup diferenciálních dat LVDS, G1 - G5, B0 - B1 - Vstup diferenciálních dat LVDS, B2 - B5, HS/VS/DE - Vstup diferenciálních dat LVDS, B2 - B5, HS/VS/DE - Vstup diferenciálních dat LVDS, G1 - G5, B0 - B1 - Vstup diferenciálních dat LVDS, B2 - B5, HS/VS/DE
12 + Vstup diferenciálních dat LVDS, G1 - G5, B0 - B1 + Vstup diferenciálních dat LVDS, G1 - G5, B0 - B1 + Vstup diferenciálních dat LVDS, B2 - B5, HS/VS/DE + Vstup diferenciálních dat LVDS, B2 - B5, HS/VS/DE + Vstup diferenciálních dat LVDS, G1 - G5, B0 - B1 + Vstup diferenciálních dat LVDS, B2 - B5, HS/VS/DE
13 Přízemní Přízemní Přízemní Přízemní Přízemní Přízemní Přízemní
14 - Vstup diferenciálních dat LVDS, B2 - B5, HS/VS/DE - Vstup diferenciálních dat LVDS, B2 - B5, HS/VS/DE - Vstup diferenciálních hodin LVDS - Vstup diferenciálních hodin LVDS Přízemní - Vstup diferenciálních dat LVDS, B2 - B5, HS/VS/DE - Vstup diferenciálních hodin LVDS
15 + Vstup diferenciálních dat LVDS, B2 - B5, HS/VS/DE + Vstup diferenciálních dat LVDS, B2 - B5, HS/VS/DE +LVDS vstup pro diferenciální hodiny +LVDS vstup pro diferenciální hodiny _ + Vstup diferenciálních dat LVDS, B2 - B5, HS/VS/DE +LVDS vstup pro diferenciální hodiny
16 Přízemní Přízemní Přízemní Přízemní _ Přízemní Přízemní
17 - Vstup diferenciálních hodin LVDS - Vstup diferenciálních hodin LVDS _ DDS 3V POVER _ - Vstup diferenciálních hodin LVDS DDS 3V POVER
18 +LVDS vstup pro diferenciální hodiny +LVDS vstup pro diferenciální hodiny _ Vyhrazeno pro testovací bod dodavatele LCD _ +LVDS vstup pro diferenciální hodiny Vyhrazeno pro testovací bod dodavatele LCD
19 Přízemní Přízemní Přízemní DDC hodiny _ Přízemní DDC hodiny
20 _ - LVDS diferenciální vstup dat, sudé pixely, R0 - R5, G0 Přízemní Data DDC _ Přízemní Data DDC
21 _ + LVDS diferenciální vstup dat, sudé pixely, R0 - R5, G0 _ _ _ _ _
22 Přízemní Přízemní _ _ _ _ _
23 _ - LVDS diferenciální vstup dat, sudé pixely, G1 - G5, B0 - B1 _ _ _ _ _
24 _ + LVDS diferenciální vstup dat, sudé pixely, G1 - G5, B0 - B1 _ _ _ _ _
25 Přízemní Přízemní _ _ _ _ _
26 _ - LVDS diferenciální vstup dat, sudé pixely, B2 - B5, HS/VS/DE _ _ _ _ _
27 _ + LVDS diferenciální vstup dat, sudé pixely, B2 - B5, HS/VS/DE _ _ _ _ _
28 Přízemní Přízemní _ _ _ _ _
29 _ - Vstup diferenciálních hodin LVDS, sudé pixely _ _ _ _ _
30 _ + Vstup diferenciálního taktu LVDS, sudé pixely _ _ _ _
Zobrazit kontaktLCD 1602 Popis Kontakt naLCD štít
PinyLCD obrazovka
GND Země
VDD Napájení 5V
Kontrast Kontrola kontrastu Potenciometr
R.S. Příkazy/data 8
R/W Číst psát
Umožnit Zapnutí (aktivace) 9
DB0 Nepoužívá
DB1 Nepoužívá
DB2 Nepoužívá
DB3 Nepoužívá
DB4 Datum 1 4
DB5 Datum 2 5
DB6 Datum 3 6
DB7 Datum 4 7
Zadní LED + Zapněte podsvícení 10
Zadní LED - Výkon podsvícení
Špendlíky na knoflíky
tlačítko NAHORU Ovládací tlačítko A0
tlačítko DOLŮ Ovládací tlačítko A0
Levé tlačítko Ovládací tlačítko A0
PRAVÉ tlačítko Ovládací tlačítko A0
tlačítko SELECT Ovládací tlačítko A0
Resetovat Resetovat
ICSP ICSP pro flashování vestavěného mikrokontroléru HD44780U
UART Kontakty pro připojení UART 0, 1

Další prvky štítu

  • Indikátor LED (rozsvítí se, když je k desce připojeno napájení).
  • Kontaktní plošky pro připojení analogových zařízení (GND, VSS, datový pin).
  • Potenciometr pro nastavení kontrastu obrazovky.

Připojení LCD Shield Board k Arduinu

Zapojení štítu je velmi jednoduché - nožičky je potřeba umístit do odpovídajících konektorů desky Arduino a pečlivě je zarovnat. Není potřeba nic dalšího připojovat ani pájet. Je třeba pamatovat a počítat s tím, že některé piny jsou vyhrazeny pro ovládání displeje a tlačítek a nelze je použít pro jiné potřeby! Pro pohodlí připojení dalšího zařízení má deska další 5V a GND konektory ke každému analogovému pin padu. To jistě usnadňuje práci se senzory. Můžete také připojit digitální zařízení přes volné piny 0-3 a 11-13. Po připojení stínění můžeme s obrazovkou a tlačítky na ní pracovat stejně jako s jednotlivými zařízeními, přičemž bereme v úvahu pouze čísla pinů, na které jsou připájeny příslušné kontakty.

Náčrt obrazovky na štítu Arduino LCD

Pro práci s LCD obrazovkami se obvykle používá oblíbená knihovna LiquidCrystal. Ve fázi inicializace je vytvořen objekt třídy LiquidCrystal, v jehož konstruktoru specifikujeme piny s připojenými kontakty obrazovky. Pro náš štít musíme použít tuto možnost: LiquidCrystal lcd(8, 9, 4, 5, 6, 7); Posloupnost argumentů konstruktoru:

  • RS (8)
  • Povolit (9)
  • údaje (4)
  • údaje (5)
  • údaje (6)
  • údaje (7)

Na práci s předmětem není nic složitého. V setup() inicializujeme objekt zadáním počtu znaků a řádků:

Lcd.begin(16, 2);

Chcete-li zobrazit informace na displeji, použijte metodu print():

Lcd.print („Arduino Master!“);

Text se zobrazí na aktuálním místě kurzoru (na začátku skici je to první řádek a první znak). Chcete-li určit libovolnou pozici kurzoru, můžete použít setCursor(<столбец>, <строка>):

Lcd.setCursor(0, 0); // První znak prvního řádku lcd.setCursor(0, 1); // První znak druhého řádku lcd.setCursor(2, 1); // Třetí znak druhého řádku

Tlačítka stínění LCD klávesnice

Na desce je pět ovládacích tlačítek, která se ovládají přes jeden analogový pin A0. Štít využívá poměrně běžnou metodu jednoduchého kódování signálu, kdy každé tlačítko generuje určitou hodnotu napětí, která se po ADC převede na odpovídající hodnotu od 0 do 1023. Přes jeden pin tak můžeme přenášet informaci o stisku různých tlačítek , čtení pomocí funkcí;

Hodnoty úrovně signálu na pinu A0 v závislosti na zvoleném tlačítku:

Stisk tlačítka Hodnota analogového pinu
ŽE JO 0-100
NAHORU. 100-200
DOLŮ 200-400
VLEVO, ODJET 400-600
VYBRAT 600-800
Klávesa není stisknuta 800-1023

Příklad náčrtu práce s tlačítky LCD Keypad Shield:

Int keyAnalog = analogRead(A0); if (keyAnalog< 100) { // Значение меньше 100 – нажата кнопка right // Выполняем какое-то действие для кнопки вправо. } else if (keyAnalog < 200) { // Значение больше 100 (иначе мы бы вошли в предыдущий блок результата сравнения, но меньше 200 – нажата кнопка UP // Выполняем какое-то действие для кнопки вверх } else if (keyAnalog < 400) { // Значение больше 200, но меньше 400 – нажата кнопка DOWN // Выполняем действие для кнопки вниз } else if (keyAnalog < 600) { // Значение больше 400, но меньше 600 – нажата кнопка LEFT // Выполняем действие для кнопки влево } else if (keyAnalog < 800) { // Значение больше 600, но меньше 800 – нажата кнопка SELECT // Выполняем действие для кнопки выбора пункта меню } else { // Все остальные значения (до 1023) будут означать, что нажатий не было }

Zvolená metoda kódování má dvě hlavní nevýhody:

  • Nemůžete sledovat současné stisknutí několika tlačítek;
  • Případné zkreslení signálu může vést k falešným poplachům.

Tato omezení musíte vzít v úvahu při výběru tohoto SSD ve svých projektech, pokud plánujete používat zařízení v systémech s velkým šumem, který může zkreslit signál na vstupu A0, a proto může ADC generovat chybnou hodnotu a skica bude ve výsledku provádět různé instrukce.

Příklad náčrtu pro práci s obrazovkou a tlačítky nabídky

V tomto příkladu detekujeme aktuálně stisknuté tlačítko a zobrazíme jeho název na obrazovce. Vezměte prosím na vědomí, že pro pohodlí jsme rozdělili operaci definice tlačítka do samostatné funkce. V náčrtu jsme také zdůraznili samostatný způsob zobrazení textu na obrazovce. V něm zobrazíme zprávu (parametr zprávy) a po sekundě ji vymažeme. Je třeba mít na paměti, že během této sekundy nejsou zpracovány stisky tlačítek

#zahrnout LiquidCrystal lcd(8, 9, 4, 5, 6, 7); #define BTN_UP 1 #define BTN_DOWN 2 #define BTN_LEFT 3 #define BTN_RIGHT 4 #define BTN_SELECT 5 #define BTN_NONE 10 int detectButton() ( int keyAnalog = analogRead(A0); if (keyAnalog< 100) { // Значение меньше 100 – нажата кнопка right return BTN_RIGHT; } else if (keyAnalog < 200) { // Значение больше 100 (иначе мы бы вошли в предыдущий блок результата сравнения, но меньше 200 – нажата кнопка UP return BTN_UP; } else if (keyAnalog < 400) { // Значение больше 200, но меньше 400 – нажата кнопка DOWN return BTN_DOWN; } else if (keyAnalog < 600) { // Значение больше 400, но меньше 600 – нажата кнопка LEFT return BTN_LEFT; } else if (keyAnalog < 800) { // Значение больше 600, но меньше 800 – нажата кнопка SELECT return BTN_SELECT; } else { // Все остальные значения (до 1023) будут означать, что нажатий не было return BTN_NONE; } } void clearLine(int line){ lcd.setCursor(0, 1); lcd.print(" "); } void printDisplay(String message){ Serial.println(message); lcd.setCursor(0, 1); lcd.print(message); delay(1000); clearLine(1); } void setup() { Serial.begin(9600); lcd.begin(16, 2); lcd.print("Arduino Master"); delay(3000); lcd.setCursor(0, 0); lcd.print("Arduino Master"); } void loop() { int button = detectButton(); switch (button) { case BTN_UP: printDisplay("UP"); break; case BTN_DOWN: printDisplay("DOWN"); break; case BTN_LEFT: printDisplay("LEFT"); break; case BTN_RIGHT: printDisplay("RIGHT"); break; case BTN_SELECT: printDisplay("SELECT"); break; default: //printDisplay("Press any key"); break; } }

Stručné závěry o rozšiřující desce štítu LCD klávesnice

Rozšiřující deska LCD Keypad je poměrně populární, je jednoduchá a snadno použitelná v projektech Arduino. Dnes si jej můžete snadno koupit téměř v každém internetovém obchodě.

Výhody LCD Shield:

  • Usnadňuje připojení LCD obrazovky.
  • Zmenšuje celkové rozměry zařízení, protože odstraňuje vyčnívající dráty a obvodové desky.
  • Snižuje počet chyb spojených s nesprávnou instalací a připojením.
  • Přidá funkci ovládání tlačítkem, pokud má deska nainstalována tlačítka (štít LCD klávesnice).

nedostatky:

  • Náklady na štít jsou vyšší než náklady na samostatnou obrazovku.
  • Další funkcionalita v podobě tlačítek není vždy potřeba.
  • Štít spotřebuje více energie než jednotlivé prvky desky.

Dobrý den! Dnes vám řeknu jak s pomocí jednoho balíku z Číny a odpadků, které se vám povalují kolem domu udělat televizi, nebo alespoň monitor. Faktem je, že mnohým se pravděpodobně stále povalují staré notebooky, některé poškozené monitory, nefunkční tablety a to vše se dá využít. No, ano, matrici nemůžete připojit samostatně, ale pomocí jednoduchého zařízení, jmenovitě univerzální scaler, Umět připojte jakoukoli matrici k HDMI,VGA nebo dokonce vyrobit televizi.

A co tedy máme.

Objednal jsem si poměrně pokročilý scaler.

A narazil jsem na tento tablet, je stále naživu, i když senzor je již rozbitý, baterie tak dobře nedrží, je celý poškrábaný, ale můžete si z něj půjčit matrici.

Rozebíráme tablet, abychom získali přístup k matrici.

Vypneme všechny kabely a všechno kromě matrice hodíme stranou.

Matriky mají docela standardní připojení, v nich rozhraní LVDS A standardizovaná řada konektorů. Jaký konektor má vaše matice, můžete vidět podle vzhledu nebo podle datový list. Pro každý typ matice je samostatný kabel. Například mám několik smyček.

1 je starší standard, kde byly matrice ještě osvětleny lampou.

2 je novější standard, kam jdou matice LED.

3 – tyto konektory najdeme v 7palcových tabletech a různých malých.

Na druhou stranu jsou konektory víceméně standardizované a hodí se téměř do každého univerzálního scaleru.

Takový scaler jsem ještě nikdy nepoužil, oproti těm, které jsem používal, má mnohem více funkcí, dokonce dálkové ovládání součástí dodávky.

Před připojením matice je nutné správně nakonfigurovat desku(scaler), aby nedošlo k poškození matrice. Určitě doporučuji nejprve stáhnout datasheet k matrici, abyste věděli, jaké je rozlišení matrice, jaké je napájení logiky a podsvícení.

První místo, kde začít, je podívat se zleva doprava. Na scaleru je řada propojek, konfiguruje se levý horní logické napětí, musí být vybrán na základě vaší matice. Matrice pro notebooky mají zpravidla napájení 3,3 voltu, u běžných monitorů je to 5 voltů, ale existuje také 12 voltová propojka; abych byl upřímný, nevím, kde se toto napětí používá. Okamžitě měníme tuto propojku, abychom nespálili naši matrici, v mém případě je logika 3,3 voltu.

Další sada propojek trvá déle, než se nastaví rozlišení obrazovky. Rád bych poznamenal, že kromě rozlišení obrazovky se mění také bitová hloubka. Na zadní straně scaleru je cheat sheet, který říká rozlišení a bitovou hloubku. Bitová hloubka může být 6bitová a 8bitová, vizuálně se 6bitové a 8bitové konektory liší počtem kontaktů. Informace o bitové hloubce vaší matice si opět můžete přečíst v datovém listu.

Než přejdete k matrici, musíte si prostudovat datový list; je velmi snadné jej najít pohledem na nálepku umístěnou na zadní straně matrice. V mém případě je to" LP101WX1" V datasheetu k matrici nás zajímají 3 nebo 4 body podle toho, zda se jedná o matrici LED nebo matrici se studenou katodou. Nejprve určíme, jaké rozlišení má matice, stačí prolistovat datový list a vyhledat tuto položku. Zde v naší tabulce je to uvedeno pixelový formát(Pixel Fotmat), tedy 1280x800, toto rozlišení je potřeba zvolit pomocí propojek na saleru. Šířka rozhraní odpovídá počtu barev, v tomto případě tomu tak je 6bitový nebo 262 144 barev. Tyto dva parametry nám stačí pro výběr správného režimu činnosti matice.

Ale aby matrice přežila, stále potřebujeme nastavte správné napětí, posouváme dále. A zde máme souhrnnou tabulku elektrických charakteristik. Logické, tedy logické napájení, logické napájecí napětí (Power Supply Input Voltage) od 3,0 do 3,6 voltu, typicky 3,3 voltu, podle toho nastavíme propojku maticového napájení na 3,3 voltu.

A pro každý případ se podíváme na podsvícení; na tuto položku byste se měli dívat pouze v případě, že je matrice podsvícena LED. Jak je napsáno na desce, deska je napájena 12 volty a naše podsvícení funguje od 5 do 21 voltů, 12 bude tak akorát. Neviděl jsem jiné matice, které mají napájecí napětí 5 voltů, ale předpokládám, že k tomu může dojít, pokud použijete matici z jakéhokoli malého tabletu. Proto se nezapomeňte podívat na tento parametr, jinak můžete jednoduše zničit maticové podsvícení. Pokud je napájení jiné než 12 voltů, nemůžete přímo připojit napájecí konektor podsvícení, budete muset zajistit požadované napájecí napětí.

A tak jsme scaler nastavili v souladu s údaji z datasheetu. Zajímá mě rozlišení 1280×800 a 6bit, k tomu jsem nastavil propojky F a G

Propojky byly nakonfigurovány, nyní si projdeme prvky na desce.

1 - první dva konektory jsou napájecí

2 – sériový port

3 – DC-DC měnič

4 – lineární stabilizátor

5 – konektory (VGA, HDMI, RCA, audio a připojení vysokofrekvenční antény)

6 – ovládání podsvícení

7 – tlačítka a všechny ovládací prvky

8 – Konektor LVDS, kde je připojena matrice

9 - paměť

10 – procesor

11 – výkonový zesilovač

12 – TV tuner

Více informací o konektorech

Konektor pro ovládání podsvícení.

Pokud máte LED matice, tedy LED, pak se nemusíte obtěžovat, je přímo ve vaší matrici nainstalován ovladač ovládání podsvícení a tento konektor jde přímo do kabelu. Tito. Stačí připojit matici a o nic dalšího se nemusíte starat.

Pokud je matrice starodávná, lze to určit pomocí dalších drátů vycházejících z matrice.

Takové lampy mohou být instalovány v matrici a z ní vycházejí dráty. V přenosných počítačích je obvykle 1 vodič, v matici monitoru jsou 2 nebo 4. K připojení takové matice můžete použít univerzální invertor pro osvětlení. Dodává se v 1, 2 a 4 výstupech, tzn. každý výstup je připojením jedné lampy. Střídač musí být vybrán podle počtu žárovek ve vaší matici, to znamená, že ke střídači se 4 výstupy nemůžete připojit pouze 2 žárovky, protože střídač přejde do ochrany, protože všechny výstupy musí být rovnoměrně zatíženy. Pokud je tedy matice pro 2 lampy, kupujeme měnič pro 2 výstupy, pokud pro 1 lampu, kupujeme pro 1 výstup. Konektory jsou sjednocené, takže pasují 1 v 1, prostě se tak zasunou a je to.

Začněme se připojovat

K tomu potřebujeme kabel, snadno se zapojí, propojky na desce jsou již nakonfigurovány. LVDS zarovnané na první nohu, na kabelu je to označení ve formě skvrny a na desce je trojúhelník první noha.

Pro každý případ zkontrolujeme, zda je podsvícení vhodné. Červená je plus, černá je mínus a jediným drátem je zapnout podsvícení. Desku otočíme na rubovou stranu a porovnáme nápisy u kontaktů s vodiči, pokud vše souhlasí, připojíme.

Potřebujeme také nějaký druh managementu. Mimochodem ještě podrobnosti o ovládání, blok kam jsem připojil IR přijímač je ovládání. Zde jsou tlačítka, všechna jsou označena, tlačítka lze zakoupit samostatně nebo si můžete připojit vlastní.

V zásadě je to vše, vše, co je potřeba propojit.

Otočte matrici a připojte napájení. Pokud se chystáte připojit k počítači, pak můžete odebírat energii z napájecího zdroje počítače. Zapneme...

Nyní se musíte vypořádat s dálkovým ovládáním, abyste našli nabídku a změnili jazyk. Myslím, že tento proces nemá cenu popisovat, protože u vašeho scaleru může být vše jinak. Bohužel jsem ve své zemi našel jen angličtinu, ale to nevadí, použiji ji. A na stejné záložce nastavení jsem našel velikost nabídky a zvětšil ji, aby bylo vše lépe vidět.

No, zkusíme připojit kameru přes HDMI. Obecně, když jsem připojil kameru, ukázalo se, že polotóny barev byly zobrazeny nesprávně.

Nejprve jsem si myslel, že vyhořel referenční napěťový buffer v matrici, ale po připojení matrice k tabletu jsem si uvědomil, že s matricí je vše v pořádku, neshořela. Po prohrabání se na internetu jsem našel servisní menu. Ukazuje se, že musíte změnit způsob, jakým scaler pracuje s maticí v servisním menu. Chcete-li to provést, přejděte do nabídky a zadejte kód 8896 a otevře se nám servisní nabídka. V menu najdeme nastavení systému (Nastavení systému) -> Nastavení panelu (Nastavení panelu) -> a jednoduše změníme barevné schéma (Nastavení barev). Procházením všech možností najdeme tu nejoptimálnější, pro mě to byly 3. Jiné modely scaleru mohou mít jiný přístupový kód do servisního menu a trochu jinou cestu k nastavení barevného schématu.

Opustíme menu a vidíme, že se všechny barvy zobrazují správně.

Stejným způsobem můžete matrici připojit téměř z jakéhokoli tabletu nebo monitoru.

Začal nový semestr. V rámci kurzu práce v ústavu jsem se rozhodl vytvořit takové zařízení pro zobrazování grafiky na displeji od NOKIA.

Jistě chápete, příteli, jak můžete toto zařízení použít pro své vlastní hackerské (a jiné) účely. Pokud vyberete všechny SMD díly, můžete získat opravdu malé zařízení pro zobrazení obrazovky s portem RS232. Použitý displej: Nokia 6100/6610/7200/7250/3100 v rámečku s konektorem.

Takovou obrazovku lze snadno najít v internetových obchodech, například www.siruist.ru, www.sparkfun.com nebo ve stáncích, kde prodávají náhradní díly pro mobilní telefony (stojí 150–200 rublů). Nebo jen vytrhněte displej ze starého telefonu. Ale pokud jste žádné nenašli, nevadí. Po prostudování tohoto článku a zdrojových kódů a přemýšlení hlavou můžete získat displeje od Nokie N95 nebo Sony PSP.

Proč jsem si vybral tento displej – snadno se páje. Pinout viz snímek obrazovky.

Jak vidíte, na displeji je konektor, který je obtížné připájet (0,5mm rozteč). Proto je lepší hledat displeje s pinouty jako zde.

Pinout displeje:

    Digitální VCC (3,3 V)

    Displej VCC (3,3 V)

Na obrázku můžete vidět 3 displeje:

Zcela vlevo nejsou žádné kontakty pro pohodlné pájení (pouze konektor). Zbytek má kontakty a konektor. Je také důležité, aby byl vestavěný ovladač pro každou obrazovku jiný. Pro tento displej existují 2 typy ovladačů:

Každý ovladač má svůj vlastní systém příkazů, a proto software pro jeden z nich nebude fungovat pro jiný. Lidé se naučili rozlišovat tyto ovladače podle barvy konektoru: hnědý - Epson S1D15G10, zelený - PCF8833.

Ale to není skutečnost. Doporučuji flashnout mikrokontrolér pro 2 typy displejů a vidět výsledek. Snímek obrazovky například ukazuje všechny displeje s řadičem PCF8833. Napsal jsem zdrojový kód mikrokontroléru pro PCF8833, ale není vůbec těžké ho změnit pro Epson!

No, zdá se, že jsme s obtížemi skončili, přejděme k našemu diagramu:

A vše ostatní je na schématu.

Na podsvícení potřebujeme 6,5V (od 6V do 7V = max). Nastavitelný trimrem R8. Taky DŮLEŽITÉ– rozdělte zem u displeje (tzn. připojte zem (piny 8, 9 konektoru) přímo na vstup 2 napájecího konektoru) – je to nutné z důvodu ochrany před rušením. Je vhodné napájet 2 různé převodníky od 5V do 3,3V - jeden pro napájení ovladače a periferií displeje, druhý pro samotný displej (výstupy 1.6 - konektory displeje, resp.).

Po roztřídění hardwaru a pájení začneme programovat pro Atmega.

Otevřete WinAVR, vytvořte projekt, budeme psát v C. Opustil jsem assembler, protože kód začal být opravdu těžkopádný.

#zahrnout
#zahrnout // za zpoždění
#include "lcd.h" // definice pro PFC8833
#include "font.h" // definice písma

void sendCMD(byte cmd); // odešlete příkaz do PFC8833
void sendData(byte cmd); //
odeslat datový bajt
void InitLCD(void); // inicializace displeje
void shiftBits(byte b); //
přeskupením pinů portu emulujeme SPI
void setPixel(byte r,byteg,byteb);
//
zapíše 3 bajty (r,g,b) s danou barvou do video paměti displeje
…..
void PointXY(int x,int y,byte r,byteg,byteb)
//
nakreslí na obrazovku bod se souřadnicemi x,y a barvou r,g,b
{
sendCMD(CASET); // sada sloupců (po x)
sendData(x);
// Příkaz CASET – nastavuje kreslicí plochu v x, od bajtu1 do bajtu2
sendData(x); // máme byte1=byte2 , protože kreslíme bod
sendCMD(PASET); // sada stránek (po y)
sendData(y); // podobné pro y
sendData(y);
sendCMD(RAMWR);
setPixel(r,g,b); //zápis do paměti
}

Poskytl jsem pouze část kódu. Všechny zdroje lze nalézt v . Tento displej má 4096 barev, tedy 12 bitů na pixel RRRRGGGGBBBB.

Napsal jsem i konzolový program pro počítač pro kreslení (zdrojový kód je také v archivu).

Výsledkem je, že naše zařízení je schopno vydávat:

  • kruh;

  • obdélník (vyplněný/není);

    znak (první polovina ASCII (0x00

  • obrázek (až (132 x 132)).

Se symboly nejsou žádné problémy, můžete snadno přidat libovolný font. Pojďme se podívat na výsledky: