Inhaltsverzeichnis:

Smartphone-gesteuerte unendliche Uhr - Gunook
Smartphone-gesteuerte unendliche Uhr - Gunook

Video: Smartphone-gesteuerte unendliche Uhr - Gunook

Video: Smartphone-gesteuerte unendliche Uhr - Gunook
Video: Eigene Armband-Uhr bauen! (Metall & Holz) 2024, November
Anonim
Image
Image
Smartphone-gesteuerte unendliche Uhr
Smartphone-gesteuerte unendliche Uhr
Smartphone-gesteuerte unendliche Uhr
Smartphone-gesteuerte unendliche Uhr

Ich habe viele Projekte von Infinity Mirrors und Infinity Clocks auf Instructables gesehen, also beschloss ich, meine zu machen. Es mag sich nicht sehr von den anderen unterscheiden… aber ich habe es selbst gemacht, also ist es so!

Bild
Bild

Falls Sie es noch nicht wissen:

Was ist eine Infinity-Uhr?

Eine Infinity-Uhr verwendet Mehrfachreflexionen zwischen einem Spiegel und einem halbreflektierenden Spiegel, um die Illusion einer großen Tiefe zu erzeugen, während sie nur einen Zentimeter tief ist!

Die Zeit wird durch LEDs angezeigt, die zwischen diesen Schnittstellen mehrfach reflektieren und diesen Eindruck von Tiefe vermitteln.

Bild
Bild

Mehrfachreflexionen vermitteln den Eindruck von Tiefe

Die LEDs sind adressierbar und mehrfarbig, so dass sie leicht für Lichtanimationen verwendet werden können.

Ich wollte es interaktiv und veränderbar machen, also fügte ich eine Smartphone-Steuerung mit Bluetooth-Kommunikation hinzu. Es gibt eine echte Zwei-Wege-Kommunikation zwischen der Uhr und dem Smartphone. Der Benutzer kann über das HMI (Human Machine Interface) die verschiedenen Parameter wie Animationen, Farben ändern. Sie kann aber auch direkte Befehle senden, um zum Beispiel die Uhrzeit zu ändern, und die Uhr antwortet, um zu sagen, dass der Befehl akzeptiert wird oder nicht.

Die HMI wurde mit einer programmierbaren Android-App erstellt, also musste ich sie nur entwerfen und die Kommunikation auf der Arduino-Seite codieren.

Bild
Bild

Lasst uns nun anfangen…

Schritt 1: Was brauchen Sie?

Was brauchst du?
Was brauchst du?
Was brauchst du?
Was brauchst du?
Was brauchst du?
Was brauchst du?
Was brauchst du?
Was brauchst du?

Um diese Infinity-Uhr zu bauen, benötigen Sie Folgendes (Preise sind indikativ):

  • Ein Arduino Nano (2 USD)
  • Ein adressierbarer LED-Streifen wie WS2812-LEDs, 60 LEDs pro Meter (6 USD)
  • Ein Bluetooth-Modul wie das HC-05 (3 USD)
  • Ein Steckbrett (1,5 USD)
  • Eine 5V-Versorgung, die 4A oder mehr liefern kann
  • Ein paar Stromkabel
  • Ein Smartphone mit Android und die Bluetooth-Elektronik-App von KeuwlSoft
  • Einige Stücke mitteldichte Faserplatten (MDF, ein 3 mm dickes und ein 10 mm dickes)
  • Eine transparente Plexiglas- oder Plexiglasplatte (ca. 15 bis 20 USD)
  • Spiegel und halbreflektierende Spiegelklebefolien (von 4 bis 15 USD)
  • Anschlüsse, Widerstände und eine Kapazität von 1000µF
  • Etwas Kleber und Klebeband.
Bild
Bild

Prinzipskizze der Geometrie der Uhr

Die Plexiplatte sollte 2 bis 3 mm dick sein, damit sie im Gebrauch fest an ihrem Platz bleibt.

Das obige Diagramm erklärt die Geometrie der Uhr. Der LED-Streifen wird zwischen den beiden Spiegeln platziert. Natürlich benötigen Sie 60 dieser LEDs auf dem Streifen. Sie können online LED-Streifen mit 60 LEDs pro Meter finden, also ist eine davon gut. Dann beträgt der Umfang des LED-Kreises 1 m, sein Durchmesser beträgt 100/PI = 31,8 cm (ca. 12,53 Zoll).

Bereiten Sie Ihre Komponenten vor

