Inhaltsverzeichnis:
- Schritt 1: Wie erzähle ich die Zeit?
- Schritt 2: Schaltung
- Schritt 3: Tasten
- Schritt 4: Echtzeituhr
- Schritt 5: LED-Pixelstreifen
- Schritt 6: Mikrocontroller
- Schritt 7: Das Gehäuse
- Schritt 8: Machen Sie es zu einer Lampe
- Schritt 9: Sie sind fertig
- Schritt 10: Der Code
Video: Die Fibonacci-Uhr - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:17
UPDATE: Dieses Projekt wurde erfolgreich auf Kickstarter finanziert und steht jetzt unter https://store.basbrun.com zum Verkauf. Vielen Dank an alle, die meine Kampagne unterstützt haben!
Ich präsentiere Ihnen die Fibonacci Clock, eine Uhr für Nerds mit Stil. Die Uhr ist schön und macht Spaß zugleich und verwendet die berühmte Fibonacci-Folge, um die Zeit auf ganz neue Weise anzuzeigen.
Schritt 1: Wie erzähle ich die Zeit?
Die Fibonacci-Folge ist eine Zahlenfolge, die im 13. Jahrhundert vom italienischen Mathematiker Fibonacci erstellt wurde. Dies ist eine Sequenz, die mit 1 und 1 beginnt, wobei jede nachfolgende Zahl die Summe der vorherigen beiden ist. Für die Uhr habe ich die ersten 5 Begriffe verwendet: 1, 1, 2, 3 und 5.
Der Bildschirm der Uhr besteht aus fünf Quadraten, deren Seitenlängen den ersten fünf Fibonacci-Zahlen entsprechen: 1, 1, 2, 3 und 5. Die Stunden werden in Rot und die Minuten in Grün angezeigt. Wenn ein Quadrat verwendet wird, um sowohl die Stunden als auch die Minuten anzuzeigen, wird es blau. Weiße Quadrate werden ignoriert. Um die Zeit auf der Fibonacci-Uhr anzuzeigen, müssen Sie etwas rechnen. Um die Stunde abzulesen, addieren Sie einfach die entsprechenden Werte der roten und blauen Quadrate. Um die Minuten abzulesen, machen Sie dasselbe mit den grünen und blauen Quadraten. Die Minuten werden in 5-Minuten-Schritten (0 bis 12) angezeigt, sodass Sie Ihr Ergebnis mit 5 multiplizieren müssen, um die tatsächliche Zahl zu erhalten.
Oft gibt es mehrere Möglichkeiten, eine einzelne Zeit anzuzeigen. Um die Herausforderung zu erhöhen, werden die Kombinationen nach dem Zufallsprinzip aus all den verschiedenen Arten ausgewählt, auf denen eine Zahl angezeigt werden kann. Es gibt zum Beispiel 16 verschiedene Möglichkeiten, 6:30 Uhr anzuzeigen, und Sie wissen nie, welche die Uhr verwenden wird!
Schritt 2: Schaltung
Ich habe die Fibonacci-Uhr mit einem Atmega328P-Mikrocontroller mit Arduino gebaut. Sie könnten eine Arduino-Platine und eine DS1307-Echtzeituhr-Breakout-Platine kaufen und eine benutzerdefinierte Abschirmung für Ihre Schaltung bauen, aber ich zog es vor, meine eigene Platine zu bauen. Dadurch kann ich die Größe klein und den Preis niedrig halten.
Schritt 3: Tasten
Die drei an den Arduino-Pins # 3, # 4 und # 6 angebrachten Tasten werden zusammen verwendet, um die Zeit zu ändern. Die Taste an Pin Nr. 3 kann allein verwendet werden, um die Farbpalette der LEDs zu ändern. An Pin Nr. 5 ist ein zusätzlicher Knopf angebracht, um zwischen verschiedenen Modi der Uhr zu wechseln. Zwei Modi sind Lampenmodi und der Standardmodus ist die Uhr. Alle Tasten sind mit einem 10K-Pulldown-Widerstand parallel mit den Arduino-Pins verbunden.
Schritt 4: Echtzeituhr
Der Echtzeituhr-Chip DS1307 ist mit zwei 22K-Pull-Up-Widerständen mit den Arduino-Analogpins 4 und 5 verbunden. Der Takt-Pin 5 (SDA) ist mit dem Atmega328P-Pin 27 (Arduino A4) verbunden und der Takt-Pin 6 (SCL) ist mit dem Atmega329P-Pin 29 (Arduino A5) verbunden. Um die Zeit zu halten, während der DS1307-Chip nicht angeschlossen ist, benötigt er eine 3V-Batterie, die an Pint 3 und 4 des Chips angeschlossen ist. Schließlich wird die Echtzeituhr von einem 32-KHz-Quarz angetrieben, der an den Pins 1 und 2 angeschlossen ist. An Pin 8 wird eine Spannung von 5 V angelegt.
Schritt 5: LED-Pixelstreifen
Ich verwende LED-Pixel, die auf den WS2811-Treibern aufgebaut sind. Mit diesen Mikrocontrollern kann ich die Farbe jeder einzelnen LED mit einem einzigen Ausgang auf dem Arduino-Mikrocontroller einstellen. Der Arduino-Pin, der zur Steuerung der LEDs in diesem Projekt verwendet wird, ist Pin # 8 (Atmega328P Pin # 14).
Schritt 6: Mikrocontroller
Alle Details zum Anschließen des Atmega328P zum Erstellen eines Arduino-Klons finden Sie in meinem Beitrag „Build an Arduino Clone“. Ich habe in diesem Projekt eine neue Funktion hinzugefügt, einen FTDI-Port, um Ihren Arduino-Mikrocontroller direkt auf dieser Schaltung zu programmieren. Sie verbinden Pin eins mit dem Reset-Pin des Arduino durch einen 0,1uF-Kondensator, um Ihren Uploader mit der Chip-Boot-Sequenz zu synchronisieren.
Pin 2 (RX) des FTDI-Ports verbindet sich mit Pin 3 des Atmega328P (Arduino 1-TX) und Pin 3 (TX) des FTDI-Anschlusses verbindet sich mit Pin 2 des Atmega328P (Arduino 0 – RX). Schließlich geht FTDI-Pin 4 auf 5V und 5 und 6 auf Masse.
Schritt 7: Das Gehäuse
Das Video zeigt alle Schritte zum Bau des Fibonacci-Uhrengehäuses. Die Idee ist, 5 quadratische Fächer in der Uhr zu schaffen, fünf Zentimeter tief, die der Größe der fünf ersten Terme der Fibonacci-Folge 1, 1, 2, 3 und 5 entsprechen. Die LEDs sind auf alle Quadrate verteilt und in der Rückseite der Uhr auf die Platine.
Das Gehäuse ist aus Birkensperrholz gebaut. Der Rahmen ist 1/4" dick und die Rückwand ist 1/8" dick. Die Separatoren sind 1/16″ dick und können aus jedem lichtundurchlässigen Material hergestellt werden. Die Abmessungen der Uhr betragen 8″x5″x4″. Die Vorderseite der Uhr ist ein Stück 1/8 Zoll dickes halbtransparentes Plexiglas. Die Trennzeichen werden mit einem Sharpie-Stift markiert.
Die Holzoberfläche ist ein Lack auf Wasserbasis, der nach einem guten Schleifen mit 220 Schleifpapier aufgetragen wird.
Schritt 8: Machen Sie es zu einer Lampe
Die Fibonacci-Uhr kann auch in eine Ambiente-Lampe umgewandelt werden! Der veröffentlichte Code unterstützt bereits zwei Lampenmodi. Drücken Sie einfach die Modustaste, um zwischen den drei Modi zu wechseln. Der Code steht Ihnen zum Hacken offen. Sie können Ihre eigenen Modi implementieren!
Schritt 9: Sie sind fertig
Du bist fertig! Die Fibonacci-Uhr ist ein fantastischer Diskussionsstarter … bringen Sie sie zu Ihrem nächsten NERD-Treffen oder zum weihnachtlichen Familientreffen!
Danke fürs Lesen/Anschauen!
Schritt 10: Der Code
Sie finden den Quellcode auf meinem Github-Konto:
github.com/pchretien/fibo
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