Stránka 1 z 1

ldc 20x4 přes I2c ukazuje jen 1. znak na řádku

Napsal: 19 led 2020, 23:34
od caga
Ahoj všem, jsem tu nový, tak mě prosím hned nekamenujte za dotaz, který bude třeba jasný.

Mám ESP8266, k němu připojen LCD 20x4 přes I2c s knihovnou LiquidCrystal_I2C.h a ukázkovým programem ze sekce začínáme s Arduinem LCD Displej.
Všech běží jak má.

Vezmu klon Arduina uno,přepojím 4 dráty, změním v IDE desku na Arduino/Genuino Uno, změním COM. Nahraju program a na displeji vidím pouze jeden znak na každém řádku. Vždy první co je v příkaze print uveden. tedy A , tam kdy má být napsáno ARDUINO.

Poraďte proč ?

Re: ldc 20x4 přes I2c ukazuje jen 1. znak na řádku

Napsal: 20 led 2020, 06:12
od pavel1tu
Dej kod co tam nahráváš.
Já šel na https://navody.arduino-shop.cz/zaciname ... splej.html a tam je první znak mezera a pak nějaká šipka,
tak nevím podle čeho jsi to dělal ty ...

Re: ldc 20x4 přes I2c ukazuje jen 1. znak na řádku

Napsal: 20 led 2020, 15:08
od caga
Vysledek:
-
A
T
na posledni pozici !

Dale se na radku 1 od pozice 8 pocitaji sekundy, ale kdyz je jich vic jak 10 tak uz zobrzuje jen prvni znak z desitek, pak ze stovek...

Proste souradnice to nastavi dobre, ale z prikazu print to zobrazi jen prvni znak.

Nějaký nápad ?


Pouzity kod:
// LCD displej pres I2C
// navody.arduino-shop.cz

// knihovny pro LCD přes I2C
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

// nastavení adresy I2C (0x27 v mém případě),
// a dále počtu znaků a řádků LCD, zde 20x4
LiquidCrystal_I2C lcd(0x27, 20, 4);

void setup()
{
// inicializace LCD
lcd.begin();
// zapnutí podsvícení
lcd.backlight();
// vytisknutí hlášky na první řádek
lcd.setCursor ( 0, 0 );
lcd.print("->arduino-shop.cz<-");
// nastavení kurzoru na první znak, druhý řádek
// veškeré číslování je od nuly, poslední znak je tedy 19, 3
lcd.setCursor ( 0, 1 );
lcd.print("A------------------B");
lcd.setCursor ( 0, 2);
lcd.print("Test LCD pres I2C x");
lcd.setCursor ( 19, 3);
lcd.print("!");
delay(2000);
}

void loop()
{
// nastavení kurzoru na devátý znak, druhý řádek
lcd.setCursor(8, 1);
// vytisknutí počtu sekund od začátku programu
lcd.print(millis() / 1000);
}

Re: ldc 20x4 přes I2c ukazuje jen 1. znak na řádku

Napsal: 20 led 2020, 17:09
od pavel1tu
Uff,
verzi Arduino ID
verzi knihovny <LiquidCrystal_I2C.h>

Co vím (je to ale dávno) dělala to chyba v knihovně ale to je dávno opravené,
pokud máš nejnovější Arduino IDE (asi není zase tak nutné) a novou knihovnu,
nemělo by to dělat ....

viz. https://forum.arduino.cc/index.php?topic=361411.0

použij tuto knihovnu
https://github.com/johnrickman/LiquidCrystal_I2C

Re: ldc 20x4 přes I2c ukazuje jen 1. znak na řádku

Napsal: 20 led 2020, 22:48
od caga
Ahoj, zmenou knihovny se problem vyresil. Nechapu proc to na jedne desce jde a na druhe ne. Diky za radu.

Re: ldc 20x4 přes I2c ukazuje jen 1. znak na řádku

Napsal: 21 led 2020, 06:07
od pavel1tu
caga píše:
20 led 2020, 22:48
Ahoj, zmenou knihovny se problem vyresil. Nechapu proc to na jedne desce jde a na druhe ne. Diky za radu.
No, v knihovnách je bordel. Každý si je na Gidhubu různě klonuje, upravuje, popis žádný. Doporučuji si ke každému projektu zálohovat i knihovny, může se stát že po pár letech to s novou verzí už nepůjde ;)