Schneiden Sie einen Kreis mit diesem Durchmesser in die 3 mm MDF-Platte. Um dies zu tun, ging ich zum örtlichen Fablab und bat darum, den Laserschneider zu verwenden. Sie können es sogar für Sie tun, wenn Sie freundlich fragen und Sie mit dem Board kommen: Es dauert nur wenige Sekunden. Während Sie dort sind, schneiden Sie dieselbe Scheibe in Ihre Plexiglasplatte.

Von der MDF-Platte haben Sie nun eine Scheibe und die Platte mit dem runden Loch. Behalte sie beide für später.

Um die LEDs an Ort und Stelle zu halten, schneiden Sie auch in das 1 cm dicke MDF einen dünnen Zylinder mit dem gleichen Durchmesser. Die Dicke ist nicht wichtig, solange sie nicht zu zerbrechlich ist. Der LED-Streifen wird in diesem Zylinder platziert, daher ist es wichtig, dass der Innenumfang der Länge des Streifens entspricht. Zu lang oder zu kurz, und einige LEDs können unregelmäßige Abstände haben, also seien Sie hier sehr genau.

Das Schneiden einer so dicken Platte kann etwas länger dauern als das Schneiden einer dünnen. Fragen Sie den Fablab-Besitzer, ob sein Laserschneider stark genug ist, um diese Dicke zu schneiden. Für mich musste der Laser für dieses Teil mehr als zehn Mal durchlaufen, im Vergleich zu nur zwei für die andere Platte.

Du kannst auch…

Anstelle von MDF können hier auch transparente oder farbige Plexiglasplatten verwendet werden. Plexiglas gibt es in verschiedenen Farben, von Schwarz über Gelb bis hin zu Grün und Violett, also zögern Sie nicht, sie auszuprobieren.

Bild
Bild

Das Fablab weiß, wie man sie schneidet, und das Schneiden von Plexiglas ist im Vergleich zu Holz, das im Laserpfad "verbrennen" kann (ich meine die Farbe aufgrund der Laserenergie ändern), sehr "sauber". Es gibt auch Spiegel-Plexiglas, das Ihnen den Kauf der Spiegelfolie ersparen kann. Denken Sie beim Schneiden daran, den Laser auf die Rückseite des Spiegels zu senden…

Unten sind die Geometriedateien für den Laserschnitt.

Schritt 2: Montieren Sie die Uhr

Baue die Uhr zusammen
Baue die Uhr zusammen
Baue die Uhr zusammen
Baue die Uhr zusammen
Baue die Uhr zusammen
Baue die Uhr zusammen
Baue die Uhr zusammen
Baue die Uhr zusammen

Um die Uhr herzustellen, müssen Sie nur die Teile gemäß dem Schaltplan zusammenbauen.

Bereiten Sie den Fall vor

Kleben Sie zuerst die Spiegelfolie auf die MDF-Disc. Es wird das Ende der Uhr sein.

Zweitens kleben Sie die halbtransparente Folie auf die Plexiglasscheibe. Dieses bildet das Frontglas der Uhr. Diese Scheibe wird in die MDF-Platte in das runde Loch eingelegt: kleben Sie sie ggf. mit Holzleim oder Silikongummi.

Bereiten Sie zuletzt die LEDs vor. WS2812 LEDs verwenden 3 Anschlusspads: Spannungsversorgung, Masse und Befehl. Wenn bereits 3 Stromkabel angeschlossen sind, verwenden Sie diese einfach. Ansonsten 3 Drähte an die Anschlusspads anlöten. Denken Sie daran, dass LEDs polarisierte Geräte sind: Das bedeutet, dass der Strom nur in eine Richtung fließt. Diese Richtung ist auf dem Streifen mit einem Pfeil gekennzeichnet. Dann sollten Sie die Drähte am Ende des Streifens löten, von wo die Pfeile kommen (nicht das Ende, auf das die Pfeile zeigen).

Kleben Sie die LEDs in den dicken MDF-Zylinder und montieren Sie die 3 Teile mit Klebstoff und / oder Klebeband.

Bild
Bild

Dann der elektronische Teil

Legen Sie das Arduino in das Steckbrett und erstellen Sie die Schaltung wie oben gezeigt. Stellen Sie sicher, dass alle Masse (GND) verbunden sind (GND von Arduino, HC-05-Modul, LED-Streifen und Versorgung).

  • Die RX- und TX-Pins des HC-05 Bluetooth-Moduls sind mit den Pins D3 und D2 des Arduino verbunden
  • Die Datenleitung des LED-Streifens ist mit dem Pin D12 verbunden, Sie können einen 300 Ohm Widerstand dazwischen schalten, wenn Sie einen haben.

