Forum: Projekte & Code Thermometer mit ds18s20 und LED Annzeige


von Paul Baumann (Gast)


Angehängte Dateien:

Lesenswert?

Hallo!
Hier ist ein Prg für ein Thermometer mit 7 Segment LED
Anzeige.
Vielleicht kann es auch ein anderer brauchen!

MfG Paul

von Peter D. (peda)


Lesenswert?

Und das funktioniert wirklich ?

Ich kann nirgends die mindestens 500ms Wartezeit für die Wandlung
entdecken und das Busy-Waiting ist ja auch auskommentiert.

Wenns also doch funktioniert widerspricht es jedenfalls völlig den in
dem Datenblatt angegebenen Methoden.


Auch dürfte das Digit0 wesentlich heller leuchten, da ja dann immer die
Mainloop länger dauert wegen der 1-wire Sachen.
Deshalb multiplexe ich immer im Timerinterrupt.


Peter

von Paul Baumann (Gast)


Lesenswert?

Hallo Peter!
Ja, das funktioniert wirklich! ...und ganz ohne Assembler :-)))
Ich konnte nach dem Testen die Busy Abfrage herausnehmen, da es
offenbar mit dem Wandeln im DS1820 schneller geht als angegeben.

Mit dem letzten Digit hast Du recht; es ist ein kelin wenig heller.
Aber es ist scön, wenn einer das PRG im Kopf durchforstet und es nicht
nur einfach so hinnimmt!

MfG Paul

von Peter D. (peda)


Lesenswert?

Ich vermute mal, der DS18S20 ignoriert weitere Startbefehle während der
Wandlung und hat ein extra Latch, daß die alte Wandlung ausgibt,
solange die neue noch läuft.

Da das aber alles undokumentiert ist, würde ich es lieber nicht so
machen.

Die alten DS1820 hatten jedenfalls während einer Wandlung nur Mist
ausgegeben.


Für eine 1/10 Grad Anzeige sollte man außerdem nur alle 5s oder noch
länger wandeln, da sonst der erhöhte Stromverbrauch während der
Wandlung eine merkbare Eigenerwärmung verursacht (+0,1..0,3°).


Peter

von Paul Baumann (Gast)


Lesenswert?

Hallo Peter!
Ich habe mir ein Präzisionsthermometer geliehen, welches
am gleichen Messort 0,1 Grad weniger anzeigt. Die Linearität
ist im ganzen Bereich gleich gut. Somit bin ich ganz zufrieden
mit dem Resultat.
Ich habe das Display aus einer alten Personenwaage. Weil es so
schön gross ist, (5 cm hohe Ziffern) habe ich halt das Thermometer
gebaut.
Ich baue schon seit etlichen Jahren Ekeltronikkram, aber noch nicht
sehr viel mit MC s.
Da ja die Syntax von Assemblern immer eine andere ist, arbeite ich
lieber mit Basic oder Pascal.

Du schriebst, dass Du lieber im Timerinterrupt multiplext. Davon
riet mir mein Arzt auf Befragen ab.
Er empfahl statt dessen intravaginale Injektionen!

MfG Paul

von Peter D. (peda)


Lesenswert?

"0,1 Grad weniger anzeigt"

Das ist aber purer Zufall, der Fehler darf ja bis zu +/-1° betragen.


Die Eigenerwärmung kriegst Du aber nur so raus, daß Du den Sensor
längere Zeit (>30min) im Standby, d.h. ohne Wandlung an ruhiger Luft
betreibst und danach die Wandlungen aktivierst.
Dann wirst Du ab der 1. Messung ein Ansteigen beobachten und daß ist
dann der Fehler durch die Eigenerwärmung.


Wenn Dein Arzt was von Timerinterrupts versteht, dann hat er den
falschen Beruf und Du solltest ihn schleunigst wechseln. Er kann ja
nicht mal Dein Geschlecht erkennen (intravaginale Injektionen!).


Peter

von Henning Halm (Gast)


Lesenswert?

Man sollte die Kirche im Dorf lassen. Ich finde es toll, wenn ein
Hobbyelektroniker sein Programm ins Netz stellt. Vielleicht ist es
Zufall, vielleicht wurde der DS18S20 verbessert, auf jeden Fall scheint
es zu funktionieren. Am einfachsten ist es, wenn es der Zweifler selbst
ausprobiert und dann sein Ergebnis mitteilt. Mit Pauschalaussagen ist
niemanden gedient.

von Peter D. (peda)


Lesenswert?

@Henning

"Am einfachsten ist es, wenn es der Zweifler selbst
ausprobiert und dann sein Ergebnis mitteilt. Mit Pauschalaussagen ist
niemanden gedient."

Ich habs ausprobiert und dabei besagte Eigenerwärmung beobachtet.

Es geht ja auch aus dem Datenblatt hervor:

Standby: 1µA
Active: 1,5mA

Und 5V * 1,5mA = 7,5mW sind schon beträchtlich. Das wird Dir auch jeder
bestätigen, der andere Sensoren (z.B. PT100) nimmt.


Es sei denn, man will die Erwärmung absichtlich haben, z.B. um die
Strömungsgeschwindigkeit zu messen.


Peter

von ---- (Gast)


Lesenswert?

@Henning:
Wem wäre dann geholfen, wenn Codebeispiele hier vorgestellt werden, von
denen man nicht sicher sein kann, daß sie funktionieren?

Einem Anfänger ohne Referenzwissen? sicher nicht.
Einem ders sowieso schon besser weiß? der braucht das Codebeispiel
nicht.

Also kritische Betrachtung ist enorm wichtig. Peter konnte sogar die
Nebenwirkungen (LED heller) aus dem Code rauslesen. Und das das
Originalprogramm sich nicht um das Timing/Ausleseintervalle usw.
kümmert, mag in diesem Falle funktionieren - im Nachbaufalle aber evtl.
nicht!

---- (QuadDash).

von Paul Baumann (Gast)


Lesenswert?

Hallo Männer und Frauen!

Ich habe das Prg für ein simples Zimmerthermometer geschrieben.
Es erhebt keinen Anspruch auf absolute Genauigkeit und Perfektion.

Ich denke, +/- 0,1 Grad reichen für das Wohnzimmer.:-))

Wenn sich aber jemand berufen fühlt, Verbesserungen und ent-
sprechende Änderungen einzuarbeiten: Feuer frei!

Es werden ohnehin nicht viele Codebeispiele in das Forum gestellt;
da dachte ich mir nichts Böses.

Mfg Paul

von Peter D. (peda)


Lesenswert?

@Paul,

"Ich habe das Prg für ein simples Zimmerthermometer geschrieben.
Es erhebt keinen Anspruch auf absolute Genauigkeit und Perfektion."

das hat ja auch niemand verlangt.

Aber es muß schon erlaubt sein, Verbesserungsmöglichkeiten zu
benennen.
Ob Du sie auch ausprobierst ist allein Deine Sache.

Ich freue mich jedenfalls immer, wenn jemand was zu meinen Beispielen
schreibt und besonders, wenn er anderer Meinung ist oder Verbesserungen
findet, denn nur dadurch kann man lernen.


Und wenn Du nicht weißt, was "multiplexen im Timerinterrupt"
bedeutet, dann brauchst Du das nur zu sagen, das nimmt Dir keiner
übel.
Aber dann blöde Sprüche abzulassen, das ist nicht schön :-(

Das hat auch nichts mit Assembler zu tun, auch in Bascom kann man
Interrupts benutzen.


Peter

von Paul Baumann (Gast)


Lesenswert?

@Peter

Peter, ich wollte Dir nicht in irgendeiner Art auf den Schlips
treten. Ich habe auch nichts gegen Kritik und Anregungen. So habe
ich das nicht gemeint und gewollt.

Auch weiss ich, was ein Timerinterrupt ist, wie man ihn in Bascom
programmiert und multiplexen konnte ich in meinem PRG auch genug :-)

Ich habe ein lebhaftes Vorstellungsvermögen, deshalb habe ich mir
vorgestellt, wie DU im Timerinterrupt multiplext (ROTFL). Siehe Deine
erste Antwort.

Das war nicht so bierernst zu sehen.

MfG Paul

von Paul Baumann (Gast)


Lesenswert?

So, das Gerät existiert nun in 4-facher Ausführung und die
Messwerte sind am gleichen Ort auch gleich hoch. (Bis auf den
unvermeidlichen Digitfehler in der Kommastelle).

