Hallo,
ich habe während meines verlängerten Osterurlaubes mit ein paar LCDs aus
meiner Krabbelkiste gespielt. Viele Displays sind von Pollin und haben
keine Datenblätter.
Bei Pollin gibt es u.a. das Display HB10401 (Bestellnr. 121 148) für
derzeit 1,75€:
http://www.pollin.de/shop/dt/MTU4ODc4OTk-/Bauelemente_Bauteile/Aktive_Bauelemente/Displays/LCD_Modul_HB10401_4x10.html
Da hier die Vermutung nahe lag, dass es HD44780 kompatibel ist, hatte
ich große Hoffnung, dass sich die Pinbelegung durch herumprobieren
herausfinden lässt. Das Ergbnis möchte ich euch nicht vorenthalten, da
ich dennoch mehrere Stunden herumprobieren musste:
Stiftleiste 2x12 Pins (davon nur 20 Pins verwendet):
1
a01: (NC)
2
a02: RS
3
a03: EN
4
a04: Button DOWN
5
a05: Button RIGHT
6
a06: Button FUNC RIGHT
7
a07: D1
8
a08: D3
9
a09: D5
10
a10: D7
11
a11: VCC/+5V
12
a12: (NC)
13
14
b01: (NC)
15
b02: RW
16
b03: Button UP
17
b04: Button LEFT
18
b05: Button FUNC LEFT
19
b06: D0
20
b07: D2
21
b08: D4
22
b09: D6
23
b10: V0/Contrast (0-5V)
24
b11: VSS/GND
25
b12: (NC)
Das LCD wird 2-zeilig initialisiert. Der DDRAM Addresbereich teilt sich,
wie bei HD44780 üblich, folgendermaßen auf:
1
Zeile 1: 0x00-0x09
2
Zeile 2: 0x40-0x49
3
Zeile 3: 0x0A-0x13
4
Zeile 4: 0x4A-0x53
Die Buttons sind auf einer Seite gegen Masse gelegt. Man kann also mit
Pull-Up diese Tasten direkt abfragen.
google schrieb:> Ok, Du warst schneller, ;-)
Einmal wollte ich schneller wie der Meister der Display-Analysen sein
;-)
OT: Mein Traum wäre es, den WU2911A zum Laufen bekommen. Davon habe ich
fast 10 Stück hier rumliegen. Auch wenn sich dieses LCD beim
Herumprobieren (zufälliges Ansteuern) wie ein HD44780 (Custorblinken,
2-/4-Zeilen Modus etc.) verhalten hatte, scheint die Belegung und
Ansteuerung ja anders zu sein.
OT2: Sowetwas wie dein Adapter für die grüne Pest in deinem Blog werde
ich mir auch mal fertigen lassen, von den VQE21 habe ich auch noch mind.
50 Stück im Beutel liegen, evtl. auch mit dem STM8S105S4T6C zur
Ansteuerung und als SPI Slave, der ja letztes Jahr ein richtiges
Schnäppchen war, wo ich ebenfalls zugeschlagen habe.
Mario L. schrieb:> ich habe während meines verlängerten Osterurlaubes mit ein paar LCDs aus> meiner Krabbelkiste gespielt.
Hast Du das Display noch im Versuchsaufbau? Kannst Du mal bitte testen,
ob das HB10401 auch mit 3.3V Versorgungsspannung zufrieden ist, notfalls
mit einer negativen Vo?
Und könntest Du bei der Gelegenheit mal den ungefähren Stromverbrauch
ermitteln? Ich würde es gern in einer LiPo-versorgten 3.3V Anwendung
einsetzen.
Den Versuchsaufbau habe ich nicht mehr, muss ich erst alles wieder
aufbauen, vielleicht in den nächsten Tagen, da diese Info mich auch
interessiert. Aus dem Kopf kann ich aber schon sagen, dass negative
Kontrastspannung nötig sein wird. Bei Vcc=5V war diese schon nahe bei
0V.
Ja, das Display und der Controller funktionieren auch mit negativer
Kontrastspannung bei 3,3V.
Bei VCC=5V:
Hier kann V0 offen bleiben, dann stellen sich bei mir etwa dort 0,5V
(gegen Masse) ein. Es ist also kein Poti zur Kontrasteinstellung nötig.
Strom messe ich bei offenem V0 etwa 1,2mA bei stehender Anzeige
und etwa 1,4mA bei dynamischen Inhalt.
Bei VCC=3,3V:
Hier muss V0 etwa -1,2V (gegen Masse) sein. Strom messe ich so
1,0-1,1mA.
Hallo,
vielen Dank für die Infos zum LCD.
Ich habe versucht, das LCD per Arduino (LiquidCrystal Bibliothek)
anzusteuern, leider ohne Erfolg (weder 4-bit noch 8-bit Mode). Zeile 1
und Zeile 3 zeigen jeweils 10 schwarze Balken an. Es sieht so aus, als
klappe die Initialisierung nicht.
Hast du das LCD im 4-bit oder 8-bit Modus angesteuert?
Anscheinend unterscheidet sich bei manchen HD44780-kompatiblen LCDs die
Initialisierungssequenz vom Original.
Könntest du bitte deinen Code bzw. die Initialisierungssequenz posten?
Danke.
Ich habe in AVR Assembler getestet, der wesentliche Teil der 4-Bit
Initialisierung davon siehe unten. Die Initialisierung erfolgt mit 3 x
Nibble $3 und einmal Nibble $2 mit einigem Delay dazwischen.
Man mag mir hier den Wischiwaschi-Code verzeihen, da ich ja nur einfach
das Ding mal testen wollte:
1
main:
2
; Init Control Pins
3
in pdat,PORTD
4
cbr pdat,PIND_RS|PIND_RW|PIND_EN|PIND_TEST
5
out PORTD,pdat
6
7
in a,DDRD
8
sbr a,PIND_RS|PIND_RW|PIND_EN|PIND_TEST
9
out DDRD,a
10
11
; Init Data Pins
12
clr pdat
13
out PORTB,pdat
14
ldi a,0xF0
15
out DDRB,a
16
17
rcall util_delay_1ms
18
19
ldi a,0x03 ; Reset LCD (Instruction Nibble is $3), Set 3 Times
20
rcall set_nibble
21
rcall util_delay_10ms
22
ldi a,0x03
23
rcall set_nibble
24
rcall util_delay_10ms
25
ldi a,0x03
26
rcall set_nibble
27
rcall util_delay_10ms
28
29
ldi a,0x02 ; try to enable 4bit mode (instruction nibble is $2)
30
rcall set_nibble
31
rcall util_delay_10ms
32
33
ldi a,0x28
34
rcall set_byte
35
rcall util_delay_1ms
36
ldi a,0x14
37
rcall set_byte
38
rcall util_delay_1ms
39
ldi a,0x06
40
rcall set_byte
41
rcall util_delay_1ms
42
; ... and so on ...
43
main_end:
44
rjmp main_end
45
46
set_byte:
47
push a
48
49
swap a
50
rcall set_nibble
51
swap a
52
rcall set_nibble
53
54
pop a
55
ret
56
57
set_nibble:
58
push a
59
push pdat
60
61
andi a,0x0F
62
swap a
63
out PORTB,a
64
rcall util_delay_10us
65
in pdat,PORTD
66
sbr pdat,PIND_EN|PIND_TEST
67
out PORTD,pdat
68
rcall util_delay_1ms
69
cbr pdat,PIND_EN|PIND_TEST
70
out PORTD,pdat
71
rcall util_delay_1ms
72
73
pop pdat
74
pop a
75
ret
Kann auch nicht ausschliessen, dass da ein Verwechsler in der
Pinbelegung ist, da bei meinem Testadapter für das LCD die Anschlüsse
gekreuzt waren.
Ich hab es jetzt auch mit dem Arduino im 4-bit Mode hingekriegt. Mein
Fehler war, dass ich die 4 Datenleitungen aus Versehen seitenverkehrt
angeschlossen hatte. Kaum macht man's richtig, schon geht's ... ;-)
Danke für die ganzen Infos zum LCD.
Hi,
erstmal vielen Dank für die Infos.
Ich will das Display für ein kleines Projekt verwenden frage mich gerade
was das für eine Stiftleiste ist.
Wenns dafür Buchsen gibt könnte ich mir das Löten sparen.
Allerdings messe ich etwa 1.1mm zwischen den Kontakten und Stiftleisten
mit 1.1mm Pitch finde ich absolut garkeine..
Vielleicht weiß von euch ja jemand was das für eine Stiftleiste ist.
Bild von Pollin http://cdn.pollin.de/article/xtrabig/XB121148.JPG
Hallo,
das Display hat einen etwas speziellen Zeichensatz.
Hab das ganze mal ausgelesen, siehe Anhang, falls es jemand benötigt.
Die Stiftleise ist übrigens eine mit Rastermaß 1,27.
Der Zeichensatz ist wohl ein customisierter Satz für den "Siemens Logo",
wo dieser wohl für verwendet wurde. Daher eigenet sich das Display wohl
sehr gut für technische Darstellungen (natürlich mit den begrenzten
Möglichkeiten der Textdarstellung).
Ja, die Vermutung hatte ich auch. Aber selbst mit diesem Wissen spuckte
Google bei mir nichts zum Zeichensatz aus. Dafür spricht vor allem die
Darstellung von Logikpegeln und Flanken.
HB10401 und RaspberryPi
Hat hier jemand das HB10401 an einen Raspi am laufen?
Ich habe die Adaufruit Library für das HD47780 Hitachidisplay Adafruit
CharLCD genutzt.
Die Zeile 1 und 2 Adressen wurden angepasst.
Zeile 1: 0x00-0x09
Zeile 2: 0x40-0x49
Zeile 3: 0x0A-0x13
Zeile 4: 0x4A-0x53
Leider schaffe ich es nur, dass der Cursor als line sichtbar wird und
dann als Klotz blinkt (erstmal gut).
Die Textausgabe klappt nicht (Das Testprogramm schreibt Text und lässt
diesen duchscrollen). Mit einem normalen HD47780 klappt das.
Hat jemand einen Tipp wie ich das hinbekomme?
Ich brauche die vier Zeilen für meine Wetterstation :-)
Gruß Ludwich
Hallo Leute,
darf ich den Thread mal wieder ausgraben?
Seid ihr inzwischen weiter gekommen mit dem Display?
Ich verwende das Teil mit Erfolg in einer Lüftersteuerung.
Basiert auf einem Arduino Nano V3 den ich über einen I2C-Converter an
das Display angeflanscht habe.
Eure Infos haben mir dabei sehr geholfen!
Der Trick bei der Ansteuerung war, in der "NewliquidCrystal" LIB von
Francisco Malpartida einen weiteren Datensatz im setCursor()-Teil
anzulegen, der die Startpositionen im Display-RAM auf die korrekten
Positionen übersetzt.
Andere Steuercommandos, natürlich auch die normale Textausgabe,
funktionieren einwandfrei.
Jetzt will ich den Cursor dazu verwenden um in einem Menü Werte zu
selektieren und diese dann per Tasten zu verändern.
Leider wird der Cursor (egal ob blinkender Block oder Underline) immer
nur kurz an der vorgesehenen Stelle angezeigt und hängt danach
unverrückbar in der linken unteren Ecke :(
Liegt das am Controller des Display oder hat meine Menüsteuerung hier
eine Macke?
Danke!
Gruß, Harald
Ich habe noch ein bisschen mit der verwendeten Menü-Lib rumgespielt und
festgestellt, dass das Problem von der LIB kommen muss.
Die Lib stellt neben der Darstellung der Menü-Struktur auch einen
Mechanismus zur Verfügung, der die konkurierende Abarbeitung von
quasiparallelen Tasks erlaubt.
Offenbar funkt mir eine der anderen Threads dazwischen, indem dort (wo
auch immer...) die Cursorposition immer hart gesetzt wird, ohne den
vorhergehenden Status zu retten und wiederherzustellen.
Gruß, Harald
Mario L. schrieb:> Bei Pollin gibt es u.a. das Display HB10401 (Bestellnr. 121 148) für> derzeit 1,75€:>> https://www.pollin.de/p/lcd-modul-hb10401-4x10-121148>> Stiftleiste 2x12 Pins (davon nur 20 Pins verwendet):
Vielen Dank für die Veröffentlichung der Anschlußbelegung!
Zum Ausgleich wird hier nun eine Erweiterungsplatine vorgestellt, mit
der ein einfacher Anschluß dieses Displays ermöglicht wird und
gleichzeitig die Tasten über den Multiplexer CD4051 ausgelesen werden
können.
Das Ziel war es eine kleine Adapter-Platine zu schaffen, die eine
kompatible Anschlußbelegung zu einem Standard 16X2 LCD-Display zur
Verfügung stellt.
(Damit das Display korrekt ausgerichtet ist, ragt die Platine seitlich
heraus. Eine weitere Variante die unter das Display geklappt wird ist in
Planung.)
Darüber hinaus ist eine optionale Ansteuerung über I2C mit nur 4
Anschlußdrähten mit einem PCF8574 möglich.
Eine Library für Arduino wurde angepaßt und Funktionen zum Auslesen der
Tasten über I2C wurden hinzugefügt.
Wenn jemand Interesse an solchen Platinen hat, gibt es noch eine
bestimmte Anzahl die übrig sind und erworben werden können:
* 5 Stück für 2,50 Euronen
* Versand für 1,- Eurone als Standardbrief
* Optional CD4051 passend in SOP16 für 0,24 Euronen pro Stück
(PCF8574 sind leider keine überzählig vorhanden.)
Einfach hier über Email Kontakt aufnehmen.
Nachtrag:
=========
Ein passende Buchse war für das Display nicht aufzufinden.
Daher wird der Kunstoff-Teil von dem Stecker der Display-Platine einfach
vorsichtig abgezogen und dann direkt die Pinne in die Bohrungen der
Platine eingeführt und verlötet.
In der Schaltung ist ein optionaler Pegelwandler für 5V <-> 3,3V für I2C
vorgesehen.
Es gibt inzwischen nun auch eine Variante mit gespiegeltem
Anschluss-Stecker, die unter die Display-Platine geklappt ist.
In dem Bild etwas unschön aber sehr stabil verklebt.
So ergibt sich ein schönes kompaktes I2C-Display bei Bedarf mit
Tastenbedienung.
Dafür existiert ein gedruckter Rahmen in den Ersatz-Gummi-Tasten für
eine Play-Station eingelegt werden können.
Hallo.
Ich möchte kurz ergänzen, dass ich eine Möglichkeit für den Gegenstecker
gefunden habe:
https://www.ebay.de/itm/183794057215
Zwar einreihig, aber 2-reihig nebeneinander passt es!
Entsprechend auf 2x 10Pins gekürzt natürlich.
Grüsse!
Update:
Der Preis ist zur Zeit sogar auf 25 Cent gefallen, was sogar ein wenig
ärgerlich ist, weil bereits ein Vorrat von diesen Displays angelegt
worden ist. :-)
https://www.pollin.de/p/lcd-modul-hb10401-4x10-121148Gerrit schrieb:> Hallo.>> Ich möchte kurz ergänzen, dass ich eine Möglichkeit für den Gegenstecker> gefunden habe:> https://www.ebay.de/itm/183794057215>> Zwar einreihig, aber 2-reihig nebeneinander passt es!> Entsprechend auf 2x 10Pins gekürzt natürlich.>> Grüsse!
Buchsenleisten sind eigentlich nicht erforderlich, weil man die Platine
direkt mit den Pins verlöten kann.
Inzwischen ist die Vorbereitung sogar noch einfacher, da mit einem
kleinen Seitenschneider einfach nur der überstehende Rand von dem
Kunstoff-Stecker weg geknabbert wird, so daß der Rest unten zur
Stabilisierung stehen bleibt. Dann kann die Platine aufgesteckt und
verlötet werden.
Karsten W. schrieb:> Der Preis ist zur Zeit sogar auf 25 Cent gefallen, was sogar ein wenig> ärgerlich ist, weil bereits ein Vorrat von diesen Displays angelegt> worden ist. :-)
Nunja, man muss beizeiten was DAU-kompatibles an Software
veröffentlichen, wenn man mit dem Horten von Beständen der
Pollin-Resterampe Geld machen will...
Attaktiv ist nach wie vor das MC28G03A mit inzwischen nur noch
55Cent/Stück. Displayechnisch natürlich finsterste Steinzeit, aber es
gibt nix, was für auch nur näherungsweise für diesen Preis ein
320x240-Farbdisplay mit Touch liefern kann.
Interessant bei diesem Teil ist, dass es ja durchaus schon frei
verfügbare Implementierungen mit fast allen Schikanen gibt. Also
("Treiber"-)Software und fertiges Hardware-Design (allerdings ohne
Touch).
Ist halt nur nicht Arduino-kompatibel und verfehlt damit die heutige
Zielgruppe solcher Lösungen.
Ob S. schrieb:> Attaktiv ist nach wie vor das MC28G03A mit inzwischen nur noch> 55Cent/Stück. Displayechnisch natürlich finsterste Steinzeit, aber es> gibt nix, was für auch nur näherungsweise für diesen Preis ein> 320x240-Farbdisplay mit Touch liefern kann.https://www.pollin.de/p/lcd-modul-mit-touch-und-led-beleuchtung-mc28g03a-120817
Hier steht das da kein Controller enthalten ist?
Beitrag "Farbdisplay von Pollin MC28G03A"
Wie sieht dann prinzipiell die Ansteuerung aus und wie wird das Teil
kontaktiert?
Das schöne an den einfachen LCD-Displays ist das nur ein paar Byte
Treiber erforderlich sind und man nicht versucht ist, eine aufwendige
graphische Gestaltung vornehmen zu müssen.
Bei den 4 Zeilen kann man einfach und übersichtlich notwendige
Informationen darstellen.
Karsten W. schrieb:> https://www.pollin.de/p/lcd-modul-mit-touch-und-led-beleuchtung-mc28g03a-120817> Hier steht das da kein Controller enthalten ist?
Ist auch keiner drin.
> Wie sieht dann prinzipiell die Ansteuerung aus und wie wird das Teil> kontaktiert?
Wie das Teil kontaktiert wird, läßt sich sogar der mageren Doku von
Pollin entnehmen. Bezüglich der Ansteuerung gibt es, wie gesagt, fertige
Lösungen. Bemühst du einfach mal selber Google. Findest du sehr
wahrscheinlich auch die hierselbst in "Projekte und Code"
veröffentlichten.
> Bei den 4 Zeilen kann man einfach und übersichtlich notwendige> Informationen darstellen.
Kommt drauf an. Längst nicht jedes Problem aus der Praxis läßt sich
übersichtlich und gut bedienbar mit einer 4xIrgendwas-Textanzeige
erschlagen. Ich gehe z.B. davon aus, dass du auch dieses Forum weder mit
einer solchen Anzeige liest noch unter Benutzung einer solchen darin
schreibst.
Möglich ist das natürlich (irgendwie). Aber ganz sicher alles andere als
komfortabel...
Ob S. schrieb:> Wie das Teil kontaktiert wird, läßt sich sogar der mageren Doku von> Pollin entnehmen. Bezüglich der Ansteuerung gibt es, wie gesagt, fertige> Lösungen. Bemühst du einfach mal selber Google. Findest du sehr> wahrscheinlich auch die hierselbst in "Projekte und Code"> veröffentlichten.
Warum hast Du dieses Display hier in den Thread für das Text-Display
eingebracht?
Wenn Du es als Alternative schmackhaft machen möchtest, wären ein paar
"Eckdaten" schon sehr hilfreich, bevor man anfängt sich in dieses
komplette Projekt einzuarbeiten.
Das fängt damit an ob man preiswert und problemlos Steckverbinder für
die Folienanschlüsse von dem Display kaufen kann?
Dann kommt die Frage wieviele Port-Anschlüsse für den Betrieb
erforderlich sind?
Danach stellt sich die Frage wieviel Flash- und RAM-Speicher ungefähr
die notwendige Ansteuerung verschlingt?
> Kommt drauf an. Längst nicht jedes Problem aus der Praxis läßt sich> übersichtlich und gut bedienbar mit einer 4xIrgendwas-Textanzeige> erschlagen.
Nein - aber in diesem Thread geht es um ein einfaches und preiswertes
Display, das zudem ohne Hintergrundbeleuchtung auskommt und daher sogar
für den Batteriebetrieb gut zu gebrauchen ist.
> Ich gehe z.B. davon aus, dass du auch dieses Forum weder mit> einer solchen Anzeige liest noch unter Benutzung einer solchen darin> schreibst.
Was ist das nun für ein merkwürdiger Vergleich?
Hast Du dieses Touch-Display an einen PC angeschlossen? :-)
Auf eine weitere Anfrage hin wurden nun noch ein paar Platinen
nachproduziert. Somit sind diese noch immer verfügbar.
Von Bastler zu Bastler bleibt der Preis bestehen:
* 10 Stück für 5,00 Euronen (5 normal + 5 gespiegelt)
* Unversicherter Versand für 1,10 Euro als Kompaktbrief
Abschließend bekommt Ihr hier noch eine passende STL-Datei, um einen
Rahmen für das Display im 3D-Druck herstellen zu können.
Dieser Rahmen funktioniert zusammen mit Gummitasten, welche man als
Ersatztasten für eine Xbox 360 kaufen kann (Conductive Rubber Silicon
Pads for Microsoft Xbox 360).
Ein 5er Set von diesen Tasten bekommt man schon für 1,30 Euro.
Einfach passend ausschneiden und einlegen und dann den Rahmen mit
Heißkleber auf das Display kleben.
Die Tasten werden über den CD4051 und PCF8574 ausgelesen, wie hier in
der Schaltung zu sehen ist:
Beitrag "Re: Pollin Display HB10401"
Der passende Arduino-Treiber ist in dem Post ebenfalls enthalten.