Inhaltsverzeichnis:
- Lieferungen
- Schritt 1: 3D-Druck der Teile
- Schritt 2: Arduino installieren
- Schritt 3: Der Code
- Schritt 4: Zusammenbau der Corona-Uhr
- Schritt 5: Einstellen der Corona-Uhr
- Schritt 6: Gedanken und Design-Iterationen
Video: Die Corona-Uhr - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:16
Während sich das Coronavirus auf der ganzen Welt ausbreitet und immer mehr Länder ihre Bürger auf ihre eigenen Häuser beschränken, um das Virus zu verlangsamen, haben viele von uns Tage ohne etwas zu tun. Zum Glück ist Instructables hier, um mitzuhelfen, und mit ein paar Ideen schien der Instructables Clock-Wettbewerb die perfekte Zeit zu sein:)
Wenn auch Sie aufgrund der Coronavirus-Einschränkung mit Langeweile im Haushalt zu kämpfen haben, haben Sie keine Angst, die Corona-Uhr ist für Sie da, mit garantierten 2 Tagen Bauzeit plus endlosen Stunden, in denen die Zeit mit Ihrer neuen Corona-Uhr wie im Flug vergeht!
Die Idee hinter der Uhr war also, statt mit Magneten geführten Zeigern Stahlkugeln auf dem Zifferblatt der Uhr zu haben, so dass sich die Kugeln wie von Zauberhand um die Uhr bewegten. Die äußere Kugel steht für die Minuten und die innere Kugel für die Stunden.
Ich habe alle CAD-Dateien mit Autodesk Fusion 360 entworfen.
Das Ganze wird mit einem Arduino programmiert.
Ich hoffe, Sie genießen dieses anweisbare und vielleicht finden Sie auch, dass es die perfekte Print / Build-Herausforderung in Ihrer Freizeit ist.
Lassen Sie uns ohne weiteres Bauen !!!
Lieferungen
ELEKTRONIK:
- 2x TowerPro SG90 Servos (Link hier)
- 1x Arduino Nano (Link hier)
- 1x Arduino Nano Shield (Link hier)
- 1x Mini-USB-Kabel (Link hier)
- 1x 5V USB-Telefonladegerät (Link hier)
- 1x Tastenmodule (Link hier) !!!Achten Sie darauf, dass Sie das gleiche Modell wie dieses kaufen!!!
- Packung mit Überbrückungsdrähten von Buchse zu Buchse (Link hier)
- 2x Stahlkugeln zwischen 10 und 15 mm Durchmesser
- 2x 15 mm Durchmesser x 3 mm Breite Neodym-Magnete (Link hier) Ich würde mehr als 2 kaufen, nur für den Fall, dass Sie sie wie ich zerbrechen:(
KUNSTSTOFFE:
Die Teile können in PLA oder PETG oder ABS gedruckt werden.
Sie benötigen 2 Farbfilamente, um die besten Ergebnisse zu erzielen.
Bitte beachten Sie, dass jeweils eine 500-g-Spule mehr als genug ist, um 1 Uhr zu drucken
3D DRUCKER:
Mindestens erforderliche Bauplattform: L130mm x B130mm x H75mm
Jeder 3D-Drucker wird es tun. Ich habe die Teile persönlich auf dem Creality Ender 3 gedruckt, einem kostengünstigen 3D-Drucker unter 200 $. Die Drucke sind perfekt geworden.
Werkzeuge:
1x kleiner Kreuzschlitzschraubendreher ist alles was Sie brauchen:)
Schritt 1: 3D-Druck der Teile
Alle Teile stehen auf Pinshape zum Download zur Verfügung (Link hier)
Ich habe alle Uhrenteile akribisch für den 3D-Druck entworfen, ohne dass beim Drucken Stützmaterialien, Flöße oder Krempen erforderlich sind.
Alle Teile wurden auf dem Creality Ender 3. testgedruckt
- Druckzeit: Ca. 20 Stunden
- Material: PETG
- Schichthöhe: 0,3 mm
- Füllung: 15%
- Düsendurchmesser: 0,4 mm
Die Teileliste für die Uhr sieht wie folgt aus:
Weiß:
- 1x Basis
- 1x Deckel
- 1x Servohalter
- 1x Zahnrad
- 1x Servo-Rack
- 1x Innenkreis
- 1x Außenkreis
- 1x Armverlängerung
- 4x Stifte
- 2x Knopfhalter
- 2x Fußclips
Rot:
- 2x Füße
- 1x Platte
Nachbearbeitung:
Wenn Sie nicht sehr viel Glück haben oder einen sehr teuren Drucker haben, müssen einige der Teile geschliffen werden, wo sich die Teile drehen und zwischeneinander gleiten
Schritt 2: Arduino installieren
Die Corona-Uhr verwendet Arduino C++-Programmierung, um zu funktionieren. Um Programme auf die Uhr hochzuladen, verwenden wir Arduino IDE
Installieren Sie Arduino IDE auf Ihrem Computer
Arduino-IDE (Link hier)
Um sicherzustellen, dass der Code in der Arduino IDE funktioniert, folgen Sie den folgenden Schritten:
- Laden Sie den gewünschten Arduino-Code unten herunter (Corona Clock.ino)
- Öffnen Sie es in der Arduino IDE
- Wählen Sie Werkzeuge:
- Vorstand auswählen:
- Wählen Sie Arduino Nano
- Wählen Sie Werkzeuge:
- Prozessor auswählen:
- Wählen Sie ATmega328p (alter Bootloader)
- Klicken Sie auf die Schaltfläche Verify (Häkchen) in der linken oberen Ecke der Arduino IDE
Wenn alles gut geht, sollten Sie unten eine Meldung erhalten, die besagt, dass das Kompilieren fertig ist. Und damit haben Sie Schritt 2 abgeschlossen !!!
Schritt 3: Der Code
Hier ist ein Blick auf den Code für diejenigen unter Ihnen, die daran interessiert sind, dass Sie höchstwahrscheinlich die Servoarmbewegungen optimieren müssen, um sie perfekt zu kalibrieren, da die Präzision jedes Servos variiert.
#enthalten
Servo myservoPUSHER;
Servo-myservoSLIDER;
const int buttonMinutes = 4;
int buttonStateMinutes = 0;
int FünfMinutenZähler = 0;
int OneHourCounter = 0;
unsigned long time_now = 0;
Void-Setup ()
{ Serial.begin (9600);
pinMode (buttonMinutes, INPUT);
myservoPUSHER.attach(2); myservoSLIDER.attach(3); myservoPUSHER.write(90); myservoSLIDER.write(90); Verzögerung (5000); myservoPUSHER.detach(); myservoSLIDER.detach(); }
Leere Schleife ()
{ FünfMinutenZähler = ((millis()/1000) % (300)); // FiveMinuteCounter = 0 alle 5 Minuten
buttonStateMinutes = digitalRead(buttonMinutes);
Serial.print("FünfMinutenZähler:");
Serial.print (FiveMinuteCounter); Serial.print("OneHourCounter:"); Serial.print (OneHourCounter); Serial.print ("buttonStateMinutes: "); Serial.println (buttonStateMinutes);
// Wenn die Taste gedrückt wird, bewegen Sie den Minutenball 5 Minuten vorwärts
if (buttonStateMinutes == 1)
{ myservoPUSHER.attach(2); myservoSLIDER.attach(3); myservoPUSHER.write(30); warte 5 Sekunden (); myservoSLIDER.write(130); warte5sekunden(); myservoPUSHER.write(140); warte5sekunden(); myservoPUSHER.write(90); warte5sekunden(); myservoSLIDER.write(90); warte 5 Sekunden (); myservoPUSHER.detach(); myservoSLIDER.detach(); EinStundenzähler++; }
// wenn 5 Minuten vergangen sind, bewegen Sie den Minutenball 5 Minuten vorwärts
if (FünfMinutenZähler == 0)
{ myservoPUSHER.attach(2); myservoSLIDER.attach(3); myservoPUSHER.write(30); warte5sekunden(); myservoSLIDER.write(130); warte5sekunden(); myservoPUSHER.write(140); warte 5 Sekunden (); myservoPUSHER.write(90); warte5sekunden(); myservoSLIDER.write(90); warte5sekunden(); myservoPUSHER.detach(); myservoSLIDER.detach(); EinStundenzähler++; }
// Wenn sich die Minutenkugel 12 Mal bewegt hat, verschieben Sie die Stundenkugel 1 Stunde vorwärts
if (OneHourCounter >= 12) { myservoPUSHER.attach(2); myservoSLIDER.attach(3);
myservoPUSHER.write(65);
warte5sekunden(); myservoSLIDER.write(50); warte5sekunden(); myservoPUSHER.write(130); warte 5 Sekunden (); myservoSLIDER.write(90); warte 5 Sekunden (); myservoPUSHER.write(90); warte 5 Sekunden (); myservoPUSHER.detach(); myservoSLIDER.detach(); EinStundenzähler = 0; } }
void wait5seconds()
{ time_now = millis(); while (millis () < time_now + 500) {// ca. warten. 500 ms } }
Schritt 4: Zusammenbau der Corona-Uhr
Alle folgenden Schritte sind im obigen Assembley-Video dargestellt
- Laden Sie den Code auf den Arduino Nano hoch
- Sichern Sie den Arduino Nano am Nano Shield
- Schrauben Sie einen der Servos auf das Servo-Rack, wie im Video gezeigt
- Platzieren Sie das Servo und das Servorack in der Servohalterung und führen Sie das Kabel durch den Schlitz, wie im Video gezeigt
- Stecken Sie das Servo in Pin D2 des Nano-Schildes
- Stecken Sie das andere Servo in Pin D3 des Nano-Shields
- Schrauben Sie das andere Servo an die Basis, wie im Video gezeigt
- Stecken Sie das USB-Kabel in das Stromnetz oder den Laptop
- Stecken Sie das andere Ende des USB-Kabels für 2 Sekunden in den Arduino Nano, bis die Servos ihre 90-Grad-Ausgangsposition erreichen
- Trennen Sie das USB-Kabel vom Stromnetz oder Laptop und Nano-Shield
- Setzen Sie einen Servoarm in die Servoverlängerung ein
- Schrauben Sie diesen Servoarm auf den Servo, der an Pin D2 in einem 90-Grad-Winkel zum Servokörper angeschlossen ist, genau wie im Video gezeigt
- Verbinden Sie den Button mit dem GND-, V+- und S-Pin mit dem D4-Pin des Nano Shield mit 3 Dupont-Kabeln
- Stecken Sie die 4 Stifte in die Basis der Uhr
- Platzieren Sie das Arduino Nano-Schild in die Basis
- Stecken Sie den Knopf in die Basis
- Sichern Sie den Knopf mit dem Knopfhalter
- Stecken Sie die Füße in die entsprechenden Schlitze in der Basis
- Sichern Sie die Füße mit den Fußclips
- Stecken Sie das USB-Kabel durch das verbleibende Loch in der Basis in den Arduino
- Stecken Sie den Servohalter über die 4 Stifte in die Basis. Achten Sie darauf, ihn richtig herum zu installieren (Video)
- Stecken Sie den Circle-Führungsstift auf den Servohalter
- Platzieren Sie den restlichen Servoarm in das Zahnrad
- Schrauben Sie diesen Servoarm in einem 90-Grad-Winkel zum Servokörper und mit dem Servogestell in der Mitte des Hubs auf das andere Servo (Video)
- Positionieren Sie den inneren Circle in Position Magnetloch nach unten zeigend (6) (Kabelausgangsloch)
- Positionieren Sie den äußeren Kreis in Position Magnetloch nach oben zeigend (12)
- Setzen Sie die Magnete vorsichtig ein (Neodym-Magnete sind stark und können sich selbst und andere beschädigen, wenn sie miteinander in Kontakt kommen)
- Legen Sie den Teller in den Deckel, wobei der Teller mit den Deckellöchern ausgerichtet ist
- Legen Sie den Deckel über die Oberseite, wobei die Nummer 6 zum Kabelausgangsloch zeigt
- Legen Sie die Stahlkugeln auf die Oberseite, wo sie magnetisch haften
Und schon sollte die Uhr fertig montiert und funktionsbereit sein!
Schritt 5: Einstellen der Corona-Uhr
Um die Uhr zu stellen, muss der äußere Minutenkreis in der oberen 12er Position beginnen.
zum Glück kann der innere Stundenkreis in jeder gewünschten Position beginnen
Anschließend können Sie die Uhr einschalten, indem Sie sie einstecken und mit der Taste die Minuten einstellen
und manuelles Drehen der Stahlkugel zum Einstellen der Stunden.
Schritt 6: Gedanken und Design-Iterationen
Das war ein tolles Projekt und forderte meine Fähigkeiten im Maschinenbau voll heraus!
Diese Idee hatte ich schon seit einiger Zeit im Kopf und dieses Projekt tatsächlich zum Leben zu erwecken ist unglaublich. Es war ein Kampf, vor allem den Timing-Mechanismus herauszufinden und eine Möglichkeit, billige 180-Grad-SG90-Servos zu verwenden, um ihn anzutreiben.
Ich habe knapp eine Woche gebraucht, um dieses Projekt abzuschließen. Ich habe mindestens 10 Design-Iterationen durchlaufen, um dieses Projekt abzuschließen, von denen einige auf dem Foto oben zu sehen sind. Es hat sich gelohnt, gut investierte Zeit!
Empfohlen:
DIY So zeigen Sie die Zeit auf dem M5StickC ESP32 mit Visuino an - Einfach zu tun: 9 Schritte
DIY So zeigen Sie die Zeit auf dem M5StickC ESP32 mit Visuino an - Einfach zu machen: In diesem Tutorial lernen wir, wie Sie den ESP32 M5Stack StickC mit Arduino IDE und Visuino programmieren, um die Zeit auf dem LCD anzuzeigen
So deaktivieren Sie die Autokorrektur für nur ein Wort (iOS): 3 Schritte
So deaktivieren Sie die Autokorrektur für nur ein Wort (iOS): Manchmal korrigiert die Autokorrektur möglicherweise etwas, das Sie nicht korrigieren möchten, z. Textabkürzungen beginnen sich in Großbuchstaben zu setzen (imo korrigieren zum Beispiel zu IMO). So erzwingen Sie, dass die Korrektur eines Wortes oder einer Phrase beendet wird, ohne aut zu deaktivieren
So laden Sie die Sony A6000-Kamera auf: 17 Schritte
So laden Sie die Sony A6000-Kamera auf: Wenn Sie die Kamera zum ersten Mal verwenden, laden Sie den Akku auf. Der geladene Akku entlädt sich nach und nach, auch wenn Sie ihn nicht verwenden. Um eine Aufnahmegelegenheit nicht zu verpassen, laden Sie den Akku vor der Aufnahme auf. (App
Die Elektronette (EMS): 5 Schritte
Die Electronette (EMS): Der Zweck dieses Projekts bestand darin, sich auf die Entwicklung neuartiger, computergestützter „sensorischer Erweiterungen“für Bildungszwecke zu konzentrieren werde lernen
So verbinden Sie die Android-Anwendung mit AWS IOT und verstehen die Spracherkennungs-API: 3 Schritte
So verbinden Sie die Android-Anwendung mit AWS IOT und verstehen die Spracherkennungs-API: In diesem Tutorial erfahren Sie, wie Sie die Android-Anwendung mit dem AWS IOT-Server verbinden und die Spracherkennungs-API verstehen, die eine Kaffeemaschine steuert. Die Anwendung steuert die Kaffeemaschine über Alexa Sprachdienst, die c