Inhaltsverzeichnis:

Faszinierende magnetische Wanduhr - Gunook
Faszinierende magnetische Wanduhr - Gunook

Video: Faszinierende magnetische Wanduhr - Gunook

Video: Faszinierende magnetische Wanduhr - Gunook
Video: 12 wundervolle Zement und Beton Ideen, die du noch nie gesehen hast 2024, Juli
Anonim
Faszinierende magnetische Wanduhr
Faszinierende magnetische Wanduhr
Faszinierende magnetische Wanduhr
Faszinierende magnetische Wanduhr

Mechanische Uhren haben mich schon immer fasziniert. Die Art und Weise, wie alle internen Zahnräder, Federn und Hemmungen zusammenwirken, um eine konstant zuverlässige Uhr zu ergeben, schien für meine begrenzten Fähigkeiten immer unerreichbar zu sein. Zum Glück können moderne Elektronik und 3D-gedruckte Teile die Lücke schließen, um etwas Einfaches zu schaffen, das nicht auf kleine präzise Metallteile angewiesen ist.

Diese minimalistische Wanduhr verbirgt ein Paar 3D-gedruckter Zahnkränze, die von kostengünstigen Schrittmotoren angetrieben werden, die Magnete hinter einem klassischen Walnussfurnier drehen.

Ursprünglich von STORY Clock inspiriert, wollte ich eine Uhr, die die Tageszeit nur mit Kugellagern im Vergleich zur digitalen Anzeige und langsamen Kugellagern anzeigt, die ihre Produkte verwenden.

Bild
Bild

Schritt 1: Werkzeuge und Materialien

Werkzeuge und Materialien
Werkzeuge und Materialien
Werkzeuge und Materialien
Werkzeuge und Materialien
Werkzeuge und Materialien
Werkzeuge und Materialien
Werkzeuge und Materialien
Werkzeuge und Materialien

Materialien:

  • 13 x 13 x 2 Zoll Sperrholz / Spanplatte (ich habe 3 Stück Altholz zusammengeklebt)
  • 13 x 13 Zoll Hartfaserplatte
  • Arduino Nano
  • Echtzeituhr
  • Schrittmotoren und Treiber
  • Hall-Effekt-Sensoren
  • Magnete
  • Stromkabel
  • Netzteil
  • Stecker
  • Verschiedene Maschinenschrauben
  • Verschiedene Holzschrauben
  • 3D-gedruckte Teile (letzter Schritt)
  • Furnier (12 x 12 Zoll - Gesicht, 40 Zoll langer Streifen)
  • Sprühlack
  • Schwarze Sprühfarbe

Werkzeuge:

  • 3D Drucker
  • Kompass
  • X-acto Messer
  • Kleber
  • Klemmen
  • Kreisschneidevorrichtung
  • Bügelsäge
  • Tellerschleifer
  • Ratschenklemme
  • Meißel
  • Herrscher
  • Sander
  • Bohrer
  • Schraubendreher
  • Lötkolben
  • Heißklebepistole

Schritt 2: Holzrahmen zusammenkleben

Holzrahmen zusammenkleben
Holzrahmen zusammenkleben
Holzrahmen zusammenkleben
Holzrahmen zusammenkleben
Holzrahmen zusammenkleben
Holzrahmen zusammenkleben
Holzrahmen zusammenkleben
Holzrahmen zusammenkleben

Kleben Sie drei Holzstücke zusammen, die den Rahmen der Uhr bilden. Ich habe wiedergewonnene Spanplatten aus einem alten Bettrahmen verwendet.

Schritt 3: Rahmen mit Kreisschneidevorrichtung schneiden

Rahmen mit Kreisschneidelehre schneiden
Rahmen mit Kreisschneidelehre schneiden
Rahmen mit Kreisschneidelehre schneiden
Rahmen mit Kreisschneidelehre schneiden
Rahmen mit Kreisschneidelehre schneiden
Rahmen mit Kreisschneidelehre schneiden
Rahmen mit Kreisschneidelehre schneiden
Rahmen mit Kreisschneidelehre schneiden

Markieren Sie die Mitte des Bretts und montieren Sie es an einer Kreisschneidevorrichtung. Schneiden Sie fünf Kreise mit folgenden Durchmessern aus:

  • 12 Zoll
  • 11 1/4 Zoll
  • 9 1/4 Zoll
  • 7 1/4 Zoll
  • 5 3/8 Zoll

Schritt 4: Zahnräder drucken und zusammenbauen

Zahnräder drucken und zusammenbauen
Zahnräder drucken und zusammenbauen
Zahnräder drucken und zusammenbauen
Zahnräder drucken und zusammenbauen

Die Zahnkränze sind in Segmente gebrochen, damit sie auf einem kleinen Drucker gedruckt und zusammengeschnappt werden können. Alle Teile wurden in ABS gedruckt, um den im nächsten Schritt gezeigten Fixierprozess zu unterstützen. Alle Kanten und Oberflächen der Teile schleifen.

Drucken Sie die folgenden Mengen der in Schritt 22 gefundenen Teile:

  • 1 - Stunden-Ringradsegment-Magnet
  • 6 - Stundenzahnkranzsegment Basic
  • 1 - Std. Haltering Segment Stepper Mount
  • 6 - Stunden-Haltering-Segment Basic
  • 1 - Halterung für den Hall-Effekt-Sensor für die Stunde
  • 1 - Minuten-Ringradsegment-Magnet
  • 7 - Minutenzahnkranzsegment Basic
  • 1 - Minute Haltering Segment Stepper Mount
  • 6 - Minuten Haltering Segment Basic
  • 1 - Minute Hall-Effekt-Sensorhalter
  • 2 - Stirnrad
  • 1 - Elektronikhalterung

Schritt 5: Abschnitte "zusammenkleben"

Bild
Bild
Bild
Bild
Bild
Bild

In einer Glasflasche mit etwas Aceton, fehlgeschlagene Drucke, altes Trägermaterial usw. auflösen. Malen Sie die Acetonmischung auf jede Naht, um die Teile miteinander zu verschmelzen. Nach dem Aushärten jede Naht flach schleifen.

Schritt 6: Reliefs im Rahmen schneiden

Reliefs in Rahmen schneiden
Reliefs in Rahmen schneiden
Reliefs in Rahmen schneiden
Reliefs in Rahmen schneiden
Reliefs in Rahmen schneiden
Reliefs in Rahmen schneiden

Legen Sie die Zahnkränze und Sicherungsringe in den Rahmen und schneiden Sie die Aussparungen für die Schrittmotoren aus. Ich maß und schneide den inneren Ring zu groß, also habe ich ihn mit einem Ahornkantenband, das ich im Laden hatte, auf die richtige Größe angepasst.

Schritt 7: Freiraum für Hall-Effekt-Sensoren schneiden

Schnittabstand für Hall-Effekt-Sensoren
Schnittabstand für Hall-Effekt-Sensoren
Schnittabstand für Hall-Effekt-Sensoren
Schnittabstand für Hall-Effekt-Sensoren
Schnittabstand für Hall-Effekt-Sensoren
Schnittabstand für Hall-Effekt-Sensoren

Schneiden Sie ein Durchgangsloch durch den Innenring für den Minuten-Hall-Effekt-Sensor und den Schlitz für den Stunden-Hall-Effekt-Sensor. Ich benutzte einen Meißel, eine Feile und eine kleine Handsäge, um diese Abstände zu schneiden.

Schritt 8: Außenring kleben

Außenring kleben
Außenring kleben

Kleben und kleben Sie den äußeren Ring in der Größe des winzigen Halterings.

Schritt 9: Hall-Effekt-Sensor-Einstellschrauben schneiden

Einstellschrauben für Hall-Effekt-Sensoren abschneiden
Einstellschrauben für Hall-Effekt-Sensoren abschneiden

Schneiden Sie Maschinenschrauben mit einer Bügelsäge so, dass sie nur länger als die Dicke des Halterings und des Hall-Effekt-Sensorhalters sind. Schneiden Sie einen Schlitz in das Gewinde, damit es vom Gewindeende mit einem flachen Schraubendreher eingestellt werden kann.

Schritt 10: Ringe auf Hartfaserplatte kleben

Kleberinge auf Hartfaserplatten
Kleberinge auf Hartfaserplatten
Kleberinge auf Hartfaserplatten
Kleberinge auf Hartfaserplatten
Kleberinge auf Hartfaserplatten
Kleberinge auf Hartfaserplatten

Schneiden Sie einen Kreis aus Hartfaserplatten, der nur größer als der äußere Ring ist. Außen- und Innenring auf die Hartfaserplatte kleben. Verwenden Sie den winzigen Sicherungsring und das Hohlrad, um den Innenring zu platzieren. Achten Sie besser als ich darauf, den Innenring nicht nach hinten zu kleben. Bild zwei zeigt einen neuen Schlitzschnitt für einen winzigen Hall-Effekt-Sensor.

Verwenden Sie einen Tellerschleifer, um die Hartfaserplatte auf die Größe des Außenrings zu trimmen.

Schritt 11: Innere Scheibe kleben

Innere Scheibe kleben
Innere Scheibe kleben
Innere Scheibe kleben
Innere Scheibe kleben

Kleben Sie die Innenscheibe mit dem Stundensicherungsring und dem Zahnkranz fest, um die Innenscheibe zu platzieren.

Schritt 12: Furnier anbringen

Furnier anbringen
Furnier anbringen
Furnier anbringen
Furnier anbringen
Furnier anbringen
Furnier anbringen
Furnier anbringen
Furnier anbringen

Schneiden Sie einen Furnierstreifen breiter als die Uhr tief und lang genug ist, um sie um die Uhr zu wickeln (3,14 * Durchmesser der Uhr, ergibt die benötigte Länge. Fügen Sie einen Zoll hinzu, um sicherzustellen, dass Sie genug haben.) Trocknen Sie das Furnier an auf die Länge schneiden. Tragen Sie reichlich Leim auf das Furnier auf und klemmen Sie es mit einer Bandklemme fest. Lassen Sie einige Stunden trocknen, um die Haftung zu gewährleisten.

Schritt 13: Furnier trimmen

Furnier trimmen
Furnier trimmen

Schneiden Sie mit einem scharfen Meißel das überschüssige Furnier von der Vorder- und Rückseite der Uhr ab.

Schritt 14: Furnier schneiden

Furnier schneiden
Furnier schneiden
Furnier schneiden
Furnier schneiden

Mein Furnier hatte einige Risse. Um die Arbeit zu erleichtern, habe ich Malerband aufgetragen, um es zusammenzuhalten. Schneiden Sie das Furnier mit einem X-Acto-Messer in einem Zirkel etwas größer als das Zifferblatt der Uhr.

Schritt 15: Kleber Furnier

Kleber Furnier
Kleber Furnier
Kleber Furnier
Kleber Furnier

Verwenden Sie die abgeschnittenen Ringe, um den Druck über das Zifferblatt der Uhr zu verteilen. Tragen Sie reichlich Leim auf die nicht klebende Seite des Furniers auf. Richten Sie die Maserung vertikal auf dem Zifferblatt aus und wenden Sie viele Klemmen an, indem Sie jede einzelne nacheinander festziehen. Dadurch wird sichergestellt, dass sich das Furnier nicht verschiebt und gleichmäßigen Druck über das Gesicht ausübt.

Ich habe ein paar flache Bretter auf der Vorderseite der Uhr und einige Leisten auf der Rückseite verwendet.

Schritt 16: Sand und Finish

Sand und Finish
Sand und Finish
Sand und Finish
Sand und Finish

Entfernen Sie mit Schleifpapier vorsichtig das überschüssige Furnier vom Zifferblatt der Uhr und schleifen Sie von 220er Körnung bis 600er Körnung.

Tragen Sie zwischen 10 und 20 Schichten Lack auf. Dadurch wird die Oberfläche aufgebaut, auf der das Kugellager läuft. Aufgrund von Staub und anderen Partikeln in der Luft denke ich, dass Linien entlang der Laufbahn jedes Kugellagers erscheinen. Das Auftragen mehrerer Lackschichten sollte dies so lange wie möglich hinauszögern. Es wird auch die zukünftige Reparatur erleichtern. Ich werde diesen Schritt aktualisieren, wenn jemals Linien auf meiner Uhr erscheinen.

Schritt 17: Strom installieren

Strom installieren
Strom installieren
Strom installieren
Strom installieren

Bohren Sie mit einem 27/64-Zoll-Bohrer ein Loch in die Unterseite der Uhr und schrauben Sie den Netzstecker fest.

Schritt 18: Elektronik zusammenbauen

Elektronik zusammenbauen
Elektronik zusammenbauen
Elektronik zusammenbauen
Elektronik zusammenbauen
Elektronik zusammenbauen
Elektronik zusammenbauen
Elektronik zusammenbauen
Elektronik zusammenbauen

Bringen Sie Schrittmotortreiber und Echtzeituhr an der Elektronikplatine an. Ich musste einen Weg finden, das Arduino zu sichern, damit Löcher gebohrt und ein Schlitz für eine Kabelbinder geschnitten wurde. Diese Funktionen wurden der in Schritt 22 gefundenen Datei hinzugefügt.

Schritt 19: Elektronik anlöten und anschließen

Löten und Verbinden von Elektronik
Löten und Verbinden von Elektronik
Löten und Verbinden von Elektronik
Löten und Verbinden von Elektronik
Löten und Verbinden von Elektronik
Löten und Verbinden von Elektronik

Löten Sie nach dem Blockschaltbild alle Komponenten zusammen. Kleben Sie die Ringe mit Heißkleber an und sichern Sie alle verirrten Drähte mit Heißkleber.

Bild
Bild

Schritt 20: Rückplatte

Rückplatte
Rückplatte
Rückplatte
Rückplatte
Rückplatte
Rückplatte

Erstellen Sie die Rückplatte, indem Sie einen weiteren Kreis 1/2 Zoll größer als das Zifferblatt der Uhr und einen Ring mit dem gleichen Innendurchmesser wie die Rückseite der Uhr schneiden. Kleben Sie den Ring und den Kreis mit einigen Federklemmen zusammen.

Nach dem Trocknen eine Linie 1/8 Zoll größer als der Innenring anritzen und mit der Bandsäge oder dem Tellerschleifer zuschneiden.

Schneiden Sie einen Schlitz mit einer Länge von 1 Zoll und einer Breite von 1/4 Zoll oben auf der Rückseite mit einem Router oder Bohrern. Senken Sie vier Löcher, um die Rückseite im Rahmen der Uhr zu befestigen.

Tragen Sie schwarze Sprühfarbe auf und befestigen Sie sie nach dem Trocknen an der Uhr.

Schritt 21: Arduino-Code

Der Arduino-Code wird so gut wie möglich kommentiert. Denken Sie daran, dass ich kein Programmierer bin, ich habe nur minimale Arduino-Erfahrung (sei nett). Der Code wird kontinuierlich ausgeführt und überprüft, ob die aktuelle Zeit mit der "Reset Time" übereinstimmt. Da mir keine Möglichkeit eingefallen ist, die aktuelle Uhrzeit in Schritte zu übersetzen, korrigiert sie sich nur einmal täglich (standardmäßig Mitternacht). Um Mitternacht drehen sich die Zahnräder in die Mitternachtsposition, warten dann bis 00:01 Uhr und fahren dann zu dieser Zeit fort. So wie sie derzeit sitzt, verliert die Uhr über einen Zeitraum von 24 Stunden nur etwa 5 Sekunden.

Sie müssen die Bibliotheken Stepper und RTClib installiert haben.

Ich weiß, dass der Code von jemandem mit mehr Erfahrung als ich optimiert werden kann. Wenn Sie der Herausforderung gewachsen sind, erstellen Sie dieses Projekt bitte für sich selbst und teilen Sie Ihr Wissen.

#enthalten

#include "RTClib.h" RTC_DS1307 rtc; #define oneRotation 2038 // die Anzahl der Schritte in einer Umdrehung des Schrittmotors 28BYJ-48 Stepper hourHand (oneRotation, 3, 5, 4, 6); Stepper MinuteHand (oneRotation, 7, 9, 8, 10); #define hourStopSensor 12 #define minuteStopSensor 11 int endStep = 0; // Zeitdealy für die Geschwindigkeit der Uhr. int setDelay1 = 168; int setDelay2 = 166; int setDelay3 = 5; // Aktuelle Uhrzeit zum Rechnen. Schwimmer h = 0; Schwimmer mn = 0; Schwimmer sc = 0; // Stellen Sie die Tageszeit ein, um die Uhr zurückzusetzen (24-Stunden-Format). int resetHour = 0; int resetMinute = 0; // Variablen zum Einstellen der korrekten Zeit beim Start und Zurücksetzen. float setTimeStepHour = 0; float setTimeStepMinute = 0; float handDelay = 0; Float StundeTest = 0; SchwimmminuteTest = 0; Void setup () { Serial.begin (115200); // Richten Sie die Echtzeituhr ein und setzen Sie Hall-Effekt-Sensoren zurück. pinMode (hourStopSensor, INPUT_PULLUP); pinMode (MinuteStopSensor, INPUT_PULLUP); rtc.begin(); // Entkommentieren Sie die Zeile unten, um die Zeit einzustellen. // rtc.adjust(DateTime(2020, 2, 19, 23, 40, 30)); // rtc.adjust(DateTime(F(_DATE_), F(_TIME_))); // Höchstgeschwindigkeit der Schrittmotoren einstellen. StundeHand.setSpeed(15); minuteHand.setSpeed(15); // Schleife, bis Minuten- und Stundenzeiger am Mittag stehen, während (digitalRead (hourStopSensor) == LOW || digitalRead (minuteStopSensor) == LOW) { if (digitalRead (hourStopSensor) == LOW) {hourHand.step (2); aufrechtzuerhalten. Sonst { Verzögerung (3); aufrechtzuerhalten. Wenn (digitalRead (minuteStopSensor) == LOW) {minuteHand.step (3); aufrechtzuerhalten. Sonst { Verzögerung (4); } } while (digitalRead (hourStopSensor) != LOW || digitalRead (minuteStopSensor) != LOW) { if (digitalRead (hourStopSensor) != LOW) {hourHand.step (2); aufrechtzuerhalten. Sonst { Verzögerung (3); aufrechtzuerhalten. Wenn (digitalRead (minuteStopSensor) != LOW) {minuteHand.step (3); aufrechtzuerhalten. Sonst { Verzögerung (4); } } // Aktuelle Uhrzeit abrufen DateTime now = rtc.now(); hr = jetzt. Stunde(); mn = jetzt. Minute(); sc = jetzt. Sekunde(); // Zum 12-Stunden-Format wechseln if (hr >= 12) {hr = hr - 12; } // Sehen Sie, welche Hand weiter über das Gesicht wandern muss, und verwenden Sie diese Entfernung //, um die eingestellte Zeit entsprechend anzupassen. StundeTest = Std / 12; minuteTest = min / 60; if (hourTest > minuteTest) { handDelay = hourTest; } else { handDelay = minuteTest; } // Aktuelle Stunde einstellen setTimeStepHour = (hr * 498) + (mn * 8.3) + ((sc + (handDelay * 36)) *.1383); // Aktuelle Minute einstellen setTimeStepMinute = (mn * 114) + ((sc + (handDelay * 45)) * 1.9); // Teste, welche Hand mehr Schritte benötigt und setze diese auf die längste Schrittzahl für die for-Schleife. if (setTimeStepHour > setTimeStepMinute) { endStep = setTimeStepHour; } else { endStep = setTimeStepMinute; } for (int i = 0; i <= endStep; i++) { if (i < setTimeStepHour) { hourHand.step(2); aufrechtzuerhalten. Sonst { Verzögerung (3); } if (i < setTimeStepMinute) { minuteHand.step (3); aufrechtzuerhalten. Sonst { Verzögerung (4); } } // Uhr mit U/min einstellen hourHand.setSpeed (1); minuteHand.setSpeed(1); aufrechtzuerhalten. Void Schleife () {// Starten Sie die laufende Schleife der Uhr. for (int i = 0; i < 22; i++) { minuteHand.step(1); Verzögerung (setDelay1); // Test auf Rücksetzzeit, wenn bereit zum Rücksetzen, Pause. if (rtc.now().hour() == resetHour && rtc.now().minute() == resetMinute) { Pause; } } Verzögerung (setDelay3); for (int i = 0; i < 38; i++) {hourHand.step(1); Verzögerung (setDelay1); // Test auf Rücksetzzeit, wenn bereit zum Rücksetzen, Pause. if (rtc.now().hour() == resetHour && rtc.now().minute() == resetMinute) { Pause; } for (int i = 0; i <20; i++) { minuteHand.step(1); Verzögerung (setDelay2); // Test auf Rücksetzzeit, wenn bereit zum Rücksetzen, Pause. if (rtc.now().hour() == resetHour && rtc.now().minute() == resetMinute) { Pause; } } } // Uhr zur Reset-Zeit zurücksetzen if (rtc.now().hour() == resetHour && rtc.now().minute() == resetMinute) {// Geschwindigkeit der Uhr ändern hourHand.setSpeed (10); minuteHand.setSpeed(10); // Schleife, bis Minuten- und Stundenzeiger Mittag erreichen. while (digitalRead (hourStopSensor) == LOW || digitalRead (minuteStopSensor) == LOW) { if (digitalRead (hourStopSensor) == LOW) { hourHand.step (2); aufrechtzuerhalten. Sonst { Verzögerung (3); aufrechtzuerhalten. Wenn (digitalRead (minuteStopSensor) == LOW) {minuteHand.step (3); aufrechtzuerhalten. Sonst { Verzögerung (4); } } while (digitalRead (hourStopSensor) != LOW || digitalRead (minuteStopSensor) != LOW) { if (digitalRead (hourStopSensor) != LOW) {hourHand.step (2); aufrechtzuerhalten. Sonst { Verzögerung (3); aufrechtzuerhalten. Wenn (digitalRead (minuteStopSensor) != LOW) {minuteHand.step (3); aufrechtzuerhalten. Sonst { Verzögerung (4); } } // Warten Sie hier, bis die Reset-Zeit abgelaufen ist. Während (rtc.now().minute() == resetMinute) { Verzögerung (1000); } // Aktuelle Uhrzeit DateTime now = rtc.now(); hr = jetzt. Stunde(); mn = jetzt. Minute(); sc = jetzt. Sekunde(); // In das 12-Stunden-Format wechseln if (Std> = 12) {Std = Std - 12; } // Sehen Sie, welche Hand weiter über das Gesicht wandern muss, und verwenden Sie diese Entfernung //, um die eingestellte Zeit entsprechend anzupassen. StundeTest = Std / 12; minuteTest = min / 60; if (hourTest > minuteTest) { handDelay = hourTest; } else { handDelay = minuteTest; } // Aktuelle Stunde einstellen setTimeStepHour = (hr * 498) + (mn * 8.3) + ((sc + (handDelay * 36)) *.1383); // Aktuelle Minute einstellen setTimeStepMinute = (mn * 114) + ((sc + (handDelay * 45)) * 1.9); // Teste, welche Hand mehr Schritte benötigt und setze diese auf die längste Schrittzahl für die for-Schleife. if (setTimeStepHour > setTimeStepMinute) { endStep = setTimeStepHour; } else { endStep = setTimeStepMinute; } for (int i = 0; i <= endStep; i++) { if (i < setTimeStepHour) { hourHand.step(2); aufrechtzuerhalten. Sonst { Verzögerung (3); } if (i < setTimeStepMinute) { minuteHand.step (3); aufrechtzuerhalten. Sonst { Verzögerung (4); } } hourHand.setSpeed(1); minuteHand.setSpeed(1); } }

Schritt 22: STL-Dateien

Sie müssen die folgenden Mengen der Dateien drucken:

  • 1 - Stunden-Ringradsegment-Magnet
  • 6 - Stundenzahnkranzsegment Basic
  • 1 - Std. Haltering Segment Stepper Mount
  • 6 - Stunden-Haltering-Segment Basic
  • 1 - Halterung für den Hall-Effekt-Sensor für die Stunde
  • 1 - Minuten-Ringradsegment-Magnet
  • 7 - Minutenzahnkranzsegment Basic
  • 1 - Minute Haltering Segment Stepper Mount
  • 6 - Minuten Haltering Segment Basic
  • 1 - Minute Hall-Effekt-Sensorhalter
  • 2 - Stirnrad
  • 1 - Elektronikhalterung

Schritt 23: Solidworks-Dateien

Dies sind die ursprünglichen Solidworks-Dateien, die zum Erstellen der im vorherigen Schritt gefundenen STLs verwendet wurden. Fühlen Sie sich frei, meine Dateien zu bearbeiten und zu ändern, wie Sie es für richtig halten.

Schritt 24: Fazit

Diese Uhr ist besser geworden, als ich erwartet hatte. Mit minimaler Arduino-Erfahrung bin ich froh, wie es sich herausgestellt hat und wie genau es ist. Es sieht toll aus und funktioniert wie ich es mir erhofft hatte.

Empfohlen: