Forum: Mikrocontroller und Digitale Elektronik Grafik LCD ansteuern


von Dennis N. (whoizzer)


Lesenswert?

Hallo Mikrocontroller Community,

wir haben vor zwei Wochen ein Projekt in unsere Schule gestartet.
Wir bekommen alle ein R8C Mikrocontroller und sollen damit was auf die 
Beine bringen.
Jede Gruppe hat dabei ihre eigene Aufgabe. Wir haben die Aufgabe ein LCD 
anzusteuern um damit was tolles zu machen.
Nun wollten wir ein Grafik LCD benutzen, was wir dann Punkt genau (2D 
Matrix?!) ansteuern können.
Nur ehrlich gesagt haben wir nicht viel Ahnung wie wir das ganze 
bewerkstelligen sollen.
Desweiteren beschäftigen wir uns noch nicht all zu lange mit 
Mikrocontrollern, dass wir damit problemlos umgehen können.
So wie ich es verstanden habe hat jedes LCD ein eigene Controller, paar 
haben sich wohl als Standard durchgesetzt, was wiederum von unserem 
Mikrocontroller angesteuert wird.
Nach einiger suche haben wir folgenden LCD gefunden:

http://www.reichelt.de/?;ACTION=3;LA=3;ARTICLE=101653;GROUPID=;GROUP=A5213;PV=1;SID=13TVqQon8AAAIAAHrFmgs9f3d10a8ab96df85f3eae43d811000a2

Nun wollte ich fragen ob dieser LCD was taugt, da er doch sehr günstig 
ist.
Und ob uns einer ein Tutorial o.Ä schicken kann, damit wir uns mit der 
Materie auseinander setzen kann.

von Julian R. (tuefftler)


Lesenswert?

Ich selber hab das LCD noch nicht angesteuert aber ich hab gelesen, dass 
es jemand gemacht hat.
Probleme könnte euch nur noch das SPI machen, weil das für Anfänger 
etwas schwehrer ist als die 8bit Ansteuerung.

julian

von Dennis N. (whoizzer)


Lesenswert?

Mhhh.
Also ihr könnt auch andere LCD's empfehlen. Aber es muss doch da ein 
genormtes vorgehen geben womit man einfache Sachen darstellen kann oder?

von holger (Gast)


Lesenswert?

>Nun wollten wir ein Grafik LCD benutzen, was wir dann Punkt genau (2D
>Matrix?!) ansteuern können.

Viel Spaß beim berechnen der Punkte.

>Nur ehrlich gesagt haben wir nicht viel Ahnung wie wir das ganze
>bewerkstelligen sollen.

Dann solltet ihr lieber ein Textdisplay nehmen. Ist einfacher.
Die DOGM Displays haben keinen eingebauten Text.
Das muss man dann über Fonts alles selber programmieren.
Grafikroutinen sind auch nicht integriert. Du musst also
selbst zum zeichnen einer einfachen Linie selber ein
Programm schreiben.

Da man die Dinger nicht auslesen kann ist auch ausreichend
RAM von Vorteil. Für das 102x64 ungefähr 1kB.
Weiterer Nachteil: Die laufen nur mit 3.3V.

Das alles solltest du beachten.

von Dennis N. (whoizzer)


Lesenswert?

Aber ist nicht bei Textbasierten LCD's das Problem, dass man nur ein 
Bereich hat, den man Frei "designen" darf.
Und das dann immer wieder Lücken zwischen den Abschnitten sind.
Also wir wollte ein einfaches Spiel machen. Irgendwas primitives in C 
und dafür brauchen wir ein Display wo sich etwas  Lückenlos zeichnen 
lässt.
Am besten so wie wir das wollen.
Und nicht von ASCII Zeichen abhängig sind.

von Fragensteller (Gast)


Lesenswert?

Dennis Nolte schrieb:
> Irgendwas primitives in C

Aber wie primitiv soll das sein, wenn ihr von uCs fast keine Ahnung 
habt?

von Julian R. (tuefftler)


Lesenswert?

http://www.mikrocontroller.net/articles/LCD
Vieleicht bietet dir das Starthilfe.
Kanst du/ihr irgendwelche Programmiersprachen(C,ASM,BASIC,...)?

julian

