• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Arduino Uno Wyświetlacz LCD 16x2 nie wyświetla napisów
#21
(14-11-2019, 20:59)luko91 napisał(a): przy podaniu standarowego adresu (0x27)  wyswietlała się tylko pierwsza linia jako prostokąty , po podaniu adresu 0x3F  wyświetliły się 2 linie prostokątów.
Wyświetlacz 16 x 2 .  Jakieś pomysły ?
Inne połączenie wyprowadzeń PFC8574 niż zadeklarowane w bibliotece.
 
Odpowiedź
#22
Da się to obejść ? Znalazłem wersję z takim kontruktorem:
@param lcd_Addr[in] I2C address of the IO expansion module. For I2CLCDextraIO,
the address can be configured using the on board jumpers.
@param En[in] LCD En (Enable) pin connected to the IO extender module
@param Rw[in] LCD Rw (Read/write) pin connected to the IO extender module
@param Rs[in] LCD Rs (Reset) pin connected to the IO extender module
@param d4[in] LCD data 0 pin map on IO extender module
@param d5[in] LCD data 1 pin map on IO extender module
@param d6[in] LCD data 2 pin map on IO extender module
@param d7[in] LCD data 3 pin map on IO extender module

LiquidCrystal_I2C(uint8_t lcd_Addr, uint8_t En, uint8_t Rw, uint8_t Rs, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t backlighPin, t_backlighPol pol);

Pytanie jak to ustawić?
 
Odpowiedź
#23
pokaz kod co próbujesz bo jest duzo niewiadomych
Arduino zostało wymyślone po to, by robić dobrze jedną prostą rzecz – migać diodą. 
 
Odpowiedź
#24
Kod jest z przykładu. 


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

LiquidCrystal_I2C lcd(0x3F,16,2);

void setup()
{
  lcd.init();                      // initialize the lcd
  lcd.init();
  // Print a message to the LCD.
  lcd.backlight();
  lcd.setCursor(3,0);
  lcd.print("Hello, world!");

}
 
Odpowiedź
#25
Sprubuj
LiquidCrystal_I2C lcd(0x3f, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);

A setup zmień na

void setup()
{
lcd.begin(20, 4);
// Print a message to the LCD.

lcd.setCursor(0,0);
lcd.print("Hello, world!");

}
Arduino zostało wymyślone po to, by robić dobrze jedną prostą rzecz – migać diodą. 
 
Odpowiedź
#26
Niestety nie pomogło. Zauważyłem ze działa funkcja lcd.noBacklight();
 
Odpowiedź
#27
zapomniało mi się że setup jest jednorazowy spróbuj tak

void setup()
{
lcd.begin(20, 4);
}

viod loop()
{
// Print a message to the LCD.

lcd.setCursor(0,0);
lcd.print("Hello, world!");
delay(250);
}


resztę jak wyżej pisałem

Jak nie pomoże usuń wszystkie biblioteki od Newliquidcrystal i wgraj ta 

https://www.easypaste.org/file/MUvw3QA1/...ar?lang=pl

i sprawdź ten kod co pisałem
Arduino zostało wymyślone po to, by robić dobrze jedną prostą rzecz – migać diodą. 
 
Odpowiedź
#28
Niestety nie zdziała. natomiast jak wykorzystałem przykłady i podmieniłem na mój adres 0x3f, to wyświetlacz się włączał i wyłączał. Niestety świeciły się same kwadraciki.
 
Odpowiedź
#29
(18-11-2019, 18:51)luko91 napisał(a): Niestety nie zdziała. natomiast jak wykorzystałem przykłady i podmieniłem na mój adres 0x3f, to wyświetlacz się włączał  i wyłączał.  Niestety świeciły się same kwadraciki.
Analizator w dłoń i naprzód.
- Sprawdź co się dzieje na I2C.
- Sprawdź co jest wysyłane do LCD.
 
Odpowiedź
#30
A mi sie coś pomyliło bo powinno być tera zauważyłem..

lcd.begin(16,2);
Arduino zostało wymyślone po to, by robić dobrze jedną prostą rzecz – migać diodą. 
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości