PICAXE a i2c LCD s PCF8574

Luděk
Příspěvky: 82
Registrován: 22 úno 2016, 08:47

PICAXE a i2c LCD s PCF8574

Příspěvek 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...
Naposledy upravil(a) Luděk dne 12 pro 2017, 08:16, celkem upraveno 1 x.
jova
Příspěvky: 361
Registrován: 16 pro 2013, 11:40

Re: PICAXE a i2c LCD s PCF8574

Příspěvek 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 ;)
DavidO
Příspěvky: 1133
Registrován: 01 kvě 2013, 21:27

Re: PICAXE a i2c LCD s PCF8574

Příspěvek 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.
Nikoho plánovaně neurážím. Jestli se Vám nelíbí co píšu, tak to nečtěte. A ostatně, třeba za to nemůžu - Researchers believe that dark humor can be a significant symptom of dementia.
Luděk
Příspěvky: 82
Registrován: 22 úno 2016, 08:47

Re: PICAXE a i2c LCD s PCF8574

Příspěvek 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 :-)
DavidO
Příspěvky: 1133
Registrován: 01 kvě 2013, 21:27

Re: PICAXE a i2c LCD s PCF8574

Příspěvek 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
Nikoho plánovaně neurážím. Jestli se Vám nelíbí co píšu, tak to nečtěte. A ostatně, třeba za to nemůžu - Researchers believe that dark humor can be a significant symptom of dementia.
Luděk
Příspěvky: 82
Registrován: 22 úno 2016, 08:47

Re: PICAXE a i2c LCD s PCF8574

Příspěvek 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í...
Vladimir66
Příspěvky: 385
Registrován: 02 dub 2014, 15:30

Re: PICAXE a i2c LCD s PCF8574

Příspěvek 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
Luděk
Příspěvky: 82
Registrován: 22 úno 2016, 08:47

Re: PICAXE a i2c LCD s PCF8574

Příspěvek 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? :-)
Uživatelský avatar
gilhad
Příspěvky: 262
Registrován: 29 kvě 2015, 00:36
Kontaktovat uživatele:

Re: PICAXE a i2c LCD s PCF8574

Příspěvek 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).
Luděk
Příspěvky: 82
Registrován: 22 úno 2016, 08:47

Re: PICAXE a i2c LCD s PCF8574

Příspěvek 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 !
Odpovědět