@ QAUDDASH:Es ist also reproduzierbar.

MfG Paul

von stromi (Gast)


Lesenswert?

@Paul
sollte dich nicht abschrecken hier zu posten.
meine Codes sind zB. auch nicht immer eingerückt wie es sein sollte,
soll ja helfen.... Und das Programm "funst" auch bei mir, zwar mit
LCD
aber auch wunderbar.
Tschaui

von Paul Baumann (Gast)


Lesenswert?

Hallo Stromi!

Na da bin ich ja entzückt. (Wie Kojak sagen würde) :_))

MfG Paul

von mike (Gast)


Lesenswert?

Hallo Paul Baumann

Habe dieses Programm mal mit Bascom 1.11.9.0  compiliert
und es erscheinet ein Fehler für

Fourdigitdisplay = Format(str(decigrades) , "00") + 
'Format(str(tfrac) , "00")

kann es sein das dies aus der neueren Version herrührt und die damalige
Version dies nicht erkannte.

Programm ist ja auch schon 5 jahre alt.

gruß mike

von Paul Baumann (Gast)


Lesenswert?

Möglich ist alles. :-)
Nein, im Ernst: WAS für eine Fehlermeldung gibt es denn? Mit der Version
1.11.8.1 habe ich es ebn noch einmal fehlerfrei kompilieren können.

MfG Paul

von mike (Gast)


Lesenswert?

Hallo Paul

Also:

Error: 213 Line 50
String expected for assigment[STR(DECIGRADES)]

Error:  13 Line 50
Incalid datatype[[0011]200]

Error: 124 Line 50
Loop expected

wenn ich die Zeile rauskommentiere ,compiliert er es,aber dann fehlt
ja was.

danke Mike

von Paul Baumann (Gast)


Angehängte Dateien:

Lesenswert?

Keine Ahnung, was bei Dir passiert. :-(

Ich habe Dir mal die .hex-Datei angehangen, die ich eben noch einmal 
daraus
"hergestellt" habe.

MfG Paul

von mike (Gast)


Lesenswert?

Habe mir eben noch mal das Demo geladen ist 1.11.8.7

Jetzt kommt nur der Fehler 13  Invalid datatype[200].

Die Älteren Demo´s habe ich leider nicht,hatte mir mal
Bascom gekauft,letztes Jahr und dacht das ich so auf dem neuesten
Stand bin und alle bugs die bisher enthalten sind beseitigt.

mfg Mike

von mike (Gast)


Lesenswert?

Danke werde ich mal probieren.

Mike

von Paul Baumann (Gast)


Lesenswert?

Nein, das ist wie bei jeder Software: kleinere Bugs werden nach und nach 
durch größere ersetzt. ;-))

MfG Paul

von mike (Gast)


Lesenswert?

wohl wahr, hoffe das ich das Thermometer so hin bekommen.Wenn
nicht melde ich mich noch einmal.

mfg Mike

von Avr N. (avrnix) Benutzerseite


Lesenswert?

Hallo Paul,

schönes Projekt! Hatte das mal vor paar Jahren mit einen Nokia Display 
wie hier beschrieben gemacht 
http://comwebnet.weimars.net/index.php?option=com_content&task=view&id=37&Itemid=49

ist auch in Bascom, hatte mir da im Netz eine Tabelle gefunden welches 
eine Auflösung von 0,1 Grad versprach, obwohl der Sensor +-0,5 Grad 
Messen kann
(DS18S20).

Musstest du was kalibiren oder eine Konstante einbauen?
Weil +-0,1 Grad ist schon was!

von Paul Baumann (Gast)


Angehängte Dateien:

Lesenswert?

Die Routine stammt aus dem Datenblatt vom Onkel Dallas/Maxim. Ich habe 
es mal angehängt.

MfG Paul

von Paul Baumann (Gast)


Angehängte Dateien:

Lesenswert?

Hier noch ein paar Bilder vom Apparat.

Paul

von Rolf I. (for_ro)


Lesenswert?

Hallo,

mike wrote:

> Fourdigitdisplay = Format(str(decigrades) , "00") +
> 'Format(str(tfrac) , "00")

Hier bekommst du den Fehler wegem des "+"-Zeichens am Ende der Zeile. 
Wenn du den zweiten Teil auskommentieren willst, dann mach das ' vor das 
+

Den Format Fehler bekommt man, weil Bascom früher erlaubt hat, als Input 
für die Format Funktion nicht nur einen String, sondern auch eine 
Funktion, die einen String zurückgibt, zu verwenden. Heute geht das 
nicht mehr. Du musst also so schreiben:

Temp_str = str(decigrades)
Fourdigitdisplay = Format(Temp_str , "00")
Temp_str = str(tfrac)
Fourdigitdisplay = Fourdigitdisplay + Format(Temp_str , "00")

@avr_nix
Warum denkst du , dass der DS18s20 nur 0,5° Auflösung hat? Er hat 
tatsächlich 1/16 ° Auflösung, überträgt diese aber nicht in den Bytes 1 
und 2, sondern im Byte 7. Musst du dir im Datenblatt mal durchlesen. Die 
besagte Tabelle verspricht ja nicht die Auflösung, die muss der Sensor 
schon liefern und tut es auch.

Gruß

Rolf

von mike (Gast)


Lesenswert?

Danke für die Antwort:

Habe jetzt das mal getestet.Musste aber noch
Temp_str = str(tfrac) auskommentieren.
str(tfrac) ist ja nicht declariert und ich weiss auch nicht
wozu.Wenn ich das so mache funzt es.

was auch noch dazu kommt ist der unterstich der entfernt
werden musste,sehe ich das so richtig.
Temp_str = str(decigrades) in  Tempstr = str(decigrades)


mfg Mike

von Rolf I. (for_ro)


Lesenswert?

Hallo Mike,
ja, es muss Tempstr heissen, weil die Variable ja so deklariert ist. 
Hatte ich aus dem File Thermometer0_1.bas falsch in Erinnerung.
Ich schätze mal, dass der Autor mit tfrac den Nachkommateil meinte, der 
aber jetzt im Programm nicht mehr enthalten ist.

Gruß

Rolf

von Paul Baumann (Gast)


Lesenswert?

Ich hatte "Tempstr" im Text. Wenn Du die Änderung von Rolf nehmen 
willst,
mußt Du natürlich alles andere auch "Temp_str" nennen.

MfG Paul

von mike (Gast)


Lesenswert?

Danke,muss morgen erst mal die Hartware aufbauen.
Dann wird sich herausstellen,ob es funktioniert.
Habe ja auch die HEX von Paul Baumann bekommen,
denke das diese 100% läuft.Er hat ja schon einige Anzeigen
am laufen.

mfg Mike

von Mike K. (helimike0705)


Angehängte Dateien:

Lesenswert?

Hallo ,

So habe mir das Thermometer mal auf dem Steckbrett aufgebaut.
Funktioniert prima,habe auch eine kleine änderung vorgenommen.
Jetzt leuchten die Segmente gleich hell und ein kleines Gradzeichen
im oberen Teil wird bei mir angezeigt.Okay eine kleine einschränkung,
die mich aber nicht stört,ist,die anzeige wird nach rund 20 sek. immer
kurz (1/10 tel sek. denke ich)dunkel geschalten.
Habe so mit einfachen mitteln die Erwärmung des Sensors eliminiert und
eine gleichbleibende helligkeit.

Danke nochmal an "Peter" und "Rolf Im forum"

Gruß Mike

von Paul Baumann (Gast)


Lesenswert?

Na prima! Da gibt es nun 5 Geräte davon. :-)

MfG Paul

von Mike K. (helimike0705)


Lesenswert?

Entschuldige : Nicht Peter soll es sein .
der Dank geht an "Paul Baumann".

Dies wollt ich nur noch klarstellen.

Wenn mein projekt fertig ist gibt es auch noch ein Bild.

Mike

von Paul Baumann (Gast)


Lesenswert?

Danke für den Dank. ;-)

MfG Paul

von Paul Baumann (Gast)


Lesenswert?

Ich hatte erst eine Sequenz drin, die darauf wartete, daß der DS1820
"FF" zurückgibt, als Zeichen dafür, daß er mit dem Wandeln fertig ist.

Er ist aber wesentlich schneller fertig damit, als es im Datenblatt 
steht.
Dadurch konnte ich das auskommentieren. Der Meßwert blieb der Gleiche.

Ich nehme an, daß der Onkel Dallas/Maxim auf "Nummer sicher" gehen 
wollte.

Wurst-Käse Fall, oder wie das heißt. ;-)

MfG Paul

von Mike K. (helimike0705)


Angehängte Dateien:

Lesenswert?

Hallo Paul,
und der Rest des Forums.Paul habe mal dein Thermometer nachgebaut und 
auch gleichzeitig erweitert,man kann jetzt Mini- und Maximal-temperatur
abfragen.Die Anzeige ist gleichmässig hell und die DS1820 abfrage wird
auch etwa alle 5 Sekunden abgefragt.Das aufrufen der Mini bzw. 
Maxi-temp.wird auch rund 5 Sekunden angezeigt,der wechsel ist natürlich 
auch möglich innerhalb der 5 sek.Denke das du damit einverstanden bist, 
das ich dein Programm benutzt habe und ein klein wenig verändert.

Habe mit diesem Teil wieder einen menge gelernt,danke.


mfg Mike Köppl

von Paul Baumann (Gast)


Lesenswert?

Na freilich bin ich einverstanden. Deswegen habe ich ja den Quelltext 
veröffentlicht, damit man ihn verändern und auf seine Bedürfnisse 
zuschneiden kann.

Daß das "C" für Celsius bei mir heller leuchtet als die anderen Segmente
hatte ich absichtlich so gemacht, damit man gleich sieht, daß das ein 
Thermometer ist.

MfG Paul

von Max (Gast)


Lesenswert?

Das könnte was sein, was ich mal nachbauen könnte freu

Habt ihr die Segmentanzeige direkt an den AVR gehängt, oder über ein 
Treiberarray wie das ULN2003?

In der bas-Datei steht das leider nicht genau drin.

Gruß und vielen Dank für die Anregung

Max

von Paul Baumann (Gast)


Lesenswert?

Ja, die Anzeigen hängen direkt (über entsprechende 
Segmentvorwiderstände) und 4 Treibertransistoren am MC. Es wird wohl bei 
neueren sog. Low-Current Anzeigen auch ohne die Transistoren gehen. 
Natürlich muß dann die Invertierung (der NOT-Befehl) raus.

MfG Paul

von Max (Gast)


Lesenswert?

Ok,

danke für die Antwort. Besser ist es dann über 4 PNP-Transistoren  oder?
Desweiteren habe ich gerade mal geguckt, ob es schon Anzeigen gibt, bei 
denen die Segmente bereits zusammengefasst sind, damit ich diese 
multiplexen kann und nicht alle einzeln verdrahten muss....habe aber 
leider nichts gefunden.

von Paul Baumann (Gast)


Lesenswert?

>Besser ist es dann über 4 PNP-Transistoren  oder?
Das hängt davon ab, ob Du Anzeigen mit gemeinsamer Anode oder 
gemeinsamer Kathode hast.

Vierstellige Anzeigeelemente gibt es in rauhen Mengen. ;-)

Zum Bleistift:

http://www.conrad.de/Bauelemente-Bausatze/4_digit_led.sap

...oder Du gehst zum freundlichen Fernsehmann, läßt Dir einen alten 
Sat-Receiver geben und veranstaltest ein schönes Schlachtfest. :-)

MfG Paul

von Max (Gast)


Lesenswert?

"...oder Du gehst zum freundlichen Fernsehmann, läßt Dir einen alten
Sat-Receiver geben und veranstaltest ein schönes Schlachtfest. :-)"

Habe ich mir auch schon gedacht, da ich da ja arbeite^^
Aber in den alten zB GRundig sind einzelne drin, die über ein IC 
angesteuert werden.

von Tobias X. (tobiasblome)


Lesenswert?

Hallo Paul!
Tolles Programm!!! Super!!!

Ich habe auch noch eine Änderung:

meine Anzeige flackert etwas und deswegen habe ich die 6ms 
rausgenommen... nun leuchten die Segmente nach....

deshalb direkt unter die ehemaligen 6ms:

Portb = 0 'um das Ghosting zu vermeiden


mfg, Tobias

von Tobias X. (tobiasblome)


Lesenswert?

Hallo,
gibt es eine einfache Möglichkeit die Zahlen umzudrehen?
Also wenn ich in die Variable Decigrades = 1234 schreibe steht auf der 
Anzeige 4321 - wie kann ich das ändern?

Tobias

von Paul Baumann (Gast)


Lesenswert?

Klar. ;-) Die Basisanschlüsse der Digit-Treiber sind bei Dir in der 
falschen Reihenfolge angeschlossen.
Der 4. muß der 1. sein
der 2. der 3.
der 3. der 2.
und der 1. der 4.

MfG Paul

von Tobias X. (tobiasblome)


Lesenswert?

ja - naja ich dachte man könnte das software mäßig "mal eben" ändern...

hatte diesen Teil geändert aber ohne Erfolg...

old:

 Incr Digit
    If Digit = 4 Then
   Digit = 0
   End If

und so hab ich geändert...

 decr Digit
    If Digit = 0 Then
   Digit = 4
   End If

aber das geht leider nicht...

von Paul Baumann (Gast)


Lesenswert?

Dann mußt Du vorher DIGIT auf den Startwert 4 einstellen, denn die 
Variable hat ja jetzt beim Start 0.

MfG Paul

von Tobias X. (tobiasblome)


Lesenswert?

also wenn ich nur den Startwert ändere ändert sich auf der anzeige 
nichts an der Reihenfolge.

Das muss ich mir noch mal überlegen woran das liegt.

Tobias

von Tobias X. (tobiasblome)


Lesenswert?

ok - ich habe die Anzeigen getauscht ;-)
das war dann doch das einfachste.

Kann man die führenden Nullen entfernen und durch ein Leerzeiche im 
String oder so ersetzen?

Tobias

von Paul Baumann (Gast)


Lesenswert?

If Val(tempstr) = 0 Then        'Führende Nullen wegblenden
   If Digit = 0 Then : Portd.2 = 1 : Portb = 1
   End If
End If

Setz das mal vor die SELECT CASE- Anweisung. Ich kann es jetzt nicht in 
Natura testen, weil das Thermometer nicht hier ist. Auf Deutsch:

Wenn der Ziffernwert Null ist UND das erste Digit ist dran, dann mache 
die Segmente aus und steuere den 1.Transistor nicht an.

MfG Paul

von Tobias X. (tobiasblome)


Lesenswert?

Hallo Paul,

nun wird die ertse 0 ausgeblendet. Die anderen Nullen natürlich noch 
nicht.

Kannst du mir den Code bitte noch etwas erklären?

__
If Val(tempstr) = 0 Then        'Führende Nullen wegblenden
   If Digit = 0 Then : Portd.2 = 1 : Portb = 1
   End If
End If
____

Steht in Val(tempstr) nicht der String mit 4 Stellen drin? also zum 
Beispiel 0012? wie kann ich das dann mit 0 vergleichen?

Gibt es nicht eine Möglichkeit zu sagen wenn Val(tempstr) = "00##" then
die beiden ersten Digits abschalten?


mfg, Tobias

von Tobias X. (tobiasblome)


Lesenswert?

oh Denkfehler:
in Val(tempstr) steht immer nur die aktuelle Stelle drin

von Tobias X. (tobiasblome)


Lesenswert?

Hab es nun so versucht - etwas aufwendig aber es geht...


Dim Digit0 As Bit        'Merker =0 wenn 1. Stelle =0
Dim Digit1 As Bit

'Tausenderstelle
If Val(tempstr) = 0 Then                      'Führende Null wegblenden
   If Digit = 0 Then : Portc.1 = 0 : Digit0 = 0   ': Portb =0 
'C.1=Digit Transistor
   End If
End If
'Hunderterstelle
If Val(tempstr) = 0 Then                         'Führende Null 
wegblenden
  If Digit = 1 And Digit0 = 0 Then : Portc.2 = 0 : Digit0 = 1 :Digit1 = 
0 'C.2=Digit Transistor
   End If
End If
'Zehnerstelle
If Val(tempstr) = 0 Then                          'Führende Null 
wegblenden
  If Digit = 2 And Digit1 = 0 Then : Portc.3 = 0 :Digit1 = 1 
'C.3=Digit Transistor
   End If
End If



gruß, Tobias

ps wenn jemand eine "sauberere Idee hat gerne posten

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.