von Lehrmann M. (ubimbo)


Lesenswert?

Dennis Nolte schrieb:
> Also wir wollte ein einfaches Spiel machen. Irgendwas primitives in C
> und dafür brauchen wir ein Display wo sich etwas  Lückenlos zeichnen
> lässt.

Das ist für den Einstieg völlig völlig ungeeignet. Ein Baby fängt ja 
nicht mit einem 100m Sprint an sondern mit Krabbeln. Effektiv und Gut 
Spiele programmieren zu können ist eine Kunst ... es ist kein Marathon 
aber schon ein 100m Sprint =)

Achja - bei dem von euch gelinkten Display: Hintergrundbeleuchtung muss 
man extra bestellen (ist nicht dabei) - siehe Artikelbeschreibung!

von Dennis N. (whoizzer)


Lesenswert?

Ich kann c/c++ , c#, php usw.
Das Programmieren sollte nicht das Problem werden. Das können wir ganz 
gut. Nur die Hardware ist unser Problem.

Wir haben ja schon Mikrocontroller programmiert (c/asm) und auch 
verschiedene Aufgaben gelöst. Nur ein LCD komplett selber ansteuern das 
bekommen wir nicht hin.

Edit: Der Link ist doch schonmal was. Wie ich sehe werden ganz gerne 
alte Handy LCD's benutzt. Da kann ich ja mal gucken was es so gibt. Nur 
frage ich mich, wie sieht es denn mit unserem R8C Mikrocontroller aus. 
Muss ich einfach nur die entsprechende Libaries für die LCD's laden oder 
muss man da noch mehr beachten?

von spess53 (Gast)


Lesenswert?

Hi

>Nur ein LCD komplett selber ansteuern das bekommen wir nicht hin.

Ihr habt es doch noch nicht probiert.

>Nun wollten wir ein Grafik LCD benutzen, was wir dann Punkt genau (2D
>Matrix?!) ansteuern können.

So groß sind die Unterschiede zwischen einem Text- und diesen 
Grafikdisplays nicht. Bei beiden braucht man eine Routine zum Daten 
schreiben, eine zum Befehle schreiben und eine Initialisierung.
Der wesentliche Unterschied ist, das bei den ersterem ein Byte im 
Displayram ein komplettes Zeichen und beim anderen acht übereinander 
liegende Pixel beinhaltet. Das ist kein Teufelskram.

MfG Spess

von Karl H. (kbuchegg)


Lesenswert?

spess53 schrieb:

> liegende Pixel beinhaltet. Das ist kein Teufelskram.

Teufelskram nicht.
Aber für einen Einsteiger zu schwierig.

von Dennis N. (whoizzer)


Lesenswert?

Ja, hab es mir schon gedacht das es da Routinen gibt. D.h, man schaut 
welcher Controller auf dem LCD sitzt und schaut dann welche Routine man 
benötigt um den LCD zu initialisieren.

Hab mich da unglücklich ausgedrückt. Ausprobiert haben wir es natürlich 
noch nicht. Wollten ja nicht ohne Ahnung drauf los kaufen.
Aber es ist ja nicht so, dass wir von Programmieren keine Ahnung haben.
Auch komplexere Sachen sind bei uns machbar.
Bisher waren es aber alles Konsolen/net Anwendungen.
Nur wissen wir nicht wie genau der Controller mit dem LCD verbunden 
werden muss. Und wie, wo wir diese Initialisierungs Routine her 
bekommen.
Der eine Link ist ja schon ganz hilfreich. Nur bleibt immer noch die 
Frage, wie es aussieht mir unserem R8C, ob man einfach nur Bibliotheken 
und h. Dateien laden muss oder noch auf was besonderes acht geben 
sollte, damit die Kommunikation funktioniert.

von Steffen (Gast)


Lesenswert?

Schaut lieber mal bei Pollin nach günstigen Grafikdisplays.
http://www.pollin.de/shop/p/OTg4OTk4/Bauelemente_Bauteile/Aktive_Bauelemente/Displays.html
Da ist bestimmt etwas für euch dabei. Fertige GLCD-Routinen exestieren 
hier im Netz zu haufen für einen T6963 oder KS0108 GLCD-Controller.

Grüße Steffen

von pit999 (Gast)


Lesenswert?


von Steffen (Gast)


Angehängte Dateien:

Lesenswert?

Hier könnten ein paar GLCD-Routinen für den R8C dabei sein. Gefunden hab 
ich das unter:
http://www.b-kainka.de/r8c_2.htm

Viel Glück

von Dennis N. (whoizzer)


Lesenswert?

Danke!!
Für die vielen Links. Werde mich mal durchklicken und dann hier 
antworten.

von XMEGA (Gast)


Lesenswert?

Hallo,

Dennis Nolte schrieb:
> Und ob uns einer ein Tutorial o.Ä schicken kann, damit wir uns mit der
>
> Materie auseinander setzen kann.

mit dieser Version lässt sich ein GOGS102 betreiben.

Beitrag "Re: Library für EA-DOGM Grafikdisplays inkl. Font-Generator"

in natura -> http://www.basteln-mit-avr.de/


Gruß XMEGA

von Dennis N. (whoizzer)


Lesenswert?

Also wir haben den R8C/13 
http://www.elektor.de/projekte/r8c-die-elektor-r8c-mikrocontroller-startseite.83229.lynkx

Ich habe jetzt den LCD von SHARP gefunden.
http://www.pollin.de/shop/dt/MTg2OTc4OTk-/Bauelemente_Bauteile/Aktive_Bauelemente/Displays/LCD_Modul_SHARP_LM038QB1R10.html

Nur finde ich nicht welcher Controller auf diesem LCD sitzt.
Und wie finde ich heraus ob es mit dem R8C /13 kompatibel ist.
Oder reicht das Beispiel Projekt von Steffen zum initialisieren.

von Steffen (Gast)


Lesenswert?

Von sowas lieber mal die Finger weg.. Zumindest jetzt noch. Dieses 
Display hat leider keinen Grafik-Controller integriert!

von Steffen (Gast)


Lesenswert?

>Nur finde ich nicht welcher Controller auf diesem LCD sitzt.
>Und wie finde ich heraus ob es mit dem R8C /13 kompatibel ist.

Wie es aussieht ist hier der KS0713 verbaut. Die Projekte von b-kainka 
sind für den R8C /13 aus elektor.

von Dennis N. (whoizzer)


Lesenswert?

Ok, schade.
Aber das dachte ich mir schon.


Sorry wenn ich das noch nicht ganz auf die Reihe bekomme.
Aber gesetzt den Fall wir kaufen diesen LCD:
http://www.reichelt.de/?;ACTION=3;LA=444;GROUP=A5213;GROUPID=3007;ARTICLE=101652;START=0;SORT=artnr;OFFSET=16;SID=13TVqQon8AAAIAAHrFmgs9f3d10a8ab96df85f3eae43d811000a2

Mit folgendem Controller  UC1701.
Wo finde ich dann die Routine.
Es muss doch eine besondere Routine für den R8C /13 sein.
Desweiteren frage ich mich wie verbinde ich LCD Controller mit dem RC8 
/13. Das lässt sich, denke ich mal, aus dem Datenblatt entnehmen.

Nun wurde hier ja noch das SCOPE Projekt verlinkt. Nur wie finde ich 
heraus für welche LCD's die geeignet sind.
Gerade gesehen das die Projektnamen das jeweilige LCD ist

Dann werde ich das so machen.
Ich werden diesen LCD kaufen: 
http://www.reichelt.de/?;ACTION=3;LA=444;GROUP=A522;GROUPID=3008;ARTICLE=31672;START=0;SORT=artnr;OFFSET=16;SID=13TVqQon8AAAIAAHrFmgs9f3d10a8ab96df85f3eae43d811000a2

Und das vorgegeben Projekt für den R8C verwenden. Sollte ja dann gehen.

von Steffen (Gast)


Lesenswert?

>Mit folgendem Controller  UC1701.
>Wo finde ich dann die Routine.

Die wirst du dann wohl schon selber schreiben müssen.

Wenn man schon fertige Routinen verwenden will ist der GLCD-Controller 
ja vorgegeben. Vielleicht kann man dann diese Routine für einen 
ähnlichen Controller schnell anpassen. Aber mit wenig Ahnung von der 
Hardware ist das bestimmt nicht so einfach..

>Desweiteren frage ich mich wie verbinde ich LCD Controller mit dem RC8
>/13. Das lässt sich, denke ich mal, aus dem Datenblatt entnehmen.

Das sind meistens 8Bit Schnittstellen mit noch ein paar Steuerbits 
zusätzlich.
Noch zu beachten wäre bei der GLCD Auswahl ob man noch zusätzliche 
Spannungen für den Kontrast des Displays benötigt.

Steffen

von Steffen (Gast)


Lesenswert?

>Dann werde ich das so machen.
>Ich werden diesen LCD kaufen:
>http://www.reichelt.de/?;ACTION=3;LA=444;GROUP=A52...

Dieses Display benötigt Vo= -4,2V für den Displaykontrast!


>Und das vorgegeben Projekt für den R8C verwenden. Sollte ja dann gehen.
Viel Spaß beim Datenblatt durchforsten, Timing ansehen und Routinen 
schreiben. ;-)

von Dennis N. (whoizzer)


Lesenswert?

Aber irgendwo muss man ja an die Syntax kommen, um genau diesen LCD zu 
initialisieren und irgendwo müssen ja auch dann die Libaries sein. Ist 
das alles auf der Herstellerseite zu finden?

von Steffen (Gast)


Lesenswert?

Oh, ich sehe gerade Vout wird intern erzeugt. Diese kann man dann über 
einem variabelen Widerstand für Vo nutzen.

von holger (Gast)


Lesenswert?

>Aber irgendwo muss man ja an die Syntax kommen, um genau diesen LCD zu
>initialisieren und irgendwo müssen ja auch dann die Libaries sein.

Die Libraries müssen nirgendwo sein. Die darfst du dir schön selber
programmieren.

von Dennis N. (whoizzer)


Lesenswert?

In dem SCOPE Projekt ist die Initialisierung und weitere Funktionen 
schon vorgegeben.
Also ist es wohl das einfachste für uns, dass zu nehmen und dann den 
passenden LCD dafür zu kaufen.

von Dennis N. (whoizzer)


Lesenswert?

Steffen schrieb:
>>Dann werde ich das so machen.
>>Ich werden diesen LCD kaufen:
>>http://www.reichelt.de/?;ACTION=3;LA=444;GROUP=A52...
>
> Dieses Display benötigt Vo= -4,2V für den Displaykontrast!
>
>
>>Und das vorgegeben Projekt für den R8C verwenden. Sollte ja dann gehen.
> Viel Spaß beim Datenblatt durchforsten, Timing ansehen und Routinen
> schreiben. ;-)

In dem Projekt wird schon alles gemacht. Und sogar ein Kries gezeichnet. 
Damit entfällt ja die ganzen Arbeit.

von Steffen (Gast)


Lesenswert?

Da müsst ihr euch damit beschäftigen:
http://www.lcd-module.de/eng/pdf/zubehoer/uc1701.pdf
Ab Seite12 steht was zu den Controller-Befehlen. Oder ihr googelt selber 
mal nach dem UC1701. Das ist der laut Reichelt im Display verbaute 
GrafikController. Sind übrigens 2Stück drin verbaut. Auswahl geschieht 
über CS1/CS2.

von spess53 (Gast)


Lesenswert?

Hi

>Aber irgendwo muss man ja an die Syntax kommen, um genau diesen LCD zu
>initialisieren und irgendwo müssen ja auch dann die Libaries sein. Ist
>das alles auf der Herstellerseite zu finden?

Was für Syntax? Ein Display wird durch eine Reihe von Befehlen 
initialisiert.
Wie das gemacht wird und welche Befehle gebraucht werden steht im 
Datenblatt des Displays bzw/und des Displaycontrollers.
Hat eure Programmiererei bisher nur aus dem Zusammenkopieren von 
Libaries bestanden?

MfG Spess

von Steffen (Gast)


Lesenswert?

>In dem SCOPE Projekt ist die Initialisierung und weitere Funktionen
>schon vorgegeben.
>Also ist es wohl das einfachste für uns, dass zu nehmen und dann den
>passenden LCD dafür zu kaufen.
Ja, genau so gehts. Allerdings braucht ihr dann ein LCD mit einem KS0713 
Grafik-Controller und nicht ein LCD mit UC1701 als Controller!
>In dem Projekt wird schon alles gemacht. Und sogar ein Kries gezeichnet.
>Damit entfällt ja die ganzen Arbeit.
Ja, aber für ein LCD mit KS0713 als Grafik-Controller.
Geht jetzt ein Lichtlein auf? :-)

Grüße Steffen

von Dennis N. (whoizzer)


Lesenswert?

Ja das Datenblatt zum dem Controller habe ich schon.
Nun muss ich nochmal was nachfragen.
In dem vorgegeben Projekt für das 64128 LCD, ist die Initialisierung in 
der ks0713.h bzw. ks0713.c Datei. Der Name der Datei ist der 
Controllername.
Doch  ist auf diesem Datenblatt, vom 64128, ein anderen Controller 
verzeichnet. 
http://de.rs-online.com/web/search/searchBrowseAction.html?method=getProduct&R=0564393

Ich blick da nicht ganz durch.
Und glaubt mir ich würde, da jetzt gerne aufhören. Nur hab ich da keine 
Wahl.

von Olaf (Gast)


Lesenswert?

> Wie es aussieht ist hier der KS0713 verbaut. Die Projekte von b-kainka
> sind für den R8C /13 aus elektor.

Faengt der Source so an:
/***************************************************************/
/* Unterprogram zum ansprechen eines GrafikLCD mit KS0713 09.12.2005 */

Dann hab ich den geschrieben. :-)

> Aber irgendwo muss man ja an die Syntax kommen, um genau diesen LCD
> zu initialisieren und irgendwo müssen ja auch dann die Libaries
> sein. Ist das alles auf der Herstellerseite zu finden?

Grundsaetzlich ist es notwendig das Datenblatt des Controllers auf dem 
LCD zu lesen, und das Datenblatt des Herstellers eines LCDs.
Innerhalb gewisser Grenzen kann man dann jedes Display an einen R8C13 
anschliessen. Das Problem ist nur das dies fuer einen Anfaenger bereits 
eine relativ komplizierte Aufgabe ist. Und wenn dein Lehrer soetwas als 
Aufgabe zugeteilt hat, dann bedeutet es auch das er selber so wenig 
Ahnung hat du ihn nicht um Hilfe fragen kannst.

Es waere fuer mich natuerlich ein leichtes dir einfach einen Source zu 
geben der dein Problem loesst, aber das wuerde dir kein bisschen helfen. 
Nur wenn man sich da selber durchbeisst kann man etwas lernen. Aber es 
waere klueger du wuerdest erstmal mit etwas einfacheren anfangen damit 
du nicht nach der halben Aufgabe gefrustet aufgibst!

Viele der einfachen Grafikkontroller haben als SPI nur einen Eingang. Du 
kannst dann nur Pixel setzen/loeschen und nicht auslesen. Wenn du dir 
klar machst das ein Byte mehrere Pixel enthaelt dann wird dir 
einleuchten das es aber wichtig ist zu wissen was in den anderen Bits 
steht. Daher ist es notwendig den Inhalt des LCDs auch nochmal im 
Speicher des R8Cs zu halten. Wenn du mal ausrechnest wieviel Byte du 
brauchst, so wirst du vielleicht auf ein Problem stossen.
Wenn ich mich richtig erinnere hatte ich dazu mal einen Artikel in einer 
Elektor, aber das macht den Leben nicht unbedingt einfacher.

Ich rate dir daher es zu Anfang mit etwas einfacheren zu probieren. Ein 
Beispiel waere die Ansteuerung eines Modellbau-servos. Und als 
Erweiterung dann vielleicht eine IR-FB dekodieren und entsprechend den 
Tasten eine Position anzufahren.
Oder probier mal ein SPI-EEPROM zu lesen/schreiben. Danach kennst du den 
Controller und kannst auch mit HEW und dem Debugger umgehen.

Dann kannst du dich nochmal an das LCD wagen.

Du musst natuerlich nicht auf mich hoeren, aber die Gefahr ist gross das 
du sonst aufgeben wirst oder dein Programm hinterher zu 90% woanders 
geklaut ist. In beiden Faellen bleibst du dumm. Es mag sein das dein 
Lehrer dumm genug ist das nicht zu merken, aber irgenwann kommt der 
Zeitpunkt wo es einer merkt. .-)

