Forum: Projekte & Code 16-Segment LCD von Pollin mit Arduino (naked)


von Axel S. (a-za-z0-9)


Angehängte Dateien:

Lesenswert?

Moin,

hier beschreibe ich wie man das LCD DENSITRON PC-6749-AAW (Pollin Nr. 
120818, €0,95 .. €1,50) ansteuert. Diese Anleitung zeigt auch gleich, 
wie man einen Arduino nano (z.B. ebay Nr. 371179047627, €2,70) unter 
Ausschluß der Arduino-Library programmiert. Also praktisch wie einen 
fast nackten ATmega328p.

Ganz zu Beginn eine Warnung: die Stiftleisten die den China-Arduinos 
beiliegen sind zu dick und ruinieren die Breadboard-Kontakte wenn man 
sie verwendet. Besser nimmt man dünnere Kontaktstifte wie z.B. Reichelt 
AW 122/20 (€0,84 / 20-polig).

Zum Start sollte man sich einen Schaltplan für den Arduino nano suchen. 
Aus dem Schaltplan kann man sich die Zuordnung von Arduino-Pinnummer 
(die ist auf der Platine aufgedruckt) und ATmega Portpin raussuchen. 
Denn wenn man naked programmiert, greift man ja direkt auf die ATmega 
Ports zu. Z.B. hängt die User-LED auf dem Board an Arduino D13 aka PB5.

Das LCD wird wie folgt mit dem Arduino nano verbunden:
1
ATmega328      Arduino         LCD  Pin Nr. 
2
GND............GND.............GND   (1)
3
Vcc............+5V.............Vcc   (2)
4
PD4............D4..............WCLK  (3)
5
PD3............D3..............DATA  (4)
6
PD2............D2..............CS    (5)

An Software braucht man arduino-mk (das gibt es für Debian/Ubuntu als 
fertiges Paket). Es geht zwar auch ohne, aber wenn man es verwendet 
kriegt man fertige Rezepte für make und eine definitiv funktionierende 
Toolchain.

Der Arduino nano kommt mit einen USB-seriell Wandler. Im Original ist es 
ein FT232, die China-Klone kommen teilweise mit fake-FT232, teilweise 
auch mit funktionsgleichen Alternativen. Meine z.B.
1
~ $lsusb 
2
...
3
Bus 003 Device 010: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter

Linux kennt die meisten dieser Adapter und lädt das usb-serial Modul. 
Das sollte man nach dem Anstecken des Arduino an den USB überprüfen:
1
~ $dmesg | fgrep "attached to"
2
[10034.534708] usb 3-6.2: ch341-uart converter now attached to ttyUSB0

Hier erscheint der Arduino also als /dev/ttyUSB0.

Jetzt kann man das angehängte ZIP auspacken und mit "make" compilieren. 
Wenn das klappt kann man es mit "make upload" flashen. Wenn alles 
richtig ist erscheint auf dem Display jetzt "LoL" (siehe Foto).

Nun kann man sich mit einem beliebigen Terminalprogramm mit dem Arduino 
verbinden und Zeichen senden. Ich verwende z.B.
1
~ $picocom /dev/ttyUSB0 
2
picocom v1.7
3
4
port is        : /dev/ttyUSB0
5
flowcontrol    : none
6
baudrate is    : 9600
7
parity is      : none
8
databits are   : 8
9
...

Achtung: Baudrate und Datenformat (8N1) muß man u.U. vorher einstellen.

Jedes Zeichen das man eingibt, sendet der Arduino zurück. Außerdem wird 
es in den 3 Zeichen fassenden Buffer eingeschoben und angezeigt. Zeichen 
die im 16-Segment Zeichensatz fehlen, werden als Pseudozeichen mit allen 
Segmenten eingeschaltet angezeigt.

Wenn man den seriellen Port auf ATmega und(!) Host-Seite passend 
konfiguriert, kann man natürlich auch höhere Baudraten fahren. Auf jeden 
Fall bekommt man zum Preis von 2 Pins (UART RxD, TXD) einen sehr 
praktischen Kanal für Debug-Ausgaben.

Ich hoffe es hilft jemandem.

von Axel S. (a-za-z0-9)


Angehängte Dateien:

Lesenswert?

Hier noch ein zweites (eigentlich mein erstes) Demoprogramm für das 
Pollin-LCD. Es zeigt einfach den kompletten Zeichensatz in einer 
Endlosschleife mit 500ms Delay an.

Hardware ist genau die gleiche. Und wieder "make upload"

von mitleser (Gast)


Lesenswert?

Hallo,

habe noch nicht alles durchgelesen,
aber DANKE schonmal für deine Mühe.

Gruß

von Won K. (Firma: Outside the Asylum) (the_sane)


Lesenswert?

Die Verwendung als USB-Display ist interessant, ich hab die immer nur 
als Temperaturanzeige benutzt.

von Axel S. (a-za-z0-9)


Lesenswert?

Won K. schrieb:
> Die Verwendung als USB-Display ist interessant, ich hab die immer nur
> als Temperaturanzeige benutzt.

Hmm. Als Anwendung "USB-Display" war das gar nicht gedacht, mehr als 
Demo. Ehrlich gesagt finde ich die Displays (also das Segment-Pattern) 
ziemlich häßlich. Und 3 Stellen sind für nahezu nichts zu gebrauchen.

Interessanter finde ich die Verwendung der Platine als LCD-Controller 
für andere nackte LCD-Gläser. Der HT1621 ist relativ schnuckelig. Mit 
ein bißchen Geschick kriegt man Fädeldraht an die Pads gelötet an denen 
jetzt das Glas mit so einem Zebra-Klebestreifen angeschlossen ist. Dann 
kann man Gläser bis 4 Backplanes und 17 Segmente ansteuern.

von Won K. (Firma: Outside the Asylum) (the_sane)


Lesenswert?

Axel S. schrieb:
> Ehrlich gesagt finde ich die Displays (also das Segment-Pattern)
> ziemlich häßlich.

naja, als nummerische Anzeige mit Low, Err, Off gehen die und für den 
Preis ist es ideale Bastelware.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Naja, für den Preis gibt es auch Displays mit HD44780, die richtige 
Zeichen darstellen können --- und mehr als nur drei.

Das C0802 kostet < 1 EUR und hat zwei Zeilen à acht Zeichen:

http://www.pollin.de/shop/dt/NzczOTc4OTk-

Und das hier für 1 EUR
http://www.pollin.de/shop/dt/MTYwOTc4OTk-

ist immerhin ein Graphikdisplay; auch wenn Pollin keine Daten 
veröffentlicht, hat hier 
Beitrag "Display von Pollin - Datenblatt - Ansteuerung" jemand alles 
wesentliche dazu herausgefunden und eine Ansteuerung entwickelt.

Das Densitron-Display hat eine Hintergrundbeleuchtung, das ist aber auch 
ihr einziger Vorteil.

von google (Gast)


Angehängte Dateien:

Lesenswert?

Der HT1621(B) ist ein sehr interessanter Chip für die ganzen 
Pollin-Gläser, z. B. das WD-T1703L und ähnliche. Es gibt ihn in China 
als SSOP48 für Centbeträge zu kaufen. Hab mir ein Adapterboard (auf 
Arduinosprache: breakout ;-) gebaut, hab aber gerade keine Zeit, 
weiterzumachen.

von Axel S. (a-za-z0-9)


Lesenswert?

google schrieb:
> Der HT1621(B) ist ein sehr interessanter Chip für die ganzen
> Pollin-Gläser, z. B. das WD-T1703L und ähnliche. Es gibt ihn
> in China als SSOP48 für Centbeträge zu kaufen.

Ooh. Guter Hinweis. €2,40 für einen Zehnerpack sind in der Tat
günstig. Kein Grund, Pollin noch Geld für die Displays in den
Rachen zu werfen, zumal da nicht mal alle Pins rausgeführt sind.

> Hab mir ein Adapterboard (auf Arduinosprache: breakout ;-)
> gebaut, hab aber gerade keine Zeit, weiterzumachen.

Nett. Du hast nicht zufällig noch Platinen übrig? <zwinker>

von google (Gast)


Angehängte Dateien:

Lesenswert?

Sorry, dass ich diesen thread noch mal hochhole. Es gibt bei Pollin 
derzeit dieses Display:

http://www.pollin.de/shop/dt/MTQ1ODc4OTk-/Bauelemente_Bauteile/Aktive_Bauelemente/Displays/LCD_Modul_VARITRONIX_VIM878.html

Mit dem HT1621B ist es kein Problem, dieses Display anzusteuern, siehe 
dazu Fotos.

(Die dazugehörige Test-Software basiert auf einer angepaßten 
Arduino-Bibliothek, die gehört nicht in diesen thread. ;-)

von Reinhard K. (rkopka)


Angehängte Dateien:

Lesenswert?

Für alle, die das Display auf die Schnelle mit der Standard Arduino IDE 
testen wollen, hier ein einfacher Sketch, der im Wesentlichen die SW von 
Axel Schwenke enthält.

RK

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.