• 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
LCD 2x16 znaków + ekspander - dziwne znaki
#1
Po przylutowaniu adaptera do wyświetlacza 2x16 HD44780 i podłączeniu:

Adapter - Arduino
- GNG - GND
- VCC - 5V
- SCL - SCL
- SDA - SDA

oraz wgraniu programu wyświatlają mi się dziwne znaki tzn. puste kratki, znaki zapytania, litery o, strzałki w lewo i podkreślniki (wszystko tylko w pierwszej linii) . Co może być tego przyczyną?

Program wzięty z internetu z podmienionym rekordem reestru na 0x3F.


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

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

void setup()  
{
 lcd.begin(16,2);  
 lcd.backlight();
 lcd.setCursor(0,0);
 lcd.print("LCD");
 delay(500);
 lcd.setCursor(0,1);
 lcd.print("**********");
}

void loop()
{
 
}
 
Odpowiedź
#2
Co to za ekspander? Z adresu wynika, że PCF8574A.
Jeśli jesteś pewien, że to ten adres, to możliwe że pomieszane jest z wyjściami.
Spróbuj:
LiquidCrystal_I2C lcd(0x3F, 16, 2);
Jeśli masz problem z kodem lub sprzętem, zadaj pytanie na forum. Nie odpowiadam na PW, jeśli nie dotyczą one spraw forum lub innych tematów prywatnych.

[Obrazek: SsIndaG.jpg]
 
Odpowiedź
#3
Jak ma lcd.begin(16,2); to raczej nie definiuje wyświetlacza przy tworzeniu obiektu w tej bibliotece LiquidCrystal_I2C lcd(0x3F, 16, 2);. Zapytam kontrolnie, bo niedawno był tu taki przypadek. Przylutowałeś ten adapter używając topnika, nie ma zimnych lutów? No i sprawdź w bibliotece, jakie piny są na poszczególnych miejscach. Ewentualnie wrzuć tu bibliotekę. Np. w tej z linku z Botland jest taka linijka:
LiquidCrystal_I2C lcd(0x38);
, adres oczywiście weź swój.
Ja mam inną bibliotekę i też podaje się tylko adres, reszta jest potrzebna jak nie zadziała na ustawieniach standardowych (choć u mnie raczej w ogóle nie ma takiego wyboru).
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
#4
Ekspander na PCF8574A to zły pomysł. Jeśli komunikacja z LCD ma odbywać się po I2C użyj wyświetlacza z interfejsem I2c. Wiele wyświetlaczy może pracować z magistralą równoległą, I2C lub SPI. Wyboru dokonuje się podłączając odpowiednio wyprowadzenia.
Jeśli już koniecznie ma to być ekspander, to szybszy niż PCF8574A, najlepiej 16 bit albo SPI.
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości