Stránka 1 z 2

PICAXE a i2c LCD s PCF8574

Napsal: 10 pro 2017, 08:42
od Luděk
Zdravím všechny...
umíte někdo rozchodit LCD display i2c, který má na sobě expander PCF8574 ? Zkouším to a pořád nic a nic... Jde mi asi o to, jak tam poslat řídicí znaky a celý řetězec... Jako to umí seriový převdník, co se běžně používá k PICAXE... Díky za rady...

Re: PICAXE a i2c LCD s PCF8574

Napsal: 10 pro 2017, 09:44
od jova
Zkus se podívat sem:
http://electromag1.wifeo.com/lcd-i2c-ex ... cf8574.php
Osobně z jeho stránek používám toto zapojení:
http://electromag1.wifeo.com/fabriquer- ... icaxe-.php
a jsem s ním maximálně spokojený. Dokonce se dá do toho procesoru LCD nahrát text menu a ušetřit tak paměť v procesoru řídícím ;)

Re: PICAXE a i2c LCD s PCF8574

Napsal: 10 pro 2017, 10:12
od DavidO
Asi před 2 lety jsem si s i2c expandery pro LCD o Vánocích hrál, někde to určitě mám, jen to najít :-) Měl jsem aspoň dva odlišné expandery, ne-li tři (různě namapované jednotlivé bity a taky podsvícení měl jeden inverzně), ale princip byl stejný - displej byl zapojený na 4bitovou komunikaci, takže 4 bity dat, RS, RW, E se vešlo do jednoho bytu a tak se s tím pracovalo - po i2c pošleš byte, ten PCF expander to vystaví na svůj výstup a tak se to dostane k LCD. Tikání Enable se dělalo posláním sekvence dat, která se lišila právě jen v tom E.
Musíš si zjistit, jak je ten displej zapojený k PCF ve tvém konkrétním případě. Potřebuješ zjistit, na které bity jsou zapojené jednotlivé piny toho displeje, to je na různých i2c-LCD expanderech různé.
Na začátku je ještě potřeba provést správnou inicializaci toho LCD, aby se přepnul do 4bitového režimu a správně nastavil počet řádek, kurzor a další parametry. To je jednoduchá sekvence, navíc díky pomalosti i2c ani nemusíš řešit časování, prostě to tam pereš.
Poslání po i2c z Picaxe se tu na fóru už řešilo, tak už by se ti to mělo poskládat.

Re: PICAXE a i2c LCD s PCF8574

Napsal: 12 pro 2017, 08:03
od Luděk
Ahoj Davide, díky za info. Já už to mám z nějakého fora a šlape to. Ale umím jen jeden znak :-)
Takže potřebuju něco jako má Arduino, to znamená SetCurzor - nastavit příkazem pozici a pak něco jako Print - poslat tam řetězec znaků.
Arduino používá knihovnu a to je pro mě Španělská vesnice.
Mám display 20x4 a nechci vyhodit i2c převodník s PCF8574 a nahradit jej seriovým převodníkem od 1602 co prodává SnailShop.
Ten je pomalej, ale jeho příkazy na zobrazování se mi líbí. Prostě i2c je i2c :-)

Re: PICAXE a i2c LCD s PCF8574

Napsal: 12 pro 2017, 09:14
od DavidO
Pozici nastavíš tak, že nastavíš adresu kurzoru: RS bude 0 a data složená tak, že nejvyšší bit je 1 a zbylé bity adresa (1.řádek 0, 1, 2 atd. 2. řádek 64, 65, 66 (hexadecimálně $40, $41, $42) atd.). Třeba na první řádek pátý šestý (je to od nuly) znak pošleš s RS=0 byte $85 (binárně %10000101), druhý řádek první znak znak byte $C0 (neboli %11000000), druhý řádek třetí znak $C2 (%11000010) atd.
Řetězec znaků tam pošleš tak, že tam ty znaky postupně pošleš jeden po druhým. Typická Picaxe konstrukce je:

Kód: Vybrat vše

EEPROM 6,("Nazdar")
FOR pozice = 6 TO 11
  READ pozice, znak
  GOSUB VypisZnak
NEXT
Edit: 5->6 - pardon, klasika, číslování od nuly

Re: PICAXE a i2c LCD s PCF8574

Napsal: 12 pro 2017, 12:42
od Luděk
Davide, omlouvám se, ale toto nééééé, to umím...
Mě jde o to, abych připojil na i2c sběrnici display a nějaký program, který bude běžet, tak aby vypsal znaky, aniž by věděl, kolik jich bude...
Stejně jako klasický display 1602 serial, kdy posílám např.:
serout 0, N9600_8, ("Teplote je: ", #b1, " stupnu")
To cos poslal a co znám, je, že musíš znát délku řetězců a nějak mu to předat... a to mě trápí...

Re: PICAXE a i2c LCD s PCF8574

Napsal: 12 pro 2017, 17:55
od Vladimir66
na konci clanku autor pise, ze nejjednodussi je pripojit k LCD dalsi Picaxe, ktere Ti udela rozhrani I2C a zpracovani LCD dat.
jinak softy se daji dohledat na foru Picaxe.
http://ztrojanek.blogspot.cz/2016/04/zk ... -28x1.html

-V66

Re: PICAXE a i2c LCD s PCF8574

Napsal: 12 pro 2017, 21:55
od Luděk
Vladimire, to nepomuze ani 10 procesoru... Dokud se nekdo nepodiva do knihovny Arduina, jak oni resi proceduru PRINT, tak jsem ztracen...
Urcite jsi potreboval nekdy neco vypsat na display a neresis pocet znaku a ani kam mu je pripravis. Proste u serioveho rozhrani napises pouze
Serout port, rychlost, ("retezec libovolne delky") a display to vypise. Uz mě chapes? :-)

Re: PICAXE a i2c LCD s PCF8574

Napsal: 12 pro 2017, 23:32
od gilhad
obecne retezce se vypisuji tak, ze se posilaji znaky jeden za druhym, dokud nenarazis na znak s kodem nula 0x00. Pripadne si nejdriv muzes spocist, jak daleko je ta nula od zacatku a pak to brat jako se znamou delkou, s tim, ze navic vis, zda se ti to do radku vejde, nebo ne a kdyz ne, tak to bud muzes zalomit, nebo prislusne zkratit (neco ma cenu zkracovat zleva, neco zprava a neco zprostred).

Re: PICAXE a i2c LCD s PCF8574

Napsal: 24 pro 2017, 16:29
od Luděk
Hezké vánoce Vám všem...
tak jsem to vyřešil jednoduše a rázně... Vyhodil jsem celý úžasný převodník i2c s PCF8574 a nahradil jsem jej seriovým převodníkem od Snail Shopu, který se dodává s displejem 16x2 ... Sice je to pomalejší než i2c ALE FUNGUJE TO !