Inhaltsverzeichnis:

LCD DATUM/UHR Vergessen Sie die Echtzeituhr - Gunook
LCD DATUM/UHR Vergessen Sie die Echtzeituhr - Gunook

Video: LCD DATUM/UHR Vergessen Sie die Echtzeituhr - Gunook

Video: LCD DATUM/UHR Vergessen Sie die Echtzeituhr - Gunook
Video: Wie Stellt Man Uhrzeit und Datum ein Digitale Sport Uhr? (Deutsch 🇩🇪) 2024, November
Anonim
LCD DATUM/UHR Vergessen Sie die Echtzeituhr
LCD DATUM/UHR Vergessen Sie die Echtzeituhr

Eine NIST 2010 Quantenlogikuhr basierend auf einem einzelnen Aluminiumion.

Im Jahr 2010 platzierte ein Experiment zwei Aluminium-Ionen-Quantenuhren nahe beieinander, wobei die zweite im Vergleich zur ersten 12 Zoll (30,5 cm) höher lag, was den gravitativen Zeitdilatationseffekt in alltäglichen Labormaßstäben sichtbar machte. Damit werden Einsteins Gravitationstheorien widerlegt. Die Uhren waren in ihren Positionen umgekehrt und zeigten die gleichen Zeitverschiebungen. NIST-Postdoktorand James Chin-wen Chou mit der genauesten Uhr der Welt, basierend auf den Schwingungen eines einzelnen Aluminiumions (elektrisch geladenes Atom). Das Ion ist im Metallzylinder (Mitte rechts) gefangen. Er sagt 'in 3,7 Milliarden Jahren um 1 Sek.' … warten wir ab!

SUPER DUPER WOW.

Wenn Sie also wirklich schnelle Quantenschwingungen verwenden, denken Sie, dass schneller besser ist. Der 328-Chip in Unos ist mit 16 MHz ziemlich schnell. Das ist viel schneller als der typische Uhrkristall, der 32,768 khz beträgt. Das ist 500 mal schneller! Und der 328 hat einen Temperatursensor, um die Uhr zu kompensieren.

Warum kann die 328 also kein billiges Uhrenglas vorformen?

Schritt 1: WAS ZU ERWARTEN IST

WAS ZU ERWARTEN IST
WAS ZU ERWARTEN IST

Dies ist mein zweiter Versuch, eine Uhr mit NUR dem 328-Chip herzustellen. Jeder 328 läuft zu unterschiedlichen Zeiten, obwohl er einen 16-MHz-Kristall hat. Sie erhalten also schlechte Ergebnisse, wenn Sie nur millis() zählen. Die läuft mit 1.000 Hz. Dies macht ONE Millis(1) im Durchschnitt auf etwa +- 3,6 Sekunden pro Stunde genau. Arduino Mills () zählt keine Fraktionsmühlen oder verwendet Schwimmer. Dies macht das Zählen von Bruchteilen einer Mühle unmöglich. Die Verwendung von Arduino micros () ist die nächste Wahl. Aber die Verwendung von micros() läuft in nur 71 Minuten aus. (Das ist wirklich kein Problem). Das Problem für mich besteht darin, mit den großen Zahlen umzugehen und wiederholte Anpassungen basierend auf der GPS-Uhrzeit vorzunehmen. Eine andere Möglichkeit ist ein Interrupt. Dies zählt die Sekunden, egal wo der Code innerhalb der Schleife läuft. Damit ist die 328 so gut wie eine RTC. Selbst wenn die Flecken des 'micros()' berücksichtigt werden, ergibt dies bei +- 4 uS einen 250-kHz-Takt. Das ist 7-mal besser als die 32.768 kHz.

Hier ist also meine Arduino-LCD-Uhr basierend auf einem 16-Bit-TimerOne-Interrupts mit Mikrosekunden. Es ist nicht ganz so gut wie das Zählen von Aluminiumionen! Aber es ist einfach und mit einigen Kalibrierungen kann es so gut wie eine RTC sein. Ich habe 3 Versionen dieser Uhr gemacht. Von der Verbindung zum Computer-USB. Mit 4 Knöpfen alleine stehen. Zum Außen-GPS mit Temperatur mit einem HC12. Dieses instructable deckt die ersten 2 Takte ab und ich schreibe eine andere "in die Tiefe" für den HC12.

Siehe mein anderes anweisbares zu HC12-Bereichsproblemen.

Was Sie erwarten können, ist eine einfache LCD-Uhr/Datum mit UNO und ein 16x2-LCD. Ich habe einige benutzerdefinierte Nummern für das LCD gemacht. Die Bibliothek 'BIG Numbers' nimmt 3 Plätze ein, meine nur 1. Die 4 Tasten haben einen internen Pullup, so dass der Aufbau einfach ist. Ich habe einen Fall dafür und ein 2 LCD und Rückseiten.

Die öffentliche Bibliothek hier in meiner Kleinstadt hat einen 3D-Drucker, den jeder benutzen kann. Schauen Sie also in einer Bibliothek in Ihrer Nähe nach, um das LCD-Gehäuse herzustellen.

Meine Tests zeigen alle 24-48 Stunden -+ Sekunde. Das ist ungefähr eine Minute Pause in zwei Monaten. Drei oder vier Einstellungen bringen die Uhr auf den Punkt. Nur ca. 12 Sekunden vor MONAT aus. Wiederholte Versuche, Nähte zu "kalibrieren", um nur Zahlen zu jagen. Die einzige BAD-Funktion ist die Verwendung von JEDEM 'Menü' setzt die Sekunden auf 00 zurück. Dies ändert die aktuelle Uhrzeit. Ich habe eine Zeitüberschreitung von 60 Sekunden für den Tastendruck gelassen, um eine Synchronisierung mit einer anderen Uhr zu ermöglichen.

Schritt 2: DIE MUTTERN UND BOLZEN

DIE MUTTERN UND SCHRAUBEN
DIE MUTTERN UND SCHRAUBEN
DIE MUTTERN UND SCHRAUBEN
DIE MUTTERN UND SCHRAUBEN
DIE MUTTERN UND SCHRAUBEN
DIE MUTTERN UND SCHRAUBEN
DIE MUTTERN UND SCHRAUBEN
DIE MUTTERN UND SCHRAUBEN

Dieses Projekt ist eine STAND-ALONE-Uhr ohne RTC, nur ein Uno und LCD. Mit den 4 Tasten können Uhrzeit/Datum eingestellt und die Zeitzone angepasst und kalibriert werden.

Die 3D-Druckerdateien haben ein und zwei LCD-Gehäuse für andere Projekte.

Das LCD hat GROSSE ZAHLEN, die nur EINEN Platz in der Breite einnehmen. Dafür habe ich einige Zeit gebraucht

Das Gehäuse hat 8 Löcher für Knöpfe für andere Projekte.

Schließen Sie einfach eine 5-V-Wandwarze für die Stromversorgung an.

Überprüfen Sie Ihre lokale BIBLIOTHEK auf die Verwendung eines 3D-Druckers !!

Schritt 3: ÜBER DAS BAUEN

ÜBER DAS BAUEN
ÜBER DAS BAUEN
ÜBER DAS BAUEN
ÜBER DAS BAUEN
ÜBER DAS BAUEN
ÜBER DAS BAUEN

Alle Arduino-Boards mit MEGA 328-Mikros sollten funktionieren. Es benötigt einen 16-MHz-Kristall und muss mit dieser Geschwindigkeit laufen. 3,3 Volt bei 8 MHz funktionieren möglicherweise nicht mit dem Interrupt-Timing. Für das Gehäuse passt ein Pro-Mini am besten, aber Sie können einen Nano hineinquetschen, aber das USB-Kabel kann ein Problem sein. Dies ist ein Hitachi 16x2 LCD, sehr beliebt. Einige billige sind langweilig und nur schwach. Für ein gängiges I2c-Wandlermodul wird ein Randstecker benötigt. Für den Anschluss an die Uno werden nur 4 Drähte benötigt. Es gibt viele Tutorials, die zeigen, wie Sie das LCD ohne Konvertermodul anschließen können, wenn Sie keins möchten. Für die No-Button-Uhr ist das alles, was Sie tun.

Das LCD hat ein benutzerdefiniertes Zeichen BIG NUMBER. Die großen Zahlen nehmen nur EINE Breite ein.

Schritt 4: 4 KNÖPFE und FALL

4 KNÖPFE und HÜLLE
4 KNÖPFE und HÜLLE
4 KNÖPFE und HÜLLE
4 KNÖPFE und HÜLLE
4 KNÖPFE und HÜLLE
4 KNÖPFE und HÜLLE

