Skocz do zawartości

Arduino UNO i LCD – nie wyświetla poprawnie


unlivingbike

Pomocna odpowiedź

Witam,

Mam problem z wyświetlaczem LCD wgrywanym na Arduino UNO. Nie wyświetla on nic poza prostokątami. Połączenie jest na pewno dobre, sprawdzałam je niejednokrotnie (RS do 12, EN do 11, RW do GND itd zgodnie z programem). Wgrywam taki program:

#include <LiquidCrystal.h> //Dołączenie bilbioteki
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 =2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7); //Informacja o podłączeniu nowego wyświetlacz
void setup() {
  lcd.begin(16, 2); //Deklaracja typu
  lcd.setCursor(0, 0); //Ustawienie kursora
  lcd.print("Kurs Arduino"); //Wyświetlenie tekstu
  lcd.setCursor(0, 1); //Ustawienie kursora
  lcd.print("Wyswietlacz"); //Wyświetlenie tekstu
}
 
void loop() {
}

Niestety napisy nie pojawiają się. Bardzo prosze o pomoc 

Edytowano przez Gieneq
Zachęcam do używania bloku kodu
Link do komentarza
Share on other sites

Może kontrast masz źle ustawiony/niepodłączony. Pokręć potencjometrem jeśli jest, jeśli nie ma to podłącz albo próbuj rezystorem.

Link do komentarza
Share on other sites

(edytowany)
7 godzin temu, atMegaTona napisał:

Może kontrast masz źle ustawiony/niepodłączony. Pokręć potencjometrem jeśli jest, jeśli nie ma to podłącz albo próbuj rezystorem.

Mam potencjometr, jak nim kręcę to albo nie wyświetla się nic, albo czarne prostokąty 

Edytowano przez unlivingbike
Link do komentarza
Share on other sites

Rezystory kiepsko się nadają do kręcenia, spróbuj potencjometrem :)

Ale chyba wiem o co chodzi, jeśli kontrast jest w porządku to na 100% masz źle podłączony wyświetlacz. Sprawdź jeszcze raz. Najlepiej skopiuj sobie przykład ze strony arduino i jeśli nie zadziała to będzie potwierdzenie. Sam wyświetlacz raczej nie jest zepsuty skoro prostokąty wyświetla.

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

(edytowany)
6 godzin temu, atMegaTona napisał:

Rezystory kiepsko się nadają do kręcenia, spróbuj potencjometrem 🙂

Ale chyba wiem o co chodzi, jeśli kontrast jest w porządku to na 100% masz źle podłączony wyświetlacz. Sprawdź jeszcze raz. Najlepiej skopiuj sobie przykład ze strony arduino i jeśli nie zadziała to będzie potwierdzenie. Sam wyświetlacz raczej nie jest zepsuty skoro prostokąty wyświetla.

Późno było i jedno pisałam drugie myślałam, oczywiście chodziło o potencjometr. A jeśli chodzi o połączenie to jest ono zgodne z programem oraz RW podłączam do masy. Czy coś jeszcze powinnam połączyć?

Edytowano przez unlivingbike
Link do komentarza
Share on other sites

Witam.

Mam jeszcze gdzieś w rupieciach wyświetlacz, który nie chciał działać na 4 bitach, a na pełnej szynie działał. Spróbuj podłączyć wszystkie linie danych i wtedy przetestuj.

Link do komentarza
Share on other sites

Cóż, "połączenie jest na pewno dobre" widocznie takie nie jest. Może optycznie wygląda OK, ale pewnie któryś kabelek nie styka. Nie wiemy też czy dobrze zostały określone numery pinów samego LCD, czy całość leży na płytce stykowej (dodatkowe pole do popisu dla wszechobecnej kaszany) i jak u Ciebie z samą praktyką montażu elektroniki. Zwykle osoby, które zaczynają od tego typu przykładów stoją na początku kariery technika-elektronika a to wcale trywialne nie jest. Zatem pokaż może ten swój układ (zdjęcie? kilka?), bo szukanie w głowie  możliwych odpowiedzi dlaczego akurat u Ciebie nie działa trywialny przykład nie jest łatwe. Nie wiemy nawet czy korzystasz z jakiegoś zestawu kupionego w całości (jest szansa, że kabelki, płytki i inne elementy jakoś do siebie pasują) czy też kupiłaś osobno UNO, osobno wyświetlacz a połączenia wykonałaś drucikami i pierwszą w życiu lutownicą. Żeby taki przykład zadziałał wszystko musi pójść dobrze a na każdym etapie montażu można nadziać się na grabie. Przecież nawet nie mamy pewności, że wgrywasz pokazany kod do procka bo nie napisałaś, że na tej samej płytce umiesz zamrugać LEDem...

  • Lubię! 1
Link do komentarza
Share on other sites

Mam osobno UNO, osobno wyświetlacz i przylutowane kable do wyświetlacza z UNO. Nie jest to pierwsza rzecz jaką robię na Arduino i jest to po prostu ostatnia część większego projektu, która ma coś wyświetlać. Zostawiłam sobie banalna rzecz na sam koniec nie myśląc że to może nie działać. Może moglibyście mi napisać jak dokładnie powinnam przylutowac kable bo może coś źle zrozumiałam/ o czymś zapomniałam? 

Link do komentarza
Share on other sites

1 godzinę temu, unlivingbike napisał:

Może moglibyście mi napisać jak dokładnie powinnam przylutowac kable bo może coś źle zrozumiałam/ o czymś zapomniałam?

Spróbuj tak jak @Jamik pisał, podłącz 8bit bo faktycznie to czasami zależy od egzemplarza wyświetlacza i niektóre potrzebują delaya przy przestawianiu trybu pracy. Jak zadziała na 8bit to można próbować przestawić na 4.  Sam kiedyś miałem podobny przypadek ale jakoś sobie poradziłem, w necie gdzieś znalazłem wskazówkę. Te wyświetlacze lepiej kupować z z przylutowanym expanderem na I2C - raczej się nie zdarza, żeby były z nimi problemy bo z samymi wyświetlaczami co jakiś czas ktoś ma problem tego typu co najczęściej się sprowadza do błędnego podłączenia mimo pełnego przekonania, że jest wszystko dobrze podłączone.

Link do komentarza
Share on other sites

Fajna drutologia :) przy następnej okazji polecam tasiemki. Trudno stwierdzić ale wygląda to tak jak by coś nie łączyło w szczególności E sprawdź miernikiem ciągłość przewodu. Może też być przyczyną to o czym wspominał @Jamik, spróbuj zrobić 8bit to tylko 4 dodatkowe druciki, jak zadziała to można będzie pomyśleć jak przestawić na 4.

Link do komentarza
Share on other sites

Post stary, ale może pomoże potomnym. Miałem podobny problem. Wyświetlacz 1602 z I2C od myfriendów. Okazało się, że zamiast funkcji lcd.begin() lub lcd.begin(16,2) musiałem użyć lcd.init() i wszystko zagrało.

  • Lubię! 2
Link do komentarza
Share on other sites

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

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.