• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Ekran LCD z magistralą I2c nie wyświetla znaków oprócz podkreślnika

VPS Starter Arubacloud
0 głosów
580 wizyt
pytanie zadane 19 czerwca 2022 w Mikrokontrolery przez Le_Bagieta Nowicjusz (120 p.)

Dzień dobry mam problem z ekranem LCD z magistralą I2C który nie wyświetla znaków oprócz podreślika. Zworki na magistrali I2C nie nie było po zakupie więc przylutowałem kabelek. Może to być problem z kodem? 

#include  <Wire.h>
#include  <LiquidCrystal.h>
LiquidCrystal_I2C lcd(0x27);

void setup()
{

lcd.begin(16,2);
lcd.print("Hello, World! ") ;
}

void lopp()
{
} 

 

komentarz 19 czerwca 2022 przez Oscar Nałogowiec (29,290 p.)
edycja 19 czerwca 2022 przez Oscar

Taki sprzęt to zwykle zwykły wyświetlacz na HD77480 strerowanego nie bezpośrednio, tylko poprzez układ PCF8574 - takie 8bitowe IO na szynę I2C. Sposobów połaczenia pinów 8574 do wyświetlacza jest wiele, także układ 8574 może mieć różne adresy na magistrali I2C, w zależności od stanu na pinah A0, A1 i A2. Najpierw poszukaj układu procedurą skanowania I2C

Daj jakiś link do opisu sprzętu, który posiadasz.

komentarz 19 czerwca 2022 przez Oscar Nałogowiec (29,290 p.)

Tutaj masz polską stronę samego konwertera - wygląda tak samo jak ten twój. Jest tam kilka porad dla użytkowników.

Pamiętaj, że masz taki łańcuszek i2c - PCF8574 - wyświetlacz, masz 2-etapowe sterowanie, dwa razy więcej miejsc gdzie może coś nie działac. Proponowałbym (już wcześniej) najpierw zająć się komunikacją po I2C, pcf8574 to bardzo prosty układ. Najpierw spróbuj "wymacać" go na magistrali - czyli zrobić skanowanie I2C.

komentarz 20 czerwca 2022 przez Le_Bagieta Nowicjusz (120 p.)

Teraz po wgraniu jakiegokolwiek programu który ma wyświetlić tekst to pokazuje się podkreślnik który miga i nie działa podświetlenie i wykonywałem skanowanie I2C. 

komentarz 20 czerwca 2022 przez Oscar Nałogowiec (29,290 p.)
A co pokazało skanowanie I2C?
komentarz 20 czerwca 2022 przez Le_Bagieta Nowicjusz (120 p.)
0x27
komentarz 21 czerwca 2022 przez Oscar Nałogowiec (29,290 p.)

Czyli tyle, ile jest w kodzie. Wygląda że I2C działa OK, dodatkowo wyświetlenie migającego podkreślnika na jednym polu oznacza, że wyświetlacz został zainicjowany. Skoro coś widać, to kontrast (ten potencjoment) też jest dobrze ustawiony. Po samym włączeniu zasilania na wyświetlaczu chyba wyświetla się 1 rządek takich "kwadratów" na połowę pola znaku.

W przykładzie dołączonym do biblioteki podają jaką sekwencje poleceń:

 

LiquidCrystal_I2C lcd(0x27,20,4); ///< to chyba większy display

void setup()
{
  lcd.init();                      // initialize the lcd 
  // Print a message to the LCD.
  lcd.backlight();
  lcd.setCursor(3,0);
  lcd.print("Hello, world!");
  lcd.setCursor(2,1);
  lcd.print("Ywrobot Arduino!");
  lcd.setCursor(0,2);
  lcd.print("Arduino LCM IIC 2004");
  lcd.setCursor(2,3);
  lcd.print("Power By Ec-yuan!");
}

 

komentarz 22 czerwca 2022 przez Le_Bagieta Nowicjusz (120 p.)
Przy wgrywaniu programu za każdym pokazuje się taki błąd. zmieniłem tylko rozmiar wyświetlacza.

 

Arduino:1.8.19 (Windows Store 1.8.57.0) (Windows 10), Płytka:"Arduino Uno"

C:\Users\danie\AppData\Local\Temp\untitled2029237806.tmp\sketch_jun20a\sketch_jun20a.ino:4:32: warning: invalid conversion from 'int' to 't_backlightPol' [-fpermissive]
 LiquidCrystal_I2C lcd(0x27,16,2); ///< to chyba większy display
                                ^
In file included from C:\Users\danie\AppData\Local\Temp\untitled2029237806.tmp\sketch_jun20a\sketch_jun20a.ino:2:0:
C:\Users\danie\OneDrive\Dokumenty\Arduino\libraries\NewLiquidCrystal_lib/LiquidCrystal_I2C.h:65:4: note:   initializing argument 3 of 'LiquidCrystal_I2C::LiquidCrystal_I2C(uint8_t, uint8_t, t_backlightPol)'
    LiquidCrystal_I2C (uint8_t lcd_Addr, uint8_t backlighPin, t_backlightPol pol);
    ^~~~~~~~~~~~~~~~~
C:\Users\danie\AppData\Local\Temp\ccCrOl9E.ltrans0.ltrans.o: In function `main':
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.57.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\cores\arduino/main.cpp:46: undefined reference to `loop'
collect2.exe: error: ld returned 1 exit status
Znaleziono wiele bibliotek w "LiquidCrystal_I2C.h"
Wykorzystane: C:\Users\danie\OneDrive\Dokumenty\Arduino\libraries\NewLiquidCrystal_lib
Niewykorzystane: C:\Users\danie\OneDrive\Dokumenty\Arduino\libraries\LiquidCrystal-I2C-library-master
exit status 1
Błąd kompilacji dla płytki Arduino Uno.
komentarz 22 czerwca 2022 przez Le_Bagieta Nowicjusz (120 p.)

Jak zgrywałem ten program nie było błędu ale nadal tylko podkreśnik.

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

// Set the LCD address to 0x27 for a 16 chars and 2 line display
LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup()
{
	// initialize the LCD
	lcd.begin(16,2);

	// Turn on the blacklight and print a message.
	lcd.backlight();
	lcd.print("Hello, world!");
}

void loop()
{
	// Do nothing here...
}

 

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
2 odpowiedzi 2,354 wizyt
pytanie zadane 18 stycznia 2017 w Mikrokontrolery przez Adrian1999 Nałogowiec (34,570 p.)
0 głosów
1 odpowiedź 793 wizyt
pytanie zadane 27 grudnia 2016 w Mikrokontrolery przez szerwi Użytkownik (620 p.)
0 głosów
0 odpowiedzi 755 wizyt

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...