Inhaltsverzeichnis:

Nixie Clock Stimmungsbarometer - Gunook
Nixie Clock Stimmungsbarometer - Gunook

Video: Nixie Clock Stimmungsbarometer - Gunook

Video: Nixie Clock Stimmungsbarometer - Gunook
Video: Shelf Life [Maker Update #166] - Maker.io 2024, November
Anonim
Image
Image

Ein unbemerktes Opfer von Progress ist das aneroide Heimbarometer. Heutzutage finden Sie vielleicht noch Beispiele in den Häusern von Menschen über 90, aber Millionen mehr sind auf der Müllhalde oder bei ebay.

In Wahrheit hat sich das Barometer der alten Schule nicht selbst geholfen, indem es bei seiner einen Aufgabe ziemlich nutzlos war. Selbst unter der Annahme, dass es richtig kalibriert wurde und ordnungsgemäß funktioniert, ist es fast unmöglich, den Luftdruck zur Vorhersage des Wetters oder sogar zur Anzeige des aktuellen Wetters zu verwenden.

Zur Ergänzung der Einführung von 24/7-Wetterberichten in den Massenmedien wurden inzwischen hochgenaue Festkörper-Druck-, Temperatur- und Feuchtigkeitssensoren verfügbar. Werfen Sie einen Prozessor und ein billiges LCD-Display dazu und Sie haben eine "digitale Heimwetterstation". Selbst Wetter-Nerds oder Leute, die das Wetter im Fernsehen oder im Internet für eine Verschwörung der Regierung halten, brauchten kein Barometer mehr.

Das ist schade, denn das Barometer, das wir in meinem Elternhaus hatten, habe ich in guter Erinnerung. Mein Dad gab ihm jeden Tag ein sorgfältig moduliertes Tippen und stellte den aktuellen Leseindikator in einem Mini-Ritual ein, dem ich gerne nacheifern wollte, als ich älter war, selbst nachdem ich herausgefunden hatte, dass das Ding nur ein Weltklasse-Blätter war.

Hier erfahren Sie, wie Sie ein aktualisiertes Barometer mit analoger Anzeige erstellen, das keine der Mängel des Originals behebt, aber einige zusätzliche Funktionen bietet, die noch nutzloser sind als das, womit es begann. Wenn Sie sich das Video ansehen, bekommen Sie die Idee.

Angesichts der bescheidenen Ziele dieses Projekts ist es ziemlich komplex - oder genauer gesagt, das Projekt in seiner Gesamtheit zu replizieren, ist zu viel für ein Instructable. Aus diesem Grund konzentriere ich mich auf den Teil Barometer/Stimmungsbarometer und für den Rest werde ich Sie nur in die richtige Richtung weisen.

Schritt 1: Zutaten & Werkzeuge

Bereiten Sie Ihr Gehäuse sorgfältig vor
Bereiten Sie Ihr Gehäuse sorgfältig vor

Für das Barometer/Stimmungsbarometer benötigen Sie:

  • Ein Aneroidbarometer. Muss nicht funktionieren. Wichtiger ist etwas, das Ihr ästhetisches Empfinden anspricht. Ich wünschte, ich hätte das aus meinem Elternhaus, aber ich glaube, es liegt auf der Müllhalde. Ich habe bei ebay Ersatz für 15€ bekommen.
  • Ein Drucksensor.
  • Ein ESP8266-Modul - ich habe eine NodeMCU verwendet.
  • Ein passender Schrittmotor und eine passende Treiberplatine - der Link ist zu einem Los von fünf, aber für den Preis sind sie kaum zu schlagen. Dieser Motor hat 4096 Schritte in einer vollständigen Umdrehung, was für unsere Zwecke eine ausreichende Auflösung bietet.
  • Eine 5VDC-Stromversorgung - mindestens 1A - für den ESP8266 und den Motor. Ich habe eine kombinierte 12VDC- und 5VDC-Versorgung verwendet, da ich bereits eine hatte und eine 12V-Versorgung für die Nixie-Uhr benötigte (plus mehr 5V-Strom für die anderen Elemente des Projekts).
  • Mindestens drei LEDs (zur Anzeige des Drucktrends).
  • Ein LDR/Fotowiderstand.
  • Verschiedene Verbrauchsmaterialien wie Überbrückungsdraht, Widerstände, Schrumpfschläuche usw.
  • In den meisten Fällen können Sie das Originalgehäuse des Barometers verwenden, das Sie verwenden, um die Elektronik unterzubringen. Ich habe ein vages Uhrengehäuse im Arts & Crafts-Stil umfunktioniert, um sowohl die Uhr als auch das Barometer unterzubringen, sodass ich das Barometergehäuse nicht benötigte.

Toolsweise benötigen Sie einen Lötkolben, eine Heißluftpistole und einige kleine Handwerkzeuge. Wenn Sie erhebliche Änderungen am Gehäuse vornehmen müssen, ist eine Auswahl an Elektrowerkzeugen praktisch.

Schritt 2: Bereiten Sie Ihr Gehäuse sorgfältig vor

Was Sie hier tun müssen, hängt weitgehend vom verwendeten Gehäuse ab. Wenn Sie das eigene Gehäuse des Barometers verwenden, müssen Sie nur herausfinden, wie Sie es auseinandernehmen und den Aneroidmechanismus entfernen. Der Zeiger ist wahrscheinlich direkt an diesem Mechanismus montiert und es muss etwas Sorgfalt aufgewendet werden, um den Zeiger zu lösen, ohne ihn zu beschädigen.

Ich hatte noch etwas zu tun, da mein Uhrengehäuse noch das alte (nicht funktionierende) Uhrwerk enthielt.

Ich weiß so gut wie nichts über mechanische Uhren, aber die kräftigen Spiralfedern legten nahe, dass ich mit Vorsicht vorgehen sollte. Trotzdem war ich, als das Ding explodierte, unvorbereitet. In einer Sekunde löste ich eine scheinbar belanglose Schraube, in der nächsten knallte es laut und die Luft füllte sich mit Staub und Schmutz. Überall lagen Fragmente der Uhr und das Gehäuse selbst war komplett in die Luft gesprengt. So wie ich es mir vorstelle, wenn eine echte Bombe hochgeht, konnte ich einen Moment lang nicht verstehen, was passiert war. In der darauf folgenden ohrenbetäubenden Stille erwartete ich halb, das ferne Heulen der Sirenen zu hören. Außerdem tat meine Hand sehr weh.

Lektion 1: Selbst bescheidene Uhrwerke können überraschend viel Energie speichern.

Lektion 2: Tragen Sie im Zweifelsfall eine Schutzbrille! Ich hatte Glück, mir ist nichts in die Augen geflogen, aber es könnte durchaus sein. Manchmal reicht es nicht aus, nur die alten Sicherheitsschielen zu betätigen (nicht einmal sicher, ob ich das getan habe). Meine Hand war in Ordnung, ich war nur ein Baby.

Nach viel Kleben und Klemmen habe ich das Gehäuse wieder zusammengebaut und war bereit, mit Schritt 3 fortzufahren.

Schritt 3: Komponenten installieren - Teil 1

Komponenten installieren -- Teil 1
Komponenten installieren -- Teil 1
Komponenten installieren -- Teil 1
Komponenten installieren -- Teil 1

Sie müssen einen Weg finden, den Motor so zu installieren, dass die Welle gerade so weit durch das Zifferblatt ragt, dass der Zeiger, wenn er angebracht ist, ohne Störung über das Gesicht streicht. Dies kann etwas schwieriger sein, als es zunächst erscheint, da die meisten Barometer einen anderen Zeiger auf der Innenseite des Glases haben, der in alten Zeiten zur Aufzeichnung des aktuellen Messwerts verwendet wurde. Wie später erläutert, werden wir diesen Zeiger nicht benötigen, aber es hilft, das ursprüngliche Erscheinungsbild des Geräts zu erhalten.

In jedem Fall bedeutet die Existenz des aktuell lesenden Zeigers, dass es eine Grenze gibt, wie weit der "primäre" Zeiger von der Vorderseite des Zifferblatts entfernt sitzen kann.

In die andere Richtung muss der Zeiger weit genug vom Zifferblatt entfernt sein, um nur eine Unterlegscheibe freizugeben, die einen im Zifferblatt installierten LDR einrahmt (siehe nächster Schritt).

Was ich tat, war, das Zifferblatt und seinen Rahmen auf einer Holzunterlage zu montieren und dann den Motor mit entsprechenden Abstandshaltern auf der Unterlage zu montieren. Das erste Bild könnte helfen, dies zu erklären, aber Sie können sich Ihre eigene Anordnung einfallen lassen.

Ein Vorteil bei der Verwendung eines Uhrengehäuses oder etwas ähnlicher Größe besteht darin, dass Platz für die interne Installation des Netzteils vorhanden ist. Für mich war dies wichtig, weil die Uhr auf einem Kaminsims stehen würde, der an eine Steckdose angeschlossen war, die ich speziell installiert hatte. Es wäre schwierig gewesen, eine offensichtlich anachronistische "Wandwarze" oder einen SPS-Stein an dieser Stelle zu verstecken - aber das könnte für Sie kein Problem sein.

Komponenten, die im zweiten Bild nicht gekennzeichnet sind, beziehen sich auf die Takt- und Chimer-Teile des Projekts (die dritte NodeMCU und die zugehörige Verkabelung befinden sich unter der Nixie-Platine).

Die Platzierung von allem anderen – hauptsächlich des BMP180-Sensors, der Motortreiberplatine und der NodeMCU – ist nicht kritisch. Das heißt, bis ich das Verbindungskabel von der Treiberplatine weggeführt habe, funktionierte der Motor manchmal nicht richtig. Ich bin mir nicht sicher, was dort vor sich ging, aber wenn Ihr Motor komisch klingt und / oder sich nicht reibungslos bewegt, möchten Sie vielleicht versuchen, die Drähte zu verschieben.

Um den Drucktrend (steigend, fallend oder stetig) nicht manuell aufzeichnen zu müssen, habe ich drei kleine LEDs unter dem Zifferblatt eingebaut. Wenn alle drei leuchten, befindet sich das Barometer im Stimmungsmodus. Ich habe "warmweiße" LEDs verwendet, um zu versuchen, das Periodengefühl beizubehalten. Unmoduliert waren sie bei frontaler Betrachtung viel zu hell, aber mit etwas Hochleistungs-PWM bekam ich den Look, den ich suchte. Für Traditionalisten steht weiterhin der aktuelle Lesehinweis zur Verfügung.

Schritt 4: Komponenten installieren - Teil 2

Komponenten installieren – Teil 2
Komponenten installieren – Teil 2

Kommen wir zum LDR im Zifferblatt. Erstens, warum zum Teufel brauchen wir das?

Nun, es ist meine Lösung für eine Einschränkung eines billigen Schrittmotors - obwohl er sich in präzisen Schritten bewegen kann, hat er keine inhärente Fähigkeit zu wissen, wo er sich befindet, außer durch Bezugnahme auf seine Ausgangsposition. Während ich theoretisch denke, dass Sie dies hart codieren und alle nachfolgenden Bewegungen verfolgen könnten, vermutete ich (ohne wirkliche Grundlage), dass sich Fehler schnell einschleichen würden, insbesondere angesichts der groß angelegten Bewegungen, die im "Stimmungsmodus" erforderlich sind. Außerdem wären Sie mit einem Stromausfall vollgestopft (jede Bewegung in das EEPROM zu schreiben ist nicht wirklich praktisch).

Mein erster Gedanke war, einen Kalibrierungszyklus beim Einschalten einzuführen und zwischen Stimmungs- und Barometermodus zu wechseln. Dieser Zyklus würde einen Mikroschalter an einer bekannten Stelle auf dem Zifferblatt auslösen. Aber die mechanische Umsetzung der Schalteridee schien mir zu anspruchsvoll. Der Zeiger selbst ist viel zu dünn, um der Aktuator zu sein, also müsste ich etwas anderes auf der Welle installieren. Dann war da noch das Problem, die 360°-Bewegung zu erhalten - ein Grund, warum ich mich eher für einen Schrittmotor als für ein Standard-Servo entschieden hatte. Mit etwas mehr Einfallsreichtum, als ich aufbringen konnte, könnte ein Mikroschalter zum Laufen gebracht werden - oder vielleicht gibt es auch eine Standardlösung für Positionssensoren -, aber ich ging einen anderen Weg.

Beachten Sie, dass auf dem Bild des Zifferblatts eine Unterlegscheibe in der Ein-Uhr-Position montiert ist. Dieser Washer umrahmt einen LDR, der an den einzelnen analogen Eingang der NodeMCU angeschlossen ist. Wenn das Barometer eingeschaltet wird oder den Modus wechselt, tritt die NodeMCU in einen Kalibrierungszyklus ein und sucht einfach nach einer plötzlichen Änderung der Lichtstärke, die durch die Bewegung der Rückseite des Zeigers über den LDR verursacht wird. Jede weitere Bewegung wird von dieser bekannten Position aus indiziert. Ich musste ein wenig an den Schwellenwerten im Code herumfummeln, damit dies zuverlässig funktioniert, aber als das erledigt war, war ich angenehm überrascht, wie genau es war - ständig kehrte ich zu den Barometereinstellungen innerhalb von 1% oder 2% der erwarteten Werte zurück.

Es funktioniert natürlich nicht im völligen Dunkeln, aber Sie würden dann normalerweise nicht zwischen den Modi wechseln. Wenn der Kalibrierungszyklus aus irgendeinem Grund nicht innerhalb einer eingestellten Zeit abgeschlossen werden kann, gibt er auf und die Trend-LEDs blinken.

Wie auch immer, das Schöne am LDR-Ansatz ist, dass die Installation super einfach ist – bohren Sie ein Loch in das Zifferblatt, das gerade groß genug für das LDR ist, an einer Stelle, an der es vom hinteren Ende des Zeigers bedeckt wird. Um eine schöne "Dichtung" zwischen Zeiger und LDR zu erhalten, kleben Sie eine kleine Unterlegscheibe um den LDR und modifizieren Sie ggf. den Zeigerschwanz (ich habe etwas passend geformtes schwarzes Papier verwendet).

Schritt 5: Der Code - Grundfunktionen

Der Code - Grundfunktionen
Der Code - Grundfunktionen

Wie andere herausgefunden haben, konnte ich die Standard-Arduino-Schrittmotorbibliothek nicht mit diesem Motor und Treiber zum Laufen bringen. Glücklicherweise gibt es dazu ein gutes Instructable mit Code, der funktioniert. Ich habe den Code im ursprünglichen Posting für das grundlegende Stepping verwendet, obwohl in den Kommentaren mehrere Optimierungsvorschläge enthalten sind. Dieser Code erfordert keine Bibliothek.

Zur Verarbeitung der Druckdaten habe ich ein Beispiel aus der Sparkfun BMP180 Bibliothek verwendet. Das musste ich dann nur noch mit der Motorsteuerung verbinden.

Schritt 6: Der Code - Kalibrierung, Steuerung, GUI, Google Assistant und Utility-Funktionen

Der Code - Kalibrierung, Steuerung, GUI, Google Assistant und Utility-Funktionen
Der Code - Kalibrierung, Steuerung, GUI, Google Assistant und Utility-Funktionen

Die Primärkalibrierung ist fest codiert. Um auf der sicheren Seite zu sein und eine mögliche Verlegung des Barometers auf eine andere Höhe zu berücksichtigen, wird die Sekundärkalibrierung und -steuerung mit einem Webserver erreicht, der von der NodeMCU und der Websocket-Kommunikation hochgefahren wird. Eine gute Quelle, um dies zu erfahren, ist hier.

Wie das Video zeigt, liegt der eigentliche „Wow“-Faktor dieses Projekts jedoch in der Steuerung über Google Assistant/Google Home. Hier gibt es eine Anleitung für den Toaster GA (angetrieben von einem Raspberry Pi3). Keine Sorge, Sie müssen keinen 400-Dollar-Toaster als Gehäuse verwenden.

Befehle werden vom GA über IFTTT und Adafruit IO an die NodeMCU übergeben. Eine gute Quelle dazu ist hier. Es gibt andere, kompliziertere Möglichkeiten, mit Ihrem Google Assistant zu interagieren, aber für dieses Projekt funktioniert dieser sehr einfache Ansatz perfekt.

Schließlich enthält der Code einige äußerst nützliche Dienstprogrammfunktionen (Over-the-Air-Aktualisierung, Multicast-DNS, Wifi-Manager), die ich in alle meine ESP8266-basierten Projekte integriert habe.

Der gesamte Code für dieses Projekt (einschließlich der Nixie-Uhr und der Chimer-Steuerung) befindet sich hier auf Github. Ich habe die Bilder, die ich in den HTML/CSS-Dateien verwendet habe, belassen, damit es (hoffentlich) sofort funktioniert - Sie müssen nur Ihre eigenen Adafruit IO-Kontodetails hinzufügen.

Schritt 7: Die Nixie Clock und Chimer

Die Nixie Clock und Chimer
Die Nixie Clock und Chimer

Die Nixie Clock wird von einer separaten NodeMCU gesteuert und verwendet eine Nixie-Röhre und ein Treibermodul, das als Arduino-Shield hier erhältlich ist. Die Version im Link enthält ein GPS-Modul zur Zeiterfassung. Mein Schild (eine frühere Version) hat kein GPS-Modul, aber ich verwende die Node-MCU, um Zeit aus dem Internet zu beziehen, was in gewisser Weise besser ist.

Das Steuerungsschema und die GUI für die Uhr haben mehr Konfigurationsmöglichkeiten, sind aber ansonsten dem Barometer sehr ähnlich. Hier gibt es eine kleine Überschneidung, da die Nixie-LEDs auf Stimmungseingaben des Barometers reagieren (über den gleichen Adafruit IO-Feed).

Aus den Trümmern des ursprünglichen Uhrwerks habe ich genug Bits geborgen, um einen Chimer-Mechanismus zu bauen, der von einer dritten NodeMCU (hey, sie kosten jeweils nur 6 US-Dollar) und einem weiteren Schrittmotor angetrieben wird. Alles, was ich hinzugefügt habe, war eine "Schnittstelle" zwischen dem ursprünglichen Mechanismus und dem Motor. "Interface" steht in Anführungszeichen, da es nur aus einem Rundstecker besteht, in den zwei rechtwinklig eingeschlagene Nägel auf die Motorwelle geschoben werden. Jede Vierteldrehung dieser Vorrichtung führt zu einem Schlag des Chimären. Auch hier ähnelt das Chimer-Steuerungsschema dem Barometer und alle drei Webserver sind miteinander verbunden, um das Ganze nahtloser erscheinen zu lassen, als es wirklich ist.

Die Clock- und Chimer-NodeMCUs arbeiten völlig unabhängig voneinander, sind aber aufgrund der Wunder der Internetzeitmessung immer perfekt synchron.

Empfohlen: