Skocz do zawartości

Problem z wykorzystaniem wyświetlacza tekstowego, LCD 2x16


Quaylee

Pomocna odpowiedź

@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()
{
   
  }

 

Link do komentarza
Share on other sites

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.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

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
Link do komentarza
Share on other sites

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
Link do komentarza
Share on other sites

(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
Link do komentarza
Share on other sites

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"

 

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.