Olaf

von Tom M. (tomm) Benutzerseite


Lesenswert?

Dennis Nolte schrieb:
> In dem vorgegeben Projekt für das 64128 LCD, ist die Initialisierung in
> der ks0713.h bzw. ks0713.c Datei. Der Name der Datei ist der
> Controllername.

Lass dir doch nicht alles vorkauen. Hast gerade mal ein paar Stunden 
investiert und willst schon die Flinte ins Korn werfen...

Haste dir das Datenblatt zum Wunsch-Display überhaupt mal angeschaut?

Ist dir aufgefallen, dass da ein ST7565 Controller drin steckt?

Haste mal eine Suchmaschine bemüht, um mehr über den KS0713 und den 
ST7565 rauszufinden?

z.B: Using the KS0713/S6B1713/ST7565 LCD driver chips
http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=61156

von Dennis N. (whoizzer)


Lesenswert?

Danke für den ausführlichen Text.

Nur haben wir nicht soviel Zeit und mittel erstmal andere kleinere 
Projekt zu erstellen. Wir müssen kein Grafik LCD ansteuern. Aber wir 
wollen ja auch eine gute Noten.
Ich bin schon sehr gefrusstet, aber das kenne ich vom Programmieren.
Von daher halte ich das schon aus.
Theoretisch ist doch schon eine menge Arbeit gemacht.
Ich habe ein fertiges Projekt, für den r8c.
Dieses Projekt initialisiert und zeichnet sogar was auf einen LCD64128 
mit einen ks0913.

Edit: Ja ich hab google angeworfen und auch die Datasheet geladen. Nur 
nicht diesen Satz gelesen "These three chips are generally posted as 
equivalent".

von Olaf (Gast)


Lesenswert?

> Ich blick da nicht ganz durch.

Warum? Liesst du den Source den du klauen willst nicht? Ich dachte ich 
haette da folgendes reingeschrieben:

/* Es wird das Display 64128E von Displaytech verwendet. 128x64Pixel 
*/
/* Achtung das Datenblatt von Displaytech ist der letzte Abfall und das 
LCD      */
/* ist sehr empfindlich gegen falsche Programmierung 
*/

Hm...oder hat Burkhard meine fiese Bemerkung ueber das LCD gestrichen. 
:-D

Oh..du kannst daraus lernen das man die Displays durch falsche 
Programmierung auch zerstoeren kann. Ich hab hier eins das hat 20-30 
fest eingebrannte Pixel weil mein erstes Programm etwas falsch gemacht 
hat.

Olaf

von Olaf (Gast)


Lesenswert?

> Dieses Projekt initialisiert und zeichnet sogar was auf einen LCD64128
> mit einen ks0913.

Wo ist dann dein Problem? Dann hast du doch schon ein LCD und kannst es 
auch ansprechen.


Olaf

von Steffen (Gast)


Lesenswert?

Wenn ich das richtig sehe wird hier ein 64128E verwendet. Wert ist wohl 
auf das "E" zu legen!
Schau mal hier:
http://il.rsdelivers.com/product/displaytech/64128e-gc-bc-4lp/graphic-128x64-cog-fstn-neg-blk-blue/5327079.aspx

Vieleicht gibt es das noch in einer anderen Farbe. Aber dieses Display 
hat den KS0713 drin/drauf

von Steffen (Gast)


Lesenswert?

>Edit: Ja ich hab google angeworfen und auch die Datasheet geladen. Nur
>nicht diesen Satz gelesen "These three chips are generally posted as
>equivalent".

Na dann hast du doch jetzt die Wahl der Qual. Und dann auch noch die 
Librarys für den R8C. ;-)

von Dennis N. (whoizzer)


Lesenswert?

Danke für den Link. Doch auf der deutschen Seite des Shops finde ich 
diesen LCD nicht. Aber ich werde mal googlen.


Hab den gefunden 64128E-GC-BC-3LP.
Ist der äquivalent zu dem, den du verlinkt( 64128E-GC-BC-4LP) hast?

PS: Wie kommst du eigentlich auf das E. Laut dem Projekt ist das alles 
ohne das e.

von pit999 (Gast)


Angehängte Dateien:

Lesenswert?


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.