Das gleiche wie oben, aber die 4 Schalter hinzufügen. Für das Gehäuse wird eine Standard-PC-Platine von 2 Zoll x 2,5 Zoll verwendet. Einfach halbieren und die Schalter so installieren, dass die Beine von links nach rechts gehen. Wenn Sie die Schalter mit den Beinen nach oben stellen, werden die Löcher im Gehäuse nicht ausgerichtet. Prüfen Sie vor dem Löten, ob sie mit den Gehäuselöchern übereinstimmen. Erden Sie die unteren Beine (alle) und führen Sie jedes obere Bein zu einem Stift am Uno. Siehe beiliegenden Schaltplan. Wenn Sie das Gehäuse in 3D drucken, muss der Knopfteil auf das LCD-Gehäuse geklebt werden. Es rastet NICHT ein wie die Rückseite. Alle kleinen selbstklebenden Schrauben halten das LCD an Ort und Stelle. ZU groß und Sie werden das Gehäuse knacken. Heißklebestift ist vielleicht der beste. Bevor Sie das LCD montieren… schwärzen Sie den LED-Bereich mit schwarzem Klebeband. Sonst scheint es durch das Gehäuse. Zur Montage des Pro Mini verwende ich 2 Seitenschaumband in 2 Lagen. Dieses Band ist ein Schnäppchen bei 'Dollar Tree Stores'. Ich verwende fest beschichteten Magnetdraht von etwa 26 Gauge. Ich habe eine großartige Anleitung für "einen armen Mann-Löttopf", um diesen Draht in Anschlüssen zu verwenden.

Schritt 5: DAS LCD

DAS LCD
DAS LCD
DAS LCD
DAS LCD
DAS LCD
DAS LCD

LCD-Probleme

Sobald Sie mit dem Build fertig sind, laden Sie die Skizze herunter und installieren Sie sie. Das LCD beleuchtet das Display möglicherweise nicht. Hier sind einige Tipps. Die LCD-LED sollte leuchten und den Bildschirm bläulich machen. Wenn keine LED vorhanden ist, überprüfen Sie die Jumper-Pins gegenüber dem Widerstandstopf. Dies benötigt den Jumper oder den 150-Ohm-Widerstand. Der blaue Topf ist immer das Problem. Drehen Sie also den Topf, bis das Display 2 Reihen von Quadraten anzeigt. Dann zurück, bis die Quadrate kaum verblassen. Wenn immer noch keine Anzeige erfolgt, überprüfen Sie die SDA- und SCL-Verbindungen. Zu einfach, sie rückwärts zu bekommen. Das ist A4 zu SDA und A5 zu SCL. Dies sind A-Pins, keine D-Pins und einige Pro-Minis haben diese Pins auf der Innenseite des PCs, nicht an den Kanten. Die letzte Möglichkeit besteht darin, die Adresse zu überprüfen. Einige LCD-Konvertermodule haben unterschiedliche Adressen. Oder wenn mehr als ein Gerät verwendet wird, benötigen alle unterschiedliche Adressen. Die meisten Module haben 3 Lötpins, um 3 verschiedene Adressen einzurichten. Denken Sie daran, dass der I2c nur 2 Drähte zu allen Geräten führt. Jedes Gerät MUSS also eine eindeutige Adresse haben. Im Lieferumfang ist ein I2c-Adressscanner enthalten. Laden Sie die Scannerinstallation herunter und lesen Sie den seriellen Monitor aus. Das Display zeigt die Adresse für JEDES I2c-Gerät an. Aktivieren Sie die Uhrskizze für die Linie am oberen Rand der Skizze. 'LiquidCrystal_I2C lcd(0x3F, 16, 2); ' 0x3F ist die richtige Adresse für meinen Konverter. Wenn Ihre Adresse abweicht, wechseln Sie zur richtigen Adresse des Scanners. Achtung: Kopieren und Einfügen der neuen Adresse enthält manchmal Zeilenende oder Zeilenumbrüche. Geben Sie einfach die andere Adresse ein. Die ersten Buchstaben sind immer Null und Kleinbuchstaben x 0x. Dies teilt C++ mit, dass es sich um ein Hex handelt. Nach 0x ist jeder Buchstabe groß.

Schritt 6: ANSCHLÜSSE

ANSCHLÜSSE
ANSCHLÜSSE
ANSCHLÜSSE
ANSCHLÜSSE
ANSCHLÜSSE
ANSCHLÜSSE

Folgen Sie dem Schaltplan und verdrahten Sie das Gerät.

Schritt 7: ANDERE FOTOS

