LCD Display 12864

Hallo zusammen,

ich habe mehre 16x2 und/oder 20x4 Lcd Displays ohne Probleme mit diesen kleinen I2C-Adaptern im
Einsatzt (16 Polig)

Gibt es einen Trick (Anleitung) wie ich auch ein 12864 Display (20 Polig) mit diesen Adaptern betreiben
kann ?

Ulli

Wenn Du ein Datenblatt UND eine Lib für den Controller auf dem 12864 hast sollte das gehen.
Mit der Lib für Text-LCDs wird das wohl nicht gehen.

Erst mal Danke,

aber die Frage bezog sich mehr auf die Verschaltung.
Der I2C-Adapter hat 16 Pole, das Display 20.

Ulli

Hallo,
dann vegleiche doch einmal die Zuordnungen Display 16pol-Display 20pol. Könnte ja sein, das bei dem 20 pol. 4 Pin´s n/a sind.
Oder Du postest einmal, welche 4 Pin (Bezeichnungen) über sind.
An dem 20pol. solltest Du 16 Pole habe, die mit dem 16pol Display überein stimmen. Einfach mal anschließen.
Gruß und Spaß
Andreas

beeble2:
Erst mal Danke,

aber die Frage bezog sich mehr auf die Verschaltung.
Der I2C-Adapter hat 16 Pole, das Display 20.

Ulli

Hoi Uli,
was nützt Dir aber die "Verschaltung" wenn Du keinen Treiber/keine Lib zum ansteuern hast ?
Sag uns doch mal, welcher Controller verbaut ist - da kann man was mit anfangen.
Zur Ansteuerung eines TextDisplays sind im 4Bit Modus ja nur 6 Kabel plus + und -, ansonsten sind es 8 Datenleitungen.

Für das Display brauchst du idR keinen I2C Adapter. Das Display hat eine SPI-Schnittstelle, die auch wunderbar mit dem Uno etc. funktioniert.

Achtung, Belegung kann zu ähnlichen Panels abweichen. Für den Sketch wird die U8GLib benötigt.

[1]  VSS  -> GND
[2]  VDD  -> 5V
[4]  RS   -> D10
[5]  R/W  -> D11
[6]  E    -> 13
[14] PSB  -> GND
[19] BLA  -> Widerstand -> 5V
[20] BLK  -> GND
#include "U8glib.h"
U8GLIB_ST7920_128X64_4X u8g(10);

void setup(void) {
}

void loop(void) {
  u8g.firstPage();
  do {
    u8g.setFont(u8g_font_unifont);
    u8g.drawStr( 0, 10, "Hallo Welt");
  } while ( u8g.nextPage() );

  delay(1000);
}

Oh ja, Danke !

Das habe ich natürlich gerade auch wo anders gefunden.
Der Wiederstand von + nach Bla ist der für den Kontrast, also Poti besser ?

Welcher Pin ist bei diesem Display für die Helligkeit ?

Ulli

BLA -> Backlight Anode
BLK -> Backlight Kathode

Das hat nichts mit dem Kontrast zu tun. Hier reicht ein Widerstand, kannst aber auch einen Poti nehmen. Die Widerstandswert musst du selber rausfinden, was dir am besten auskommt. Fange mit einem 2k Widerstand an und gehe langsam runter.
Alternativ Poti mit 330Ohm Widerstand in Reihe.

Kontrast muss bei dem Display nicht gestellt werden.

Das heißt mit dem Wiederstand stelle ich die Displayhelligkeit ein !?

Ulli

beeble2:
Das heißt mit dem Wiederstand stelle ich die Displayhelligkeit ein !?

Ulli

Ja, die LED der HG-Beleuchuntg

sschultewolter:
Für das Display brauchst du idR keinen I2C Adapter. Das Display hat eine SPI-Schnittstelle, die auch wunderbar mit dem Uno etc. funktioniert.

Achtung, Belegung kann zu ähnlichen Panels abweichen. Für den Sketch wird die U8GLib benötigt.

[1]  VSS  -> GND

[2]  VDD  -> 5V
[4]  RS   -> D10
[5]  R/W  -> D11
[6]  E    -> 13
[14] PSB  -> GND
[19] BLA  -> Widerstand -> 5V
[20] BLK  -> GND






#include "U8glib.h"
U8GLIB_ST7920_128X64_4X u8g(10);

void setup(void) {
}

void loop(void) {
  u8g.firstPage();
  do {
    u8g.setFont(u8g_font_unifont);
    u8g.drawStr( 0, 10, "Hallo Welt");
  } while ( u8g.nextPage() );

delay(1000);
}

Geht das mit den kleinen Displays auch ? Bis auf den PSB-Pin haben die doch
auch alle Anschlüsse ?

Wenn ja, wofür dann die I2C Adapter ?
Macht der parallele Betrieb überhaupt SInn ? Braucht doch nur mehr Strippen.

Ulli

Hallo,

das geht leider nicht. Der PSB Kontakt ist für die Umschaltung wichtig.

PSB=0 : Serial Mode
PSB=1 : 8/4Bit Parallel Bus Mode

Somit kann man davon ausgehen, dass PSB intern auf der Steuerplatine auf 1 gestellt ist. Ich habe hier noch 20 LCDs mit 16x2 rumliegen ohne I2C. Werde mich nachher mal einlesen, ob über die Jumpereinstellung das gelöst werden kann.

Warum I2C? Es gibt Adapter Platinen, die über Seriell, SPI oder I2C funktionieren. Nicht jedes System hat zwingend alle Bussysteme onboard. I2C hat im Vergleich zum SPI den Vorteil, das es noch weniger Pins verbraucht. Der I2C Bus braucht beim Uno nur A4/A0, die SPI Schnittstelle 10,11,13.

EDIT:

Nein geht nicht! Habe aber ein kleines Tutorial gefunden, bei dem es mit 74HC595 gelöst wird
http://www.instructables.com/id/3-Wire-HD47780-LCD-for-less-than-1-dollar/all/?lang=de

Finde das aber als nicht optimal. Da kann man genausogut die I2C Platinen nehmen.