Skocz do zawartości

Błąd wyświetlacza 2004A 20x4 podłączony do Arduino UNO R4 WIFI


mokon

Pomocna odpowiedź

Dnia 13.11.2024 o 17:41, mokon napisał:

Jak napisane w temacie mam problem z wyświetlaczem . Mój wyświetlacz wyświetla ciągle to samo. Moje płytka to Arduino UNO R4 WIFI.

 

Strzelam - źle wysterowany pin do regulacji kontrastu

Link do komentarza
Share on other sites

@mokon Bardzo często miewałem takie problemy (tylko że z wyświetlaczem 2x16), zwykle było to przez kod. Pokaż najlepiej cały kod który wgrałeś i biblioteki jakie zainstalowałeś.

Edytowano przez BeeKeyPro
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

#include <LiquidCrystal_I2C.h>
#include <ThreeWire.h>
#include <RtcDS1302.h>


//0x3F or 0x27
LiquidCrystal_I2C lcd(0x27, 20, 4);   //LCD Object

ThreeWire myWire(11, 10, 12);        // DAT, CLK, RST
RtcDS1302<ThreeWire> Rtc(myWire);    // RTC Object

void setup ()
{
  lcd.init();
  lcd.backlight();
  lcd.clear();

  Rtc.Begin();

  //RtcDateTime currentTime = RtcDateTime(__DATE__ , __TIME__);
  //Rtc.SetDateTime(currentTime);
}

void loop ()
{
  RtcDateTime now = Rtc.GetDateTime();
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("Date: ");
  lcd.print(now.Day());
  lcd.print("/");
  lcd.print(now.Month());
  lcd.print("/");
  lcd.print(now.Year());

  lcd.setCursor(0, 1);
  lcd.print("Time: ");
  lcd.print(now.Hour());
  lcd.print(":");
  lcd.print(now.Minute());
  lcd.print(":");
  lcd.print(now.Second());

  //Set the Date and Time Manually when '*' key is pressed
  char c = customKeypad.getKey();
  if (c == '*') {
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("Enter Year: ");
    int year = getData();

    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("Enter Month: ");
    int month = getData();

    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("Enter DayOfWeek: ");
    int day = getData();

    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("Enter Hours: ");
    int hour = getData();

    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("Enter Minutes: ");
    int minute = getData();

    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("Enter Seconds: ");
    int second = getData();

    RtcDateTime newTime = RtcDateTime(year, month, day, hour, minute, second);
    Rtc.SetDateTime(newTime);

  }
  
  delay(500);
}

int getData() {
  String container = "";
  lcd.setCursor(0, 1);
  while (true) {
    char c = customKeypad.getKey();
    if (c == '#') {
      break;
    } else if (isDigit(c)) {
      container += c;
      lcd.print(c);
    } else {
      //Nothing
    }
  }
  return container.toInt();
}

Miał to być wyświetlacz z modułem zegara czasu rzeczywistego DS1302 RTC.

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.