Skocz do zawartości

Problem z wykorzystaniem wyświetlacza tekstowego, LCD 2x16


Pomocna odpowiedź

Napisano

Mam problem z biblioteką LiquidCrystal.h i nie za bardzo wiem jak sobie z tym poradzić. Otrzymuję komunikat ,,no matching function for call to 'LiquidCrystal::LiquidCrystal(int, int)' ". Proszę o pomoc.
 

@Treker również witam 🙂 . Korzystam z Arduino IDE. Myślałem, że być może to sprawa przestarzałego IDE, ale posiadam najnowszą wersję. Jakby co do wyświetlacza mam dołączony konwerter, dlatego tylko dwa piny są zadeklarowane przy LiquidCrystal lcd. Być może powinienem reinstalować IDE i to rozwiązało by problem. (używam Windowsa 10)

#include <LiquidCrystal.h>
LiquidCrystal lcd (18,19);

void setup() 
{
 lcd.begin(16,2);
 lcd.setCursor(0, 0);
 lcd.print("Dzień dobry");
 lcd.setCursor(0, 1);
 lcd.print("Jak się miewasz");
}
void loop()
{
   
  }

 

Pytanie wydzieliłem, ponieważ w komentarzach do kursów rozwiązujemy problemy z wykonywaniem ćwiczeń na identycznym sprzęcie jak ten, który jest używany w naszych przykładach. Pisanie na temat innych elementów elektronicznych, układów lub programów może wprowadzać w błąd pozostałe osoby, które uczą się z tego kursu. Z góry dziękuję za zrozumienie 🙂

Źródło pytania: https://forbot.pl/forum/topic/8183-kurs-arduino-7-wyswietlacz-tekstowy-lcd-2x16

9 minut temu, Quaylee napisał:

Korzystam z Arduino IDE. Myślałem, że być może to sprawa przestarzałego IDE, ale posiadam najnowszą wersję. Jakby co do wyświetlacza mam dołączony konwerter, dlatego tylko dwa piny są zadeklarowane przy LiquidCrystal lcd. Być może powinienem reinstalować IDE i to rozwiązało by problem. (używam Windowsa 10)

Nie możesz podłączać innego sprzętu "w ciemno" i zakładać, że przykład powinien działać. Błąd wynika z tego, że używasz właśnie konwertera i źle korzystasz z funkcji (nie podajesz jej tylu argumentów ilu oczekuje). Musisz znaleźć odpowiednią bibliotekę i program, który zadziała z Twoim konwerterem. Powyższy program nie ma szans niestety ruszyć na takim LCD.

Po pierwsze: prawdopodobnie nie ta biblioteka, u mnie działa na NewLiquidCrystal

Po drugie: plik nagłówkowy dla wyświetlaczy z konwerterem to LiquidCrystal_I2C.h

Po drugie: jeśli masz wyświetlacz z konwerterem to nie znaczy, że możesz sobie użyć dowolne dwa piny i tylko to w programie zadeklarować. I2C wymaga podłączenia pod konkretne piny (A4 i A5 lub piny oznaczone SCL/SDA na płytce), podania adresu wyświetlacza i jeszcze paru drobiazgów.

Najprawdopodobniej działać będzie coś takiego:

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

 

  • Lubię! 1

Ten LCD podłącza się do magistrali I2C i by dobrze to działało musisz wybrać dokładnie te piny w Arduino, odpowiednio SCL i SDA. Na początek musisz potwierdzić jego adres, wgrywasz szkic I2Cscanner i sprawdzasz jaki adres ma LCD, informacje są wyrzucane na UART. Zwykle jest to 0x27. Potem dodaj sobie bibliotekę  LiquidCrystal_PCF8574 lub jakąś LiquidCrystal z I2C w nazwie (jest kilka do wyboru w managerze bibliotek wprost w programie Arduino)  i skorzystaj z przykładów.

  • Lubię! 1
(edytowany)

Dziękuję wszystkim za pomoc udało nam się 🙂 . Wszystko pięknie śmiga. Dziękuję. Oto program

#include <LCD.h>
#include <LiquidCrystal_I2C.h>


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

void setup()
{
  lcd.begin(16,2);
 lcd.setCursor(0, 0);
 lcd.print("Dzien dobry");
 lcd.setCursor(0, 1);
 lcd.print("Jak sie miewasz?");
}
void loop()
{
   
  } 
Edytowano przez Quaylee
  • 11 miesiące później...

Witam i wiem że odgrzewany kotlet. Niestety nie znalazłem rozwiązania a walczę z tym od 2 godzin i potrzebuję pomocy.

Korzystam z tej biblioteki i teoretycznie na ekranie wyświetla mi się wszystko ... jednak podczas kompilowania pokazuje mi 

"Błędna biblioteka znaleziona w c:/program files.../Arduino/libraries/NewLiquidCrystal: brak plików nagłówkowych (.h) w c:/program files.../Arduino/libraries/NewLiquidCrystal"

 

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...