Wenn Sie die Pins ändern möchten, ändern Sie deren Definitionen im Code entsprechend (Zeilen 7 und 13 der ino-Datei).

Beachten Sie, dass das HC-05-Modul einen Spannungsteiler für seinen RX-Pin benötigt, wie unten gezeigt. Sie benötigen also einen 1000-Ohm- und einen 2000-Ohm-Widerstand.

Bild
Bild

Die Versorgung wird sowohl für den Arduino als auch für den LED-Streifen verwendet. Schließen Sie zuerst den 1000µF Kondensator in eine Schraubklemme (Domino) an. Sie können Schnellverbinder verwenden, wenn Sie welche haben. Weitere Informationen finden Sie hier.

Bild
Bild

Dieser Kondensator kann auch polarisiert sein: Stellen Sie sicher, dass die + und - Zweige mit den + und - der Versorgung verbunden sind. Wie auf dem Bild des Kondensators zu sehen ist, ist das - Bein mit einem großen Minuszeichen gekennzeichnet.

Bild
Bild

Stecken Sie dann vom Anschluss elektrische Drähte, um den LED-Streifen und die Arduino-Platine zu verbinden. Wie oben erwähnt, sollten alle GND miteinander verbunden werden. Verbinden Sie vom positiven Potenzial der Versorgung den 5V-Draht des Streifens und ziehen Sie einen Draht zum 5V-Pin des Arduino: Lassen Sie ihn für den Moment unverbunden, Sie werden ihn am Ende anschließen.

Überprüfe alles… zweimal

Überprüfen Sie alle Anschlüsse zweimal… Verwenden Sie ein Multimeter, wenn Sie eines haben, um den elektrischen Durchgang zu überprüfen.

Wenn alles stimmt, ist Ihre Uhr fast fertig. Liefern Sie es vorerst nicht.

Schritt 3: Laden Sie den Code hoch

Laden Sie den Code hoch
Laden Sie den Code hoch
Laden Sie den Code hoch
Laden Sie den Code hoch
Laden Sie den Code hoch
Laden Sie den Code hoch
Laden Sie den Code hoch
Laden Sie den Code hoch

Lassen Sie uns programmieren

Um den Code in den Arduino nano hochzuladen, verwenden Sie die Arduino IDE. Legen Sie alle Dateien in einen Ordner namens "Horloge_LED3_nano_BTOK" in Ihrem Arduino-Ordner. Öffnen Sie die IDE, wählen Sie die richtigen Parameter (Kartentyp, COM-Port usw.) aus und klicken Sie auf die Schaltfläche Hochladen.

Bild
Bild

Installieren Sie auf Ihrem Android-Smartphone die Bluetooth Electronics-Anwendung, die Sie leicht bei Google Play finden können. Laden Sie die Datei "BluetoothElectronicsCode.txt" von diesem Instructable herunter und ändern Sie die Erweiterung in Zip: Sie erhalten ein Zip-Archiv mit dem Code für die Smartphone-Schnittstelle, um mit Bluetooth-Elektronik zu laufen.

Wenn Sie bereit sind, schließen Sie die Stromversorgung an. Die LEDs leuchten auf, das HC-05-Modul erlischt ebenfalls, um nach der Verbindung zu suchen. Starten Sie die Android-App und folgen Sie den Anweisungen, um das Bluetooth-Modul mit Ihrem Smartphone zu koppeln. Wenn Sie bereit sind, starten Sie das HMI: Sie sind bereit zu spielen!

Beachten Sie, dass…

Die erste LED des Streifens sollte oben auf der Uhr platziert werden. Wenn Sie es nicht dort platziert haben, können Sie den Offset-Parameterwert im Code ändern (Zeile 65 der ino-Datei). Dafür sorgt es.

Wenn Sie den LED-Streifen in den flachen Zylinder geklebt haben, gab es 2 Möglichkeiten: entweder den Streifen im Uhrzeigersinn oder gegen den Uhrzeigersinn drehen. Wenn Sie es falsch gemacht haben, drehen sich die Zeiger der Uhr in die falsche Richtung! Kein Problem. Ändern Sie einfach den Wert der booleschen Variablen sens_horaire auf true (Zeile 77 der ino-Datei)

Bild
Bild

Schritt 4: Viel Spaß

Genießen!
Genießen!
Genießen!
Genießen!
Genießen!
Genießen!

Eine letzte Einstellung…

Stellen Sie nun die Uhrzeit ein. Dies kann mit einfachen Befehlen erfolgen, die Sie in die kleine Konsole im unteren linken Teil des HMI eingeben.

  • Hxx: Stellen Sie die Stunden auf xx ein (zB: H4)
  • Myy: Stellen Sie die Minuten ein (z. B. M15)
  • Szz: Stellen Sie die Sekunden ein (z. B. S30)