ANDERE FOTOS
ANDERE FOTOS
ANDERE FOTOS
ANDERE FOTOS
ANDERE FOTOS
ANDERE FOTOS

Viel Glück BITTE sehen Sie meine anderen instructables

Schritt 8: DIE SKIZZE

Instructables lässt mich keine Arduino-Datei herunterladen !!!! Also habe ich Text verwendet. Sie müssen den Text kopieren und in eine NEUE offene Arduino-Datei in der IDE einfügen……. SORRY

und die Textdateien werden auch nicht geladen !!! und habe versucht, hier einzufügen, aber es durcheinander gebracht !!

Endlich !!! Habe meine Skizze hier zum Download. 26.03.2020 Auch einige Kleinigkeiten wurden behoben.

Die Leute, die dafür bezahlt werden, Code zu schreiben, rollen auf dem Boden, wenn sie meinen Code sehen. Meine Skizzen fangen normalerweise einfach an. Dann füge ich weitere Dinge hinzu. So wird die Skizze in ein Durcheinander verdreht. Ich hoffe, Sie lernen aus meinen zwei größten Fehlern. Am Anfang sollte es eine definierte Gliederung und ein Ziel geben. Fügen Sie nicht tonnenweise Sachen in der gesamten Skizze hinzu. Mein schlimmster Fehler ist, eine FUNKTION zu missbrauchen. Es sollte kurz sein und eine Summe zurückgeben und nur verwendet werden, wenn es wiederholte Codezeilen im gesamten Sketch ersetzt. delay(100) ist ein gutes Beispiel.

Meine Verwendung einer FUNKTION besteht darin, Abschnitte der Skizze zu trennen. Dadurch kann ich dem Hauptteil leicht folgen und auch einzelne Abschnitte debuggen, indem ich nur die Funktion aufrufe. Ich denke, dass GOTO dies früher getan hat, aber es ist in Ungnade gefallen und wird NIE verwendet. sagte Nuff. Ich habe die Daten und Uhrzeiten so gut wie möglich überprüft. Die gleichen Teile der Skizze laufen seit Jahren auf meinen 'TIME SQUARED'-Uhren. Wenn ich etwas übersehen habe oder es einen Fehler gibt, lass es mich bitte wissen. Um die 'keine Schaltflächen' zu kalibrieren, skizzieren Sie die Zeile mit 'unsigned long tSec = 1000122; ' (Zeile 34) ändern Sie. Die Konstante von 277 pro Sekunde pro Stunde ist richtig. Aber in der Praxis nehme ich nur 2 bis 8 Betragsänderungen am 'tSec'-Wert vor. Bei 1000122 liefen viele meiner Uhren so gut wie eine RTC. Seien Sie geduldig, eine kleine Änderung von nur 2-8 kann zu einer perfekten Uhr werden. Die Kehrseite aller Änderungen für eine der Uhren bedeutet, dass die aktuelle Zeit geändert wird. Sie müssen auf die richtige aktuelle Uhrzeit/das richtige Datum umstellen.

//// easy_one_lcd_clock_no_buttons // // Arduino und LCD-Uhr // Verwenden Sie den TimerOne 16-Bit-Timer // um diese Uhr zu kalibrieren: // Verwenden Sie eine gute Sekundenuhr wie ein GPS. // Stunden als Basiswert verwenden. Sekunden zählen // DIES ist aus. Wenn THIS hinter einem GPS ist // GPS=00.. THIS=58 SUBTRAHIEREN Sie 277 für jede // Sekunde/Stunden. Wenn also in // 3 Stunden um 2 Sek. langsamer… (277 * 2)/3 = 184 // SUBTRAHIEREN von tSek. // wenn THIS voraus ist GPS=00…THIS=03 // gleiche Mathematik nur zu tSec HINZUFÜGEN. // Vorsicht, die meisten Uhren korrigieren bei 00. // 20 Sekunden sind ein besserer Timer-Check.

Schritt 9: CASE STL-Dateien

Hier sind die 3D-Druckerfalldateien. Die Tastatur muss auf das LCD-Gehäuse geklebt werden. Die Rückseite rastet sowohl auf der Vorderseite des Ein- als auch des Zwei-LCD-Gehäuses ein. Schnappen Sie zuerst das Oberteil und arbeiten Sie sich dann nach unten, um eine gute Passform zu erhalten.

CHECKEN Sie Ihre lokale BIBLIOTHEK für die Verwendung eines 3D-Druckers aus.

Empfohlen: