Skocz do zawartości

Brak wyświetlanego tekstu na wyświetlaczu


Pomocna odpowiedź

Napisano

Jako, że to jest mój pierwszy post na tym forum to witam serdecznie wszystkich użytkowników.

Dopiero zaczynam się bawić Arduino, parę dni temu przyszły mi podstawowe elementy.

Korzystałem z TEGO PORADNIKA. Po wgraniu standardowego kodu wyświetlacz jedynie zostaje podświetlony, lecz nie wyświetla się na nim żaden tekst.

Wygląda to tak:

Nie posiadam do niego potencjonometra (nic takiego nie miałem nawet w zestawie z wyświetlaczem), zapewne dla tego nie mogę ustawić odpowiedniego kontrastu. W powyżej wymienionym poradniku własnie takie wyświetlacz był podpisany jako źle ustawiony pod względem kontrastu. Jest możliwość abym mógł jako ustawić kontrast bez potencjonometra?

Niżej podaję kod jaki wgrywam (jest on dość krótki i był załączony od razu do wyświetlacza):

//Sample using LiquidCrystal library
#include <LiquidCrystal.h>

/*******************************************************

This program will test the LCD panel and the buttons
Mark Bramwell, July 2010

********************************************************/

// select the pins used on the LCD panel
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

// define some values used by the panel and buttons
int lcd_key     = 0;
int adc_key_in  = 0;
#define btnRIGHT  0
#define btnUP     1
#define btnDOWN   2
#define btnLEFT   3
#define btnSELECT 4
#define btnNONE   5

// read the buttons
int read_LCD_buttons()
{
adc_key_in = analogRead(0);      // read the value from the sensor 
// my buttons when read are centered at these valies: 0, 144, 329, 504, 741
// we add approx 50 to those values and check to see if we are close
if (adc_key_in > 1000) return btnNONE; // We make this the 1st option for speed reasons since it will be the most likely result
// For V1.1 us this threshold
/* if (adc_key_in < 50)   return btnRIGHT;  
if (adc_key_in < 250)  return btnUP; 
if (adc_key_in < 450)  return btnDOWN; 
if (adc_key_in < 650)  return btnLEFT; 
if (adc_key_in < 850)  return btnSELECT;  
*/

// For V1.0 comment the other threshold and use the one below:

if (adc_key_in < 50)   return btnRIGHT;  
if (adc_key_in < 195)  return btnUP; 
if (adc_key_in < 380)  return btnDOWN; 
if (adc_key_in < 555)  return btnLEFT; 
if (adc_key_in < 790)  return btnSELECT;   



return btnNONE;  // when all others fail, return this...
}

void setup()
{
lcd.begin(16, 2);              // start the library
lcd.setCursor(0,0);
lcd.print("Nacisnij switch"); // print a simple message
}

void loop()
{
lcd.setCursor(9,1);            // move cursor to second line "1" and 9 spaces over
lcd.print(millis()/1000);      // display seconds elapsed since power-up


lcd.setCursor(0,1);            // move to the begining of the second line
lcd_key = read_LCD_buttons();  // read the buttons

switch (lcd_key)               // depending on which button was pushed, we perform an action
{
  case btnRIGHT:
    {
    lcd.print("RIGHT ");
    break;
    }
  case btnLEFT:
    {
    lcd.print("LEFT   ");
    break;
    }
  case btnUP:
    {
    lcd.print("UP    ");
    break;
    }
  case btnDOWN:
    {
    lcd.print("DOWN  ");
    break;
    }
  case btnSELECT:
    {
    lcd.print("SELECT");
    break;
    }
    case btnNONE:
    {
    lcd.print("NONE  ");
    break;
    }
}

}

Też tak właśnie myślałem, kręciłem tym w obie strony po parę razy, ale zero efektu

[ Dodano: 27-07-2017, 18:02 ]

Czy jest w ogóle możliwość, że jakoś źle wpiąłem ten wyświetlacz w płytkę? Może dlatego nie wczytuje mi tekstu? Już sam nie wiem co tu jest nie tak...

Bardzo ciężko powiedzieć co może być źle - bo może być właściwie wszystko. Napisałeś, że korzystasz z kursu forbot-a, ale używasz zupełnie innego modułu wyświetlacza, innego kodu przykładowego i (chyba) nie-oryginalnego Arduino (wnioskuję po złączu widocznym na zdjęciu, ale mogę się mylić). Jak widzisz zmiennych jest dużo i ciężko powiedzieć co jest źle. W takiej sytuacji nalepiej jest uruchamiać program małymi krokami, sprawdzać czy działają proste rzeczy jak np. Linie wejścia-wyjścia, a dopiero później wgrywać coś bardziej skomplikowanego.

Jest jeszcze jedna możliwość - spróbuj nieco więcej pokręcić tym potencjometrem. Wygląda na wieloobrotowy, więc pełny zakres to może być nawet 20 obrotów, a kontrast może być blisko skrajnego położenia.

  • Lubię! 1

Udało mi się w końcu rozwiązać problem wraz z użytkownikami wykopu.

Okazało się, że miałem źle wpięty wyświetlacz (nie te piny), ale Elvis Ty też miałeś rację z tym potencjometrem, bo naprawdę musiałem nim jakieś 25 okrążeniem zrobić aby w końcu pojawił się tekst.

Także dzięki za pomoc 😉

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