Stránka 1 z 1

display ST7920 z ebay (přesunuto)

Napsal: 21 pro 2013, 16:42
od ST7920
Ahoj kamarádi.
Dneska mi přišel tento displej a zkouším jej zprovoznit, ale nějak se nedaří. Tak jsem začal pátrat po příčině a zjistil jsem, že na zadní straně DPS se musí připájet/odpájet nějaké odpory a propojky.

zde je i řešení, ale nějak z toho nejsem moudrý.

Proto mě napadlo, jestli náhodou tento display někdo doma nemá a neporadil by, jak na něj.

obrázek displeje - 1
Obrázek displeje - 2

Napsal: 21 pro 2013, 16:53
od ST7920
A ještě zde řeší taky nějaké problémy s tímto displejem. Je to v polštině a po překladu se musí propojit jumper J1. Tak to zkusím a zapojím to přesně jak na obrázku a dám vědět.

Napsal: 21 pro 2013, 16:54
od ST7920
diskuze zde

Schema zapojení zde

Napsal: 22 pro 2013, 10:49
od Honza_dy
A čemu ten displej připojuješ? To schema se mi moc nezdá, mám ten samý displej a po připojení k arduinu jel na poprvé.

Napsal: 22 pro 2013, 13:12
od ST7920
Tak připojuji jej k ATmega16. A musím říct, že to byla "fuška" :D ale povedlo se. Ke komunikaci mi stačí pouze 2 kabely + napájení.

Takže připojené to mám takto:

Kód: Vybrat vše

Display  |  AVR
-------------------
E        |  SCK
RW       |  MOSI


A potom piny PSB - GND, RS - VCC. A propojil jsem onen PIN JP1 na zadní straně LCD.

Pro lepší pochopení přidávám i obrázek jak na to. ;)
http://s22.postimg.org/z13rrloox/V_st_i_ek.jpg

Napsal: 22 pro 2013, 13:58
od Honza_dy
Mám pocit, že ti tam chybí jeden signál (CS)

Já displej připojil a provozoval s touto knihovnou.

Napsal: 22 pro 2013, 17:39
od Honza_dy
Nedalo mi to a složil jsem si zapojení na stole.
Připojeno je to takto:
LCD-> signál
---------------
VSS -> Gnd
VDD -> 5V
RS -> Chip Select (CS)
R/W -> Serial Input (MOSI)
E -> Serial Clock (SCK)
PSB -> Gnd


Funguje na první pokus :)

Napsal: 23 pro 2013, 17:55
od rob_brno
Dělám ted s tímto :

http://www.ebay.com/itm/12864-5V-LCD-Di ... OC:US:3160

Zapojeno pouze napájení a E, R/W. Podsvědcovácí LED je přes 270R na napájení, bere kolem 7mA. Dále jsem přizemnil PSB a na 5V připojil RS, oba přes 500R, pro jistotu. Nic jinného-žádné propojky.
Taky používám u8g.lib, je to ale nějaké pomalé, zvládá to cca jen 6snímků za sec. na Arduinu nano s Atmega328P na 16MHz.

Napsal: 23 pro 2013, 20:00
od Honza_dy
Jo, potvrzuji. Pokud odpojím RS a připojím na 5V, tak to funguje stejně.

Napsal: 24 pro 2013, 09:48
od rob_brno
Honzo, stran rychlosti U8g, jak rychle ti to šlape?

V jednom příkladu k u8g jsem narazil na tohle:
#if defined(__AVR__)
/* select minimal prescaler (max system speed) */
CLKPR = 0x80;
CLKPR = 0x00;
#endif

Napsal: 25 pro 2013, 15:57
od ST7920
No tak ten PIN RS se může připojit k +5V pouze tehdy, pokud je zařízení na sběrnici samo. :) Na to nezapomenout. :!:
Pokud na sběrnici bude více zařízení, musíme pin RS připojit k mcu. Tento pin vlastně slouží k oslovení daného zařízení.

Ohledně té knihovny U8g, tak tu jsu zkoušel taky, ale zde jsem zkončil s chybou, že program neznal

CLKPR = 0x80;
CLKPR = 0x00;

a nechtělo se mi ji hledat, když jsem pátral po zapojení toho LCDčka.

Napsal: 26 pro 2013, 11:14
od rob_brno
Ona je to vlastně pseudosběrnice a nic jinného než další displaye se na to nepřipojí. Takže ten RS má smysl jen u více displajů v systemu, což často asi nenastane.
Pro ostatní zařízení je HW plnohodnotná sběrnice I2, která sedí na jinných pinech.

Napsal: 26 pro 2013, 17:47
od rob_brno
Tak CLKPR je registr na ATmega(asi ne všechny typy jej mají), pro dělení základní frekvence.
Ten zápis v kodu definuje základní nedělený kmitočet hodin, takže rychleji už to s tím displayem nepůjde.

Snad jen ještě jedinná možnost: zkrátit čekací časy uvnitř u8g.lib při generování signálů na sběrnici.

Napsal: 28 pro 2013, 09:58
od rob_brno
Rychlost se dá ještě zvýšit použitím HW SPI (zapojením displaye na SCK a MOSI piny mcu) a dál ještě použitím "driveru" xxx4X, který zabere půl kila RAM(4xvíce) mcu.

Možná by byla ještě cesta, uložit statickou část obrazu do bitmapy ve FLASH paměti a tu překopírovat a proměnné části obrázku dokreslit pak už standardně.