Stranica: 1/1.

LCD 16x2 s I2C vezom - problemi

Postano: sub vel 01, 2020 10:37 am
Postao/la marko.bosiocic#3449
Koristimo 16x2 monitor s I2C modulom i Croduino Basic pločicom (PB2). Odredili smo adresu monitora (0x27). Ali nikako ne možemo ništa ispisati.
Pri korištenju Hello world koda (dolje) upload je korektan, pozadinsko osvjetljenje se upali, ugasi i ponovno upali, ali se na ekranu ništa ne pojavljuje.

Probali smo promijeniti 3 kroduino pločice, dva ekrana i dva I2C modula... problem je uvijek isti..

Kod: Označite sve

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

// kreira LCD objekt. Ne mijenjati varijable jer su pinovi LCDa tim redoslijedom
// zalemljeni s adapterom na plocici. 
// prvi argument u zagradi je I2C adresa adaptera
// ako Vam ne radi s navedenom adresom, pokrenite I2C scanner
// prema tutorijalu te pronadite adresu svog adaptera
// https://e-radionica.com/hr/blog/2016/07/14/1064/
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); 

void setup()
{

  lcd.begin(16,2);               // potrebno da bismo mogli koristiti LCD.
                                 // 16,2 oznacava dimenziju LCDa
  lcd.backlight();               // upali pozadinsko osvjetljenje
  delay(1000);                    // pricekaj 1s
  lcd.noBacklight();             // ugasi pozadinsko osvjetljenje 
  delay(1000);                    // pricekaj 1s
  lcd.backlight();               // opet upali pozadinsko osvjetljenje
  
  lcd.print("LCD je ispravno");  // ispisi jednostavan tekst
  lcd.setCursor(0,1);            // postavi kursor na pocetak drugog reda
  lcd.print("spojen. Bravo!");   // ispisi joj teksta
  delay(2000);                   // pricekaj 2s kako bi se tekst stigao procitati

  lcd.clear();                   // obrisi sve napisano na LCDu
  lcd.home ();                   // idi na pocetak prve linije(0,0)
  lcd.print("Hello World!");     // ispisi tekst
  lcd.setCursor(0,1);            // pocetak drugog reda
  lcd.print("e-radionica.com");  // ispisi tekst
}

void loop()
{
  lcd.clear();                   // obrisi sve napisano na LCDu
  lcd.home ();                   // idi na pocetak prve linije(0,0)
  lcd.print("Hello World!");     // ispisi tekst
  lcd.setCursor(0,1);            // pocetak drugog reda
  lcd.print("e-radionica.com");  // ispisi tekst
  lcd.print("Hello World!");
  delay(2000);
   // loop
}

Re: LCD 16x2 s I2C vezom - problemi

Postano: sub vel 01, 2020 11:02 am
Postao/la domagoj#3875
Pozdrav!
Prvo što mi pada na pamet je kontrast. Možda ispisuje ali se zbog kontrasta ne vidi. Drugo bi moglo biti da SDA i SCL nisu dobro spojeni, što je manje vjerojatno, ali nije loše provjeriti. Mala je vjerojatnost da je nešto neispravno kada je zamijenjen mikrokontroler, ekran i I2C modu i da se isti simptomi pojavljuju u svim kombinacijama.

Re: LCD 16x2 s I2C vezom - problemi

Postano: sub vel 01, 2020 2:21 pm
Postao/la david.zovko#6683
Budući da se backlight pali/gasi, to je potvrda da je I2C komunikacija ispravna. Dakle, dobro ste povezali.

Svakako probajte promijeniti kontrast, to je poteciometar sa stražnje strane, definitivno mi se čini da je u tome stvar. Hvala , Domagoj!

Re: LCD 16x2 s I2C vezom - problemi

Postano: ned vel 02, 2020 9:52 am
Postao/la marko.bosiocic#3449
Hvala, na jednom displeyu je to bio problem (pocetnicka greska, isprike), a na drugom to i uz to umjeto slova pojavljuju se samo kvadratići...
U svakom slučaju hvala! :)

Re: LCD 16x2 s I2C vezom - problemi

Postano: ned vel 02, 2020 5:35 pm
Postao/la david.zovko#6683
Nemate brige, tu smo da pomognemo!