Skocz do zawartości

Arduino termometr na wyświetlaczu Fujitsu VF60 UART?


SP9KMG

Pomocna odpowiedź

Witam kupiłem na alegro wyświetlacz LCD VFD marki Fujitsu VF60 z kasy fiskalnej z myślą zrobienia termometru jednopunktowego na czujniku DS18B20, projektów w sieci jest mnóstwo. Po rozkręceniu obudowy okazało się że na wejściu jest scalak MAX232 i wyświetlacz jest sterowany UART-em. Pomoże ktoś w napisaniu kodu aby zrobić taki termometr?

694809301_FujitsuVF60.thumb.jpg.95846c49c91a35069dbd72a6aa2615c9.jpg

EjN-ST-A10_LIUST-5X_CustomerDisplay.pdf

  • Lubię! 1
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

To nie wiem na co czekasz 😄 skoro wbudowana przejściówka to należy sprawdzić czy ten panel się komunikuje, a później dobudować układ z małym prockiem ośmiobitowym i wysyłać mu dane. 

Link do komentarza
Share on other sites

udało mi się skopiować komendy do tego wyświetlacza, tylko jak teraz z tego zrobić termometr z czujnikiem DS18B20

void VFDreset()
{
  Serial.write(0x1B);
  Serial.write(0x5B);
  Serial.write(0x30);
  Serial.write(0x6D);
  VFDcountry();
}

void VFDclear()
{
  Serial.println("");
  Serial.write(0x1B);
  Serial.write(0x5B);
  Serial.write(0x32);
  Serial.write(0x4A);
  Serial.write(0x0D);
}

void VFDdel2end()
{
  Serial.write(0x1B);
  Serial.write(0x5B);
  Serial.write(0x30);
  Serial.write(0x4B);
}

void VFDcountry()
{
  Serial.write(0x1B);
  Serial.write(0x52);
  Serial.write(0x0D);
}

void VFDdimmer(int amount)
{
  Serial.write(0x1B);
  Serial.write(0x5C);
  Serial.write(0x3F);
  Serial.write(0x4C);
  Serial.write(0x44);
  switch (amount)
  {
    case 0:
      Serial.write(0x30); // 0% Dimmer
      break;
    case 20:
      Serial.write(0x31); // 20% Dimmer
      break;
    case 40:
      Serial.write(0x32); // 40% Dimmer
      break;
    case 60:
      Serial.write(0x33); // 60% Dimmer
      break;
    case 80:
      Serial.write(0x34); // 80% Dimmer
      break;
    case 100:
      Serial.write(0x35); // 100% Dimmer
  }
}

void VFDchars()
{
  for (int i = 21; i < 256; i++)
  {
    Serial.write(i);
    delay(30);
  }
}

void VFDbackspace()
{
  Serial.write(0x08);
}

void VFDhorizontaltab()
{
  Serial.write(0x09);
}

void VFDcursormode(int amount)
{
  Serial.write(0x1B);
  Serial.write(0x5C);
  Serial.write(0x3F);
  Serial.write(0x4C);
  Serial.write(0x43);
  switch (amount)
  {
    case 0:
      Serial.write(0x30); // cursor off
      break;
    case 1:
      Serial.write(0x31); // cursor blink
      break;
    case 2:
      Serial.write(0x32); // cursor on
  }
}

void VFDdisplayattribte(int amount)
{
  Serial.write(0x1B);
  switch (amount)
  {
    case 0:
      Serial.write(0x5B); // blink
      Serial.write(0x35);
      Serial.write(0x6D);
      break;
    case 1:
      Serial.write(0x5B); // reverse
      Serial.write(0x37);
      Serial.write(0x6D);
      break;
    case 2:
      Serial.write(0x5B); // blink/reverse reset
      Serial.write(0x30);
      Serial.write(0x6D);
      break;
    case 3:
      Serial.write(0x23); // Horizontal Double Set
      Serial.write(0x36);
      break;
    case 4:
      Serial.write(0x23); // Horizontal Double ReSet
      Serial.write(0x35);
  }
}

void VFDsetCursor(byte position)
{
  Serial.write(0x1B);
  Serial.write(0x5B);
  if (position < 21) {
    Serial.write(0x31);
  }
  else {
    Serial.write(0x32);
  }
  Serial.write(0x3B);
  if (position < 21) {
    Serial.write(0x30 + position);
  }
  else {
    Serial.write(0x30 + position - 20);
  }
  Serial.write(0x48);
}

void VFDscroll(int amount)
{
  /*Serial.write(0x1B);
    Serial.write(0x5C);
    Serial.write(0x3F);
    Serial.write(0x4C);
    Serial.write(0x48);
    Serial.write(0x36);  //Pm   6
    Serial.write(0x3B);
    Serial.write(0x31);  // Pl  1
    Serial.write(0x3B);
    Serial.write(0x32);  //Pt scrolll speed  31h / 32H 10/20ms
    Serial.write(0x3B);
    Serial.write(0x31);   ///Pn
    Serial.write(0x3B);
    Serial.write(0x31); //Pd  1
  */
  Serial.write(0x1B);
  Serial.write(0x5C);
  Serial.write(0x3F);
  Serial.write(0x4C);
  Serial.write(0x4D);
  Serial.write(0x53);
}

void VFDall()
{
  Serial.write(0x0F);
}

 

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.