Vyštrachal jsem doma 3x displej VQC10, jsou to 4 matrice 5x7 vedle sebe, celkem 12 vedle sebe.
Mám problém v tom, že na jedne matrici, třeba hned tu první, se mi daří zobrazit cokoliv, co chci, ale když je začnu multiplexovat, třeba i jen 2, už mi to nejde a obraz se z první kopíruje do všech dalších.
Mám to zapojené takto:
RA1 - RA7 - jako anody, mám připojené přes PNP na +5V, řizené portem D.
SL1 - SL5 - jako katody, mám připojené přímo na port C.
P1 - P4 - výběr pozice, mám, zatím, připojen na port B
Kdesi jsem našel ruské schéma, kde jsou 4 vedle sebe, takže 16 matic, z toho jsem usoudil, že když chci pracovat s matici, tak Px musí být v log. 0, ostatní v log. 1. Jenže když zapisuji něco do té první, ukazují se nesmylsly i na těch ostatních.
Pri muxovani LED si musis dat pozor na to, ze ak prepnes segment, tie tranzistory sa okamzite nezavru. Je dobre ich najprv zavriet (segment na chvilu ( par desiatok stovak us ) vypnut) , prepnut na druhy segment a az potom zapnut prislusne LED. Jednotlive casy si experimentalne odskusaj.
Nastavit řádek, pro všechny je ten řádek stejnej, protože je vše spojené pararelně, jako při multiplexu 7segmentove. Sloupce jsou taky propojené.
Matice 0 - 11, tak nastavit řádek na matrici 0, P0 to zapsat a další až do 11, a pak, a to jsem zjistil úplně náhodou, musí se to potvrdit krátkym rozsvícením řádku. Mě to tak připadá, že to má v sobě nějakou malilinkatou pamět, do které se zapíšou všechny řádky, ale vždy všechny najednou pro danej řádek. A tímhle krátkym impulzem se ten jeden řádek vždy rožne na krátkej čas, jako při klasickym multiplexu, ani to není časově moc náročné. 13 ms na jeden řádek už je na hranici problikávání, ale za 13 ms procesor udělá hodně věcí. Tím že to problikávalo a mělo snahu sjíždět dolů byla chyba ta, že jsem nevěděl, že se to posílá po řádkách a ne po pozicích.
Ale je to nereálnej zobrazovač. Tři vedle sebe maj odběr 400mA, což je hnus v multiplexu. Je jedno, co na nich je zobrazeno, odběr se nemění. A na zobrazeni třeba abecedy a cisla bude potřeba asi hodně paměti v procesoru. Mám tam zatím jen čísla, ale i tak.
Čau, máš to pěkný, ale nedá mi to abych si nerejpnul co se týče velikosti procesoru. Mrkni se na todle videjko a to celí běželo na PIC16F84A . uk.youtube.com/watch?v=PzcdyCR0Ttk
Pokud ten člověk, co toto udělal, tak tam napěchoval jen text, a docela věřím tomu, že kdyby tam chtěl něco přidat, tak by asi už neměl kam.
Každá hodnota zapsaná do displeje musí někde být uložená.
[code] addwf PCL,f ;*** procedura pro načtení hodnoty z tabulky
5x7, což je docela hodně dat, když bych chtěl třeba i celou abecedu a ještě něco navíc.
Mám tady nějakou EEPROM 1Mb na I2C, zkusím to zapsat do ní ale nevím, jak ta eepromka bude na tom s rychlosti na dodávání dat.
Ten display jsem dělal já, jinak tady ti dam klidně i zdroják, přímo v picu mam celou abecedu a text načítam s paměti 24C08 což je ale zbytečný, protože v procesoru je ještě místa dost . Jo a na ten zdroják moc nekoukej, ta implementace protokolu I2C je šílená a celkový spracování dat je strašný, ale nijak se to člověk naučit musí diaply.asm (9.78 KB)
Dík. A schéma by bylo? Docela by mě zajímalo, jak se tohle řídí, mám tady 12x 8x8 třibarevné. mám v planu světelné noviny, ale nějak se mi do toho nechce.
Čau, sry, ale nějak jsem si nevšim odpovědí v tématu a neměl moc času, jinak schéma nebude, protože ho nemam . Ale princip byl jednoduchej ba až banální . Měl jsem tam dekodér 1/8 (lze použít i 1/10), za nim byl budič řádku . všechny diody ve sloupci byli pospojovaný a výstupy byli napojený na posuvném registru 74LS164. Každý pole má svuj posuvnej registr, ale řádka se vybírala u všech najednou, takže obnovovací frekvence byla stejná jako kdybys tam měl jenom jeden, protože vjednom cyklu jsim zobrazoval 4 řádky . Kdybys nevěděl, tak napiš a ja ti to nakreslím schématicky . S pozdravem tichy
PS: Zapnul jsem si sledování mailem
Tady je datasheet, je tam namalovaný zapojení, z něj je většina zřejmá (s tím, že DS8205 = 74LS138, DS8212 je nějaká malá SRAM (ignorovat), K155ID3 = 74LS154). Na vstupech Zx jsou anody LEDek (řádky), na vstupech Sx sloupce, vstupy Cx potvrzujeme data, která jsme předtím dodali na Sx (vstupy Sx a Cx jsou TTL, uvnitř VQC10C je jednoduchý latch!) VQC10.pdf (161 KB)
Čau, máš to pěkný, akorát ten text je mi nějakej povědomější . Jinak ja teď budu stavět matici 16x16 jako výnoční výzdobu do okna na koleji, tak kdyžtak taky něco zašlu .
Akorát musím doladit písmenka, jsou hnusný a neforemný. Ale jak jsem si původně myslel, že to žere hodně paměti, tak nežere. Akorát to žere hodně ampér. Jedna dlaždička plně rozsvícená 700mA. Nevím, čím těch 10 budu nakonec krmit.
Edit 26.10 - Tak mě napadlo, že bych si mohl udělat taky výzdobu do okna. Válí se mi jich tady 22, z toho potřebuju jen 10, mám udělaný plošnáky na každou dlaždičku zvlášť, takže jich můžu poskládat teoreticky jak chci. Jen nějakej námět, co za tím oknem zobrazovat. Stromeček, svíčku, dáreček …
Ověřeno, podle zapojení je to tak. Konkrétně je to latch, náhrady sedí (ale když se nad tím zamyslíme trochu do hloubky, tak máte pravdu vlastně oba - na latch by se klidně dalo nahlížet jako na SRAM 8x 1bit ).