Skocz do zawartości

Problem z instrukcją do LCD (Liquid i2c)


Pomocna odpowiedź

Napisano

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

Mam problem z instrukcją POSITIVE. Mimo zainstalowania najnowszej biblioteki Liquid kompilator zwraca błąd "'POSITIVE' was not declared in this scope"

Dokładnie to chciałem wykorzystać konwerter z poniższej strony

http://botland.com.pl/content/81-lcd-2x16-przy-pomocy-arduino-i-lcm1602-po-i2c-

i próbowałem bezskutecznie wgrać umieszczony na niej kod z ta właśnie komendą.

true

no matching function for call to 'LiquidCrystal_I2C::LiquidCrystal_I2C(int, int, int, int, int, int, int, int, int, bool)'

1

no matching function for call to 'LiquidCrystal_I2C::LiquidCrystal_I2C(int, int, int, int, int, int, int, int, int, int)'

Ok, no to poczytałem i biblioteka mówi:

LiquidCrystal_I2C(uint8_t lcd_addr, uint8_t lcd_cols, uint8_t lcd_rows, uint8_t charsize = LCD_5x8DOTS);

Spróbuj więc:

LiquidCrystal_I2C lcd(0x3F, 16, 2); 
/*
*  LCM1602 & Arduino Uno
*  VCC - > 5 V
*  GND - GND
*  SCL -> A5
*  SDA -> A4
*/

#include <Wire.h>   // standardowa biblioteka Arduino
#include <LiquidCrystal_I2C.h> // dolaczenie pobranej biblioteki I2C dla LCD

LiquidCrystal_I2C lcd(0x27, 16, 2);  // Ustawienie adresu ukladu na 0x27


void setup()  
{
 lcd.begin(16,2);   // Inicjalizacja LCD 2x16

 lcd.backlight(); // zalaczenie podwietlenia 
 lcd.setCursor(0,0); // Ustawienie kursora w pozycji 0,0 (pierwszy wiersz, pierwsza kolumna)
 lcd.print("Hello, world!");
 delay(500);
 lcd.setCursor(0,1); //Ustawienie kursora w pozycji 0,0 (drugi wiersz, pierwsza kolumna)
 lcd.print("BOTLAND.com.pl");

}

void loop() 
{
  lcd.backlight(); // zalaczenie podswietlenia
  delay(5000);
lcd.noBacklight(); // wylaczenie podswietlenia
  delay(5000);
}

DSC_0004.thumb.JPG.b03c67e057d776fd20d0c276fbab1a4d.JPG

Bo mieszasz funkcje z dwóch różnych bibliotek.

To masz poprawną: https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library/blob/master/LiquidCrystal_I2C.h

Nowy kod:

/*
*  LCM1602 & Arduino Uno
*  VCC - > 5 V
*  GND - GND
*  SCL -> A5
*  SDA -> A4
*/

#include <Wire.h>   // standardowa biblioteka Arduino
#include <LiquidCrystal_I2C.h> // dolaczenie pobranej biblioteki I2C dla LCD

LiquidCrystal_I2C lcd(0x27, 16, 2);  // Ustawienie adresu ukladu na 0x27


void setup() 
{
 lcd.begin();   // Inicjalizacja LCD 
 lcd.backlight(); // zalaczenie podwietlenia
 lcd.print("Hello, world!"); //tekst

}

void loop()
{
  lcd.backlight(); // zalaczenie podswietlenia
  delay(5000);
  lcd.noBacklight(); // wylaczenie podswietlenia
  delay(5000);
}

Co się teraz dzieje?

Poszukaj ustawienia potencjometra gdzie będzie widać tekst.

  • Lubię! 1

Przy kompilacji:

no matching function for call to 'LiquidCrystal_I2C::begin()'

Powinienem usunąć wcześniejsze biblioteki Liquid???

[ Dodano: 25-03-2016, 18:33 ]

OK, problem rozwiązany. usunąłem wszystkie biblioteki Liquid, zainstalowałem na nowo soft i wessałem tylko tą bibliotekę ze strony. I wszystko śmiga!

  • 1 rok później...

Mam pytanie Chumanista. Jak zobaczyłeś że są różne bibloteki? Jak to jest z tymi biblotekami? Jak ściągamy bibloteke to ją instalujemy z pliku ZIP i laduje w ...profil\dokumenty\arduino\libaries. Można też rozpakować i wrzucic w srodowisko arduino\libaries. A konkretnie bibloteki mają różne nazwy a zawierają modyfikacje różnych biblotek. Którą weżmie kompilator?

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...