Die Befehle können verkettet werden, indem ein Stern dazwischen eingefügt wird, zum Beispiel: H4*M15*S35

Durch Einstellen von Stunden und/oder Minuten werden die Sekunden auf Null zurückgesetzt.

Sie sehen dann, dass die Stunde durch eine ROTE LED angezeigt wird, die Minuten durch eine GRÜNE LED:

Bild
Bild

Es ist 9:52:00!

Die Farbe der Sekunden kann mit dem Schieberegler auf dem HMI geändert werden

Bild
Bild

Wenn Sie den Schieberegler bewegen, zeigt der kleine Kreis auf der rechten Seite die aktuelle Farbe an. Wenn der Schieberegler stoppt, sendet er die Farbe an die Uhr und die LED der Sekunden ändert sich entsprechend.

Mit den Schiebereglern ANIMATION und PALETTE können die Lichtanimationen der Uhr ausgewählt und angepasst werden. Testen Sie sie und sehen Sie sich das Video für einige Beispiele an. Wenn Sie einige Einstellungen am HMI ändern, zeigt die kleine Konsole die Antwort des Arduino an.

Animationen…

  • 0: Zeigt nur die Uhrzeit an, Sie können die Farbe der Sekunden mit dem Schieberegler ändern.
  • 1: Ein farbiger Hintergrund (Sie können die Farbe ändern) mit variabler Amplitude.
  • 2: Rotierender Regenbogen
  • 3: Ein farbiges Band (das geändert werden kann), das eine Umdrehung pro Sekunde macht.
  • 4: Ein farbiger Streifen, der vom Sekundenzeiger abprallt.
  • 5: Ein farbiger Hintergrund (Sie können die Palette ändern) mit zufälliger Amplitude.
  • 6: Zeigt nur die Zeit an, der Sekundenzeiger ändert seine Leuchtweite.
  • 7: Rotierende Flaggen (ändern Sie die Palette, um die Flagge unter 4 möglichen zu ändern)
Bild
Bild

Die französische Flagge – es ist 7:11:51

Vor kurzem wurde eine weitere Animation hinzugefügt, die sich alle 15 Sekunden für eine zufällig ausgewählte Animation ändert.

Die MINUTEN-Taste schaltet weiße LEDs alle 5 Minuten auf der Uhr ein und aus.

Bild
Bild

Es ist 7:11:25

Beachten Sie, dass das Video und die Fotos mit einem Smartphone erstellt wurden und daher von schlechter Qualität sind. Die Farben sind auf der Uhr viel heller und genauer als auf dem Video…

Was sonst?

Ich hoffe, Sie werden diese Unendlichkeitsuhr gerne machen. Es bleibt noch viel zu tun: Sie können die MDF-Frontplatte bemalen, um sie schöner zu machen, einen weiteren LED-Streifen an der Außenseite des Zylinders hinzufügen, um auch animierte Licht an die Wand zu werfen usw.

Bild
Bild

Schritt 5: Neue Version, um die genaue Zeit zu halten

Die Uhr des Arduino nano neigt dazu, in der Zeit zu driften, da sie keine genaue Uhr hat. Ich habe eine andere Version mit einer Echtzeituhr (RTC) erstellt, um eine genaue Zeit zu erhalten.

RTC gibt es in verschiedenen Modellen, ich empfehle die Verwendung eines DS3231-Moduls, das sehr genau ist (im Vergleich zu DS1307). Diese neue Version des Programms verwendet die Bibliothek MD-DS3231, die hier verfügbar ist. Erstellen Sie einfach einen neuen Ordner namens Horloge_LED3_nano_BT_RTC in Ihrem Arduino-Ordner und laden Sie alle Dateien herunter.

Schließen Sie den DS3231 als I2C-Gerät an, d. h. SDA an A4 und SCL (oder SCK) an A5

Zuerst müssen Sie die Uhrzeit der RTC einstellen. Siehe zum Beispiel diese Instructables oder dieses Tutorial.

Laden Sie die Datei Horloge_LED3_nano_BT_RTC.ino auf Ihrem Arduino nano hoch und führen Sie sie aus. Die Zeit wird alle 30 Minuten aktualisiert, so dass die Uhr die ganze Zeit genau bleibt.

Natürlich müssen Sie die Batterie auf dem RTC-Modul haben, da sie die RTC am Leben hält, auch wenn sie nicht vom Arduino versorgt wird, und die genaue Zeit halten kann.

Empfohlen: