Inhaltsverzeichnis:

Uhr, LCD-Display, Infrarot zum Einstellen - Gunook
Uhr, LCD-Display, Infrarot zum Einstellen - Gunook

Video: Uhr, LCD-Display, Infrarot zum Einstellen - Gunook

Video: Uhr, LCD-Display, Infrarot zum Einstellen - Gunook
Video: S866 Display programmieren einstellen Brainpower 2024, Juli
Anonim
Uhr, LCD-Display, Infrarot zum Einstellen
Uhr, LCD-Display, Infrarot zum Einstellen
Uhr, LCD-Display, Infrarot zum Einstellen
Uhr, LCD-Display, Infrarot zum Einstellen

Bauen Sie eine Echtzeituhr, die die Auslösezeit innerhalb weniger Minuten im Jahr hält. Der Code und die Komponenten können leicht in andere Projekte umfunktioniert werden.

Dieses Projekt erfordert ein Minimum an Verdrahtung und kein Löten. Der Zeitmesser ist eine DS3231 Echtzeituhr. Die Zeit wird auf einem preiswerten 1602 LCD angezeigt. Beide Module verwenden die I2C-Kommunikation. I2C verwendet nur 2 Drähte pro Modul, wenn es an einen Arduino angeschlossen wird. Ich verwende einen Arduino Nano, weil er gut auf ein Steckbrett passt. Die folgenden Anweisungen funktionieren mit einem Arduino Uno, da er die gleichen Pin-Nummern wie der Nano für dieses Projekt hat. Die andere Komponente ist der Infrarotempfänger. Es ermöglicht Ihnen, eine gängige Fernbedienung wie die TV-Fernbedienung zu verwenden, um die Zeit genau wie bei unserem Smart-TV einzustellen. Der Infrarotempfänger benötigt nur einen Draht, um ihn mit dem Arduino zu verbinden.

Der erste Schritt ist das Testen des Arduino und die Verdrahtung mit dem Steckbrett. Die folgenden Schritte sind darauf ausgelegt, unabhängig zu arbeiten. Jeder Schritt hat Verdrahtungsanweisungen und Testanweisungen. Wenn ich Projekte erstelle, verdrahte und teste ich jede Komponente, um zu bestätigen, dass sie funktioniert. Dies hilft bei der Integration einer Reihe von Komponenten, da ich weiß, dass jede Arbeit und ich mich auf die Integrationsanforderungen konzentrieren können.

Dieses Instructable erfordert, dass Sie die Arduino IDE installiert haben. Sie müssen auch über die Grundkenntnisse verfügen, um ein Arduino-Skizzenprogramm von den Links in diesem Projekt herunterzuladen und ein Verzeichnis für das Programm zu erstellen (Verzeichnisname gleich dem Programmnamen). Die nächsten Schritte sind das Laden, Anzeigen und Bearbeiten des Programms in der IDE. Laden Sie dann das Programm über ein USB-Kabel auf Ihr Arduino-Board hoch.

Lieferungen

  • Nano V3 ATmega328P CH340G Mikrocontrollerplatine für Arduino. Alternativ können Sie ein Uno verwenden.
  • DS3231 Echtzeituhr und eine CR2032-Batterie.
  • 1602 LCD mit einem I2C-Modul
  • Infrarotempfänger und Fernbedienung. Ich habe ein IR-Fernbedienungsmodul-Kit verwendet, das mit einem Infrarotempfänger und einer Infrarotfernbedienung geliefert wurde.
  • Steckbrett
  • Drahtseile
  • 5-Volt-Wandadapter

Ich habe die Teile bei eBay gekauft, meistens bei Händlern in Hongkong oder China. US-Händler haben manchmal gleiche oder ähnliche Teile für vernünftige Preise und schnellere Lieferung. Die Lieferung der China-Teile dauert 3 bis 6 Wochen. Die Verteiler, die ich benutzt habe, waren alle zuverlässig.

Ungefähre Kosten: Nano 3 USD, DS3231 1 USD, LCD 3 USD, Infrarot-Kit 1 USD, Steckbrett 2 USD, Paket mit 40 Drahtkabeln 1 USD, 1 USD für einen 5-Volt-Wandadapter. Insgesamt etwa 11. Beachten Sie, dass ich den Nano und das LCD mit bereits verlöteten Steckplatinenstiften gekauft habe, da meine Lötfähigkeiten schlecht sind. Für die Uhrbatterie kaufte ich ein 5er-Pack Lithium-CR2032-Batterien für etwa 1,25 US-Dollar. Ich habe auch eine 5er-Packung DS3231 gekauft, weil ich Zeitmesser mag. Dieses Projekt verwendet 1 Steckbrett. Ich kaufte ein Paket mit 3 Steckbrettern für etwa 7 US-Dollar; ein besseres Angebot als der Kauf eines einzelnen Boards.

Schritt 1: Fügen Sie den Arduino Nano zum Steckbrett hinzu

Fügen Sie den Arduino Nano zum Steckbrett hinzu
Fügen Sie den Arduino Nano zum Steckbrett hinzu

Stecken Sie den Arduino Nano in das Steckbrett. Oder, wenn Sie es vorziehen, können Sie ein Arduino Uno für dieses Projekt verwenden; Sie verwenden beide die gleichen Pins für dieses Projekt. Verbinden Sie den Nano (oder Uno) über ein USB-Kabel mit Ihrem Computer.

Verbinden Sie Strom und Masse vom Arduino mit der Stromleiste des Steckbretts. Verbinden Sie den Arduino 5+ Pin mit der positiven Leiste des Steckbretts. Verbinden Sie den Arduino GRN (Masse) Pin mit der negativen (Masse) Leiste des Steckbretts. Dies wird von anderen Komponenten verwendet.

Laden Sie das grundlegende Arduino-Testprogramm herunter und führen Sie es aus: arduinoTest.ino. Wenn das Programm ausgeführt wird, schaltet sich das integrierte LED-Licht 1 Sekunde lang ein und dann 1 Sekunde lang aus. Außerdem werden Nachrichten gepostet, die in den Arduino IDE Tools/Serial Monitor angezeigt werden können.

+++ Einrichtung.

+ Initialisiert den On-Board-LED-Digital-Pin für die Ausgabe. LED ist aus. ++ Gehe zur Schleife. + Schleifenzähler = 1 + Schleifenzähler = 2 + Schleifenzähler = 3 …

Ändern Sie als Übung die Zeitverzögerung des blinkenden Lichts, laden Sie das geänderte Programm hoch und bestätigen Sie die Änderung.

Auf dem obigen Foto ist eine 140-teilige lötfreie Steckbrett-Jumper-Draht-Kit-Box zu sehen, die Sie für 3 bis 5 Dollar erhalten können. Sie machen Boards übersichtlicher als lange Kabel für kurze Verbindungen.

Schritt 2: Fügen Sie das DS3231-Taktmodul hinzu und verbinden Sie es mit dem Arduino

Fügen Sie das DS3231-Taktmodul hinzu und verbinden Sie es mit dem Arduino
Fügen Sie das DS3231-Taktmodul hinzu und verbinden Sie es mit dem Arduino

Stecken Sie das Uhrenmodul in das Steckbrett. Verbinden Sie den GND-Pin des Taktmoduls mit dem Erdungsleistenstreifen des Steckbretts. Verbinden Sie den VCC-Pin des Taktmoduls mit dem positiven Balkenstreifen des Steckbretts. Verbinden Sie den SDA (Daten)-Pin des Taktmoduls mit dem A4-Pin des Arduino (I2C-Daten-Pin). Verbinden Sie den SCL-(Takt-)Pin des Taktmoduls mit Pin A5 des Arduino (I2C-Takt-Pin).

Installieren Sie in der Arduino IDE eine DS3231 Clock Library. Wählen Sie Extras/Bibliotheken verwalten. Filtern Sie Ihre Suche, indem Sie „rtclib“eingeben. Wählen Sie RTClib von Adafruit (als Referenz der Bibliothekslink).

Laden Sie das grundlegende Testprogramm herunter und führen Sie es aus: clockTest.ino. Beim Ausführen des Programms werden Uhrzeitnachrichten gesendet, die in den Arduino IDE Tools/Serial Monitor angezeigt werden können.

+++ Einrichtung.

+ Uhr eingestellt. ++ Gehe zur Schleife. ---------------------------------------- + Aktuelles Datum & Uhrzeit: 2020/3/ 22 (Sonntag) 11:42:3 + Aktuelles Datum & Uhrzeit: 22.03.2020 (Sonntag) 11:42:4 + Aktuelles Datum & Uhrzeit: 22.03.2020 (Sonntag) 11:42:5 …

Als Übung verwenden Sie rtc.adjust(), um die Uhrzeit und das Datum der Uhr einzustellen, das geänderte Programm hochzuladen und die Änderung zu bestätigen.

rtc.adjust(DateTime(2020, 3, 19, 10, 59, 50)); // Erster Frühlingstag 2020.

Schritt 3: Fügen Sie das 1602 LCD-Anzeigemodul hinzu und verbinden Sie es mit dem Arduino

Fügen Sie das 1602 LCD-Anzeigemodul hinzu und verbinden Sie es mit dem Arduino
Fügen Sie das 1602 LCD-Anzeigemodul hinzu und verbinden Sie es mit dem Arduino

Stecken Sie das LCD-Modul in das Steckbrett. Verbinden Sie den GND-Pin des Taktmoduls mit dem Erdungsleistenstreifen des Steckbretts. Verbinden Sie den VCC-Pin des Taktmoduls mit dem positiven Balkenstreifen des Steckbretts. Verbinden Sie den SDA (Daten)-Pin des Taktmoduls mit dem A4-Pin des Arduino (I2C-Daten-Pin). Verbinden Sie den SCL-(Takt-)Pin des Taktmoduls mit dem Pin A5 des Arduino (I2C-Takt-Pin).

Installieren Sie in der Arduino-IDE eine 1602-LCD-Bibliothek. Wählen Sie Extras/Bibliotheken verwalten. Filtern Sie Ihre Suche, indem Sie „LiquidCrystal“eingeben. Wählen Sie LiquidCrystal I2C von Frank de Barbander (zur Referenz, der Bibliothekslink).

Laden Sie das grundlegende Testprogramm herunter und führen Sie es aus: lcd1602Test.ino. Beim Ausführen des Programms werden Uhrzeitnachrichten gesendet, die in den Arduino IDE Tools/Serial Monitor angezeigt werden können.

+++ Einrichtung.

+ LCD einsatzbereit. +++ Zur Schleife gehen. + derZähler = 1 + derZähler = 2 + derZähler = 3 …

Ändern Sie zur Übung die Meldungen der LCD-Anzeige, laden Sie das geänderte Programm hoch und bestätigen Sie die Änderung.

Schritt 4: Fügen Sie den Infrarotempfänger hinzu und verbinden Sie ihn mit dem Arduino

Fügen Sie den Infrarotempfänger hinzu und verbinden Sie ihn mit dem Arduino
Fügen Sie den Infrarotempfänger hinzu und verbinden Sie ihn mit dem Arduino

Stecken Sie die Kabeldrähte von weiblich zu männlich in den Infrarotempfänger (weibliche Enden). Verbinden Sie den Erdungsstift des Uhrenmoduls mit dem Erdungsleistenstreifen des Steckbretts. Verbinden Sie den Stromstift des Uhrenmoduls mit dem positiven Balkenstreifen des Steckbretts. Verbinden Sie den Ausgangspin des Infrarotempfängers mit dem Arduino A1-Pin.

Infrarot-Empfänger anschließen, Pins von links oben nach rechts:

Ganz links (neben dem X) - Nano-Pin A1 Mitte - 5V Rechts - Masse

A1 + - - Nano-Pin-Anschlüsse

| | | - Infrarot-Empfängerstifte --------- |S | | | | --- | | | | | | --- | | | ---------

Installieren Sie in der Arduino IDE eine Infrarotbibliothek. Wählen Sie Extras/Bibliotheken verwalten. Filtern Sie Ihre Suche, indem Sie „IRremote“eingeben. Wählen Sie IRremote von Shirriff (als Referenz der Bibliothekslink).

Laden Sie das grundlegende Testprogramm herunter und führen Sie es aus: infrarotReceiverTest.ino. Richten Sie beim Ausführen des Programms Ihre Fernbedienung auf den Empfänger und drücken Sie verschiedene Tasten wie die Zahl von 0 bis 9. Es werden serielle Nachrichten ausgegeben (gedruckt), die in den Arduino IDE Tools / Serial Monitor angezeigt werden können.

+++ Einrichtung.

+ Initialisiert den Infrarotempfänger. ++ Gehe zur Schleife. + Taste OK - Umschalten + Taste > - Weiter + Taste < - Zurück + Taste hoch + Taste runter + Taste 1: + Taste 2: + Taste 3: + Taste 4: + Taste 6: + Taste 7: + Taste 8: + Taste 9: + Taste 0: + Taste * (Return) + Taste # (Exit)

Verwenden Sie als Übung eine TV-Fernbedienung, um die gedruckten Werte anzuzeigen. Anschließend können Sie das Programm so ändern, dass es die Werte in der switch-Anweisung der Funktion infrarotSwitch() verwendet. Drücken Sie beispielsweise die Taste "0" und rufen Sie den Wert für Ihre Fernbedienung ab, beispielsweise "0xE0E08877". Fügen Sie dann wie im folgenden Codeausschnitt eine Groß-/Kleinschreibung in die switch-Anweisung ein.

Fall 0xFF9867:

Fall 0xE0E08877: Serial.print ("+ Schlüssel 0:"); Serial.println(""); brechen;

Schritt 5: Laden Sie das Arduino-Skizzenprogramm des Clock Project und testen Sie es

Laden Sie das Arduino-Skizzenprogramm des Clock Project und testen Sie es
Laden Sie das Arduino-Skizzenprogramm des Clock Project und testen Sie es
Laden Sie das Arduino-Skizzenprogramm des Clock Project und testen Sie es
Laden Sie das Arduino-Skizzenprogramm des Clock Project und testen Sie es
Laden Sie das Arduino-Skizzenprogramm des Clock Project und testen Sie es
Laden Sie das Arduino-Skizzenprogramm des Clock Project und testen Sie es

Nun, da alle Komponenten dem Steckbrett hinzugefügt, verdrahtet und getestet wurden; Es ist Zeit, das Hauptuhrprogramm zu laden und auszuführen. Das Uhrprogramm ruft die Uhrzeit vom Uhrmodul ab, zeigt die Uhrzeit auf dem LCD an und ermöglicht es Ihnen, die Uhrzeit mit einer Infrarot-Fernbedienung einzustellen.

Laden Sie das Uhrenprogramm des Projekts herunter und führen Sie es aus: clockLcdSet.ino.

Wenn das Programm startet, wird die Uhrzeit des DS3231 auf dem 1602 LCD-Bildschirm angezeigt. Nachrichten können in den Arduino IDE Tools/Serial Monitor angezeigt werden.

+++ Einrichtung.

+ LCD-Set. + syncCountWithClock, theCounterHours=13 theCounterMinutes=12 theCounterSeconds=13 + Uhr gesetzt und mit Programmvariablen synchronisiert. + Infrarot-Empfänger aktiviert. ++ Gehe zur Schleife. + clockPulseMinute(), theCounterMinutes= 15 + clockPulseMinute(), theCounterMinutes= 16 + clockPulseMinute(), theCounterMinutes= 17 …

Richten Sie Ihre Fernbedienung auf den Empfänger und drücken Sie die rechte Pfeiltaste. Das Jahr wird zur Einstellung angezeigt. Drücken Sie mehrmals die rechte Pfeiltaste, um zu sehen, dass Sie Jahr, Monat, Tag, Stunde, Minute und Sekunden einstellen können. Um einen Zeitwert festzulegen, gehen Sie zu dem Wert. Verwenden Sie die Aufwärts- und Abwärtspfeile, um den Anzeigewert einzustellen. Stellen Sie dann mit der Taste "OK" den Wert der Uhr ein. Es wird jeweils ein Wert eingestellt.

Schritt 6: Externes Netzteil

Externe Stromversorgung
Externe Stromversorgung

Nachdem Ihre Uhr nun getestet wurde und funktioniert, können Sie sie von Ihrem Computer trennen und eine unabhängige Stromversorgung verwenden. Der Einfachheit halber verwende ich einen 5-Volt-Wandadapter, der für etwa einen Dollar gekauft werden kann, und ein USB-Kabel, einen weiteren Dollar. Das Kabel verbindet den Arduino mit dem +5V-Wandadapter. Da die Arduino-Strom- und Massestifte mit dem Steckbrett verbunden sind, werden die anderen Komponenten mit Strom versorgt.

Aufgrund ihrer Einfachheit und geringen Kosten verwende ich dieselbe Kombination, um andere Projekte zu unterstützen.

Ich hoffe, Sie waren erfolgreich und hatten Spaß beim Bau einer infrarotgesteuerten LCD-Uhr.

Empfohlen: