Tag Archives: I2C

1602 ekranas per I2C

Šiandien gavau naują žaisliuką – 16×2 dalių LCD ekraną su I2C perėjimu, kuris leidžia sutaupyti daug Arduino kontaktų. Jeigu kam įdomu, pirkau iš ebay, prekės pavadinimas “Yellow Display IIC/I2C/TWI/SP​​I Serial Interface 1602 16X2 Character LCD Module”. Gavau kažką panašaus į tai ką matote paveiksliuke.

Iki šiol jungiausi prie 1602 (Hitachi HD44780) ekranų naudojant standartinę LiquidCrystal biblioteką ir tai veikdavo be jokių problemų: tiesiog sujungi laidus pagal instrukcijas ir viskas važiuoja. Šį kartą buvo kiek sudėtingiau.

Visų pirma, standartinė LiquidCrystal biblioteka nepalaiko pajungimo per I2C. Kiek radau, labiausiai giriama kita biblioteka yra NewLiquidCrystal, kuri palaiko skirtingus ekranų pajungimo tipus, tame tarpe ir I2C. Kas mus, kaip paprastus naudotojus dar domina, tai kad ja naudojamasi lygiai taip pat kaip ir paprasta LiquidCrystal biblioteka, taigi esant reikalui rasti informacijos internete bus daug lengviau. Atsisiuntus, paaiškėjo, kad dar kažko trūksta – ekranas rodė tik juodus kvadratus.

Kiekviena schema leidžianti jungtis prie ekrano per I2C prievadą veikia kiek skirtingai ir norint, kad Arduino biblioteka galėtų parodytų prašomą tekstą, dažnai tenka nurodyti bibliotekai kaip viskas yra pajungta. Mano atveju, “perėjimas” buvo pažymėtas YwRobot užrašu, o naudojama mikrochema “PCF8574”. Pardavėjo puslapyje, visa nurodyta informacija, tebuvo I2C adresas (0x27) kurį ir taip rasti yra labai paprasta. Daugiau jokios naudingos informacijos. O čia, pagrindinė informacija kurią norėčiau pasidalinti šiame įraše: norint, kad NewLiquidCrystal biblioteka veiktų su per I2C pajungtu 1602 ekranu, biblioteką reikia inicializuotu sekančiu būdu:

LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);