Inhaltsverzeichnis:

DIY Wetterstation mit Nextion Display und Arduino - Gunook
DIY Wetterstation mit Nextion Display und Arduino - Gunook

Video: DIY Wetterstation mit Nextion Display und Arduino - Gunook

Video: DIY Wetterstation mit Nextion Display und Arduino - Gunook
Video: DIY Weather Station & WiFi Sensor Station || ESP8266, Nextion LCD 2024, Juli
Anonim
Image
Image
Was wirst du brauchen
Was wirst du brauchen

In diesem Tutorial verwenden wir das Nextion-Display, das rtc1307-Zeitmodul, Arduino UNO und Visuino, um die aktuelle Uhrzeit, Temperatur und Luftfeuchtigkeit anzuzeigen.

Sehen Sie sich ein Demonstrationsvideo an.

Schritt 1: Was Sie brauchen

Was wirst du brauchen
Was wirst du brauchen
Was wirst du brauchen
Was wirst du brauchen
  • Arduino uno (oder nano, mega jeder kann verwendet werden)
  • Nextion LCD 2,8 Zoll nx3224t028_011 (alle anderen Nextion LCDs funktionieren auch)
  • I2C RTC DS1307 24C32 Echtzeituhrmodul für Arduino
  • Überbrückungsdrähte
  • Steckbrett
  • Visuino-Programm: Visuino herunterladen
  • Nextion Editor-Programm: Hier herunterladen

Schritt 2: Schnittstelle im Nextion Editor entwickeln

Entwicklungsschnittstelle im Nextion Editor
Entwicklungsschnittstelle im Nextion Editor
Entwicklungsschnittstelle im Nextion Editor
Entwicklungsschnittstelle im Nextion Editor
Entwicklungsschnittstelle im Nextion Editor
Entwicklungsschnittstelle im Nextion Editor

Stellen Sie zunächst sicher, dass die SD-Karte in FAT32 formatiert ist (Verwenden Sie eine Software wie einen Kartenformatierer)

  • Starten Sie die Nextion Editor-Software und klicken Sie auf "Neu" und speichern Sie Ihr Projekt unter etwas wie "Wetter"
  • Dann wird der Dialog "Einstellungen" angezeigt. Wählen Sie den Anzeigetyp aus, den Sie haben.
  • Ein leeres weißes Blatt wird erstellt.
  • Ziehen Sie aus der Toolbox auf der linken Seite das 3x-Bild.
  • Wählen Sie links unten die Registerkarte "Bild", klicken Sie auf die Schaltfläche + und laden Sie die Bilder. Sie können einige nette Icons aus dem Internet für Zeit, Temperatur und Luftfeuchtigkeit herunterladen (wie die Iconarchive-Website)
  • Wählen Sie jedes Bildelement aus und doppelklicken Sie im rechten unteren Fenster "Attribute" auf das Feld "Bild" und wählen Sie das Bild aus, tun Sie dies für jedes Bildelement (3x).

Klicken Sie im Menü auf "Extras>Schriftengenerator"

  • Erstellen Sie die Schriftart, die verwendet wird, um Zeit, Temperatur und Luftfeuchtigkeit anzuzeigen, und legen Sie den Namen wie "MyFont1" fest.
  • Klicken Sie auf "Schriftart generieren" und speichern Sie sie irgendwo, wenn Sie gefragt werden "Generierte Schriftart hinzufügen?" klicken Sie auf Ja.
  • Schließen Sie das Dialogfeld und die generierte Schriftart wird unten links unter der Registerkarte "Fonts" mit der ID 0 angezeigt
  • Ziehen Sie aus der Toolbox auf der linken Seite 3x "Text" und platzieren Sie es dort, wo die Daten angezeigt werden
  • Für jedes Textelement, das im rechten unteren "Attribute"-Fenster eingestellt ist, die Schriftart auf 0 < die ID der Schriftart, die Sie zuvor generiert haben, können Sie mehrere Schriftarten verwenden und die ID für jedes Textelement festlegen
  • Sie können den Standardtextwert im Feld "txt" festlegen, zum Beispiel "Zeit", "C", "%
  • Sie können die Farbe einstellen, indem Sie auf das Feld "pco" klicken. Beachten Sie, dass jedes Textelement einen bestimmten Objektnamen wie "t0" usw. hat. Dieser wird später in Visuino verwendet
  • Sie finden jeden Objektnamen unter "Attribute" Fenster>Objektname

Wenn Sie alle Elemente platziert und positioniert haben:

  • Klicken Sie auf die Schaltfläche "Kompilieren"
  • Klicken Sie auf das Menü "Datei" > "Build-Ordner öffnen", suchen Sie die Datei in unserem Fall "Weather.tft" und kopieren Sie sie auf die SD-Karte.

Schritt 3: Die Schaltung

Die Rennbahn
Die Rennbahn
  • Verbinden Sie den Arduino-Pin [5v] mit dem Steckbrett Positiver Pin [Rot]
  • Verbinden Sie den Arduino-Pin [GND] mit dem negativen Pin des Steckbretts [Blau]
  • Verbinden Sie den DHT11-Sensor-Pin [-] mit dem Arduino-Pin [GND]
  • Verbinden Sie den DHT11-Sensorstift [-] mit dem positiven Pin des Steckbretts [Rot]
  • Verbinden Sie den DHT11-Sensorsignalstift [S] mit dem Arduino-Digitalstift [7]
  • Verbinden Sie den Pin des Time DS1307-Moduls [Vcc] mit dem positiven Pin des Steckbretts [Rot]
  • Verbinden Sie den Pin des Time DS1307-Moduls [GND] mit dem negativen Pin des Steckbretts [Blau].
  • Verbinden Sie den Pin des Time DS1307-Moduls [SDA] mit dem Arduino-Pin [SDA]
  • Verbinden Sie den Pin des Time DS1307-Moduls [SCL] mit dem Arduino-Pin [SCL]
  • Verbinden Sie den Nextion-Display-Pin [VCC] mit dem positiven Pin des Steckbretts [Rot]
  • Verbinden Sie den Nextion-Display-Pin [GND] mit dem negativen Pin des Steckbretts [Blau]
  • Verbinden Sie den Nextion-Display-Pin [RX] mit dem Arduino-Pin [TX]
  • Verbinden Sie den Nextion-Display-Pin [TX] mit dem Arduino-Pin [RX]

Schritt 4: Starten Sie Visuino und wählen Sie den Arduino UNO-Board-Typ aus

Starten Sie Visuino und wählen Sie den Arduino UNO-Board-Typ aus
Starten Sie Visuino und wählen Sie den Arduino UNO-Board-Typ aus
Starten Sie Visuino und wählen Sie den Arduino UNO-Board-Typ aus
Starten Sie Visuino und wählen Sie den Arduino UNO-Board-Typ aus

Um mit der Programmierung des Arduino zu beginnen, müssen Sie die Arduino-IDE von hier installieren:

Bitte beachten Sie, dass die Arduino IDE 1.6.6 einige kritische Fehler aufweist. Stellen Sie sicher, dass Sie 1.6.7 oder höher installieren, sonst funktioniert dieses Instructable nicht! Wenn Sie dies nicht getan haben, befolgen Sie die Schritte in diesem Instructable, um die Arduino IDE einzurichten, um Arduino UNO zu programmieren! Das Visuino: https://www.visuino.eu muss ebenfalls installiert werden. Starten Sie Visuino wie im ersten Bild gezeigt Klicken Sie auf die Schaltfläche "Tools" auf der Arduino-Komponente (Bild 1) in Visuino Wenn der Dialog erscheint, wählen Sie "Arduino UNO" wie in Bild 2 gezeigt

Schritt 5: In Visuino Komponenten hinzufügen

In Visuino Komponenten hinzufügen
In Visuino Komponenten hinzufügen
In Visuino Komponenten hinzufügen
In Visuino Komponenten hinzufügen
In Visuino Komponenten hinzufügen
In Visuino Komponenten hinzufügen
  1. Komponente "Start" hinzufügen
  2. Komponente "Real Time Clock (RTC) DS 1307" hinzufügen
  3. Komponente "Clock Generator" hinzufügen
  4. Komponente "Feuchte und Thermometer DHT11" hinzufügen
  5. 2x Komponente "Analog zu Text" hinzufügen
  6. Komponente "Datum/Uhrzeit decodieren (aufteilen)" hinzufügen
  7. Komponente "Nextion Display" hinzufügen

Schritt 6: In Visuino Set-Komponenten

In Visuino Set-Komponenten
In Visuino Set-Komponenten
In Visuino Set-Komponenten
In Visuino Set-Komponenten
In Visuino Set-Komponenten
In Visuino Set-Komponenten

Doppelklicken Sie auf die Komponente "RealTimeClock1", das Elementfenster wird geöffnet und:

  • Ziehen Sie "Tag setzen" und setzen Sie im Eigenschaftenfenster den "Wert" auf Ihr aktuelles Datum
  • Ziehen Sie "Jahr einstellen" und setzen Sie im Eigenschaftenfenster den "Wert" auf Ihr aktuelles Jahr
  • Ziehen Sie "Monat einstellen" und setzen Sie im Eigenschaftenfenster den "Wert" auf Ihren aktuellen Monat
  • Ziehen Sie "Set Hour" und setzen Sie im Eigenschaftenfenster den "Value" auf Ihre aktuelle Stunde
  • Ziehen Sie "Minute einstellen" und setzen Sie im Eigenschaftenfenster den "Wert" auf Ihre aktuellen Minuten

Wählen Sie die Komponente "FormattedText1" und setzen Sie im Eigenschaftenfenster "Text" auf: %0:%1:%2

Doppelklicken Sie auf die Komponente "FormattedText1", das Elementfenster wird geöffnet und:

3x "Textelement" nach links ziehen

Doppelklicken Sie auf die Komponente "DisplayNextion1", das Fenster "Elemente" wird geöffnet und:

3x Element "Text" nach links ziehen und für jeden Elementsatz:

  • für das erste Element benennen Sie es: Zeit
  • für das zweite Element nennen Sie es: Temperatur
  • für das dritte Element nennen Sie es: Feuchtigkeit
  • Für jeden Elementsatz "Seitenindex": 0
  • für den ersten Elementsatz "Elementname": t0 (dies ist der Name, der im Nextion-Editor über jedem Element sichtbar ist, in meinem Fall ist es t0)
  • für den zweiten Elementsatz "Elementname": t1 (dies ist der Name, der im Nextion-Editor über jedem Element sichtbar ist, in meinem Fall ist es t1)
  • für den zweiten Elementsatz "Elementname": t2 (dies ist der Name, der im Nextion-Editor über jedem Element sichtbar ist, in meinem Fall ist es t2)

Schritt 7: In Visuino Connect-Komponenten

In Visuino Connect-Komponenten
In Visuino Connect-Komponenten
  • Verbinden Sie "Start1" Pin "Out" mit "RealTimeClock1" > "Set Day1" Pin "Clock"
  • Verbinden Sie "Start1" Pin "Out" mit "RealTimeClock1" > "Set Hour1" Pin "Clock"
  • Verbinden Sie "Start1" Pin "Out" mit "RealTimeClock1" > "Set Year1" Pin "Clock"
  • Verbinden Sie "Start1" Pin "Out" mit "RealTimeClock1" > "Set Month1" Pin "Clock"
  • Verbinden Sie "Start1" Pin "Out" mit "RealTimeClock1" > "Set Minute1" Pin "Clock"
  • Verbinden Sie den Komponenten-Pin "RealTimeClock1" [Out] mit dem Pin "DecodeDateTime1" [In]
  • Verbinden Sie den Komponenten-Pin "RealTimeClock1" [Control] mit dem I2C-Pin des Arduino-Boards [In]
  • Verbinden Sie den Komponenten-Pin "ClockGenerator1" [Out] mit dem Komponenten-Pin "HumidityThermometer1" [Clock]
  • Verbinden Sie die Komponente "DecodeDateTime1" mit dem Pin [Hour] mit dem Pin "FormattedText1" > "Textelement1" [In]
  • Verbinden Sie die Komponente "DecodeDateTime1" mit dem Pin [Hour] mit dem Pin "FormattedText1" > "Textelement2" [In]
  • Verbinden Sie die Komponente "DecodeDateTime1" mit dem Pin [Hour] mit dem Pin "FormattedText1" > "Textelement3" [In]
  • Verbinden Sie den Komponenten-Pin "HumidityThermometer1" [Temperatur] mit dem Komponenten-Pin "AnalogToText1" [In]
  • Verbinden Sie den Komponenten-Pin "HumidityThermometer1" [Humidity] mit dem Komponenten-Pin "AnalogToText2" [In]
  • Verbinden Sie den Komponenten-Pin "HumidityThermometer1" [Sensor] mit dem digitalen Pin des Arduino-Boards [7]
  • Verbinden Sie den Komponenten-Pin "FormattedText1" [Out] mit dem Komponenten-Pin "DisplayNextion1" Time [In]
  • Verbinden Sie den Komponenten-Pin "AnalogToText1" [Out] mit dem Komponenten-Pin "DisplayNextion1" Temperatur [In]
  • Verbinden Sie den Komponenten-Pin "AnalogToText2" [Out] mit dem Komponenten-Pin "DisplayNextion1" Humidity [In]

Verbinden Sie den "DisplayNextion1"-Pin [Out] mit dem Arduino-Board "Serial[0]"-Pin [In]

Schritt 8: Nextion-Datei auf SD-Karte kopieren

Stellen Sie sicher, dass Sie die Nextion-Datei auf der SD-Karte haben

  • Schalten Sie das Nextion-Display aus
  • Legen Sie die SD-Karte in das Nextion Display ein
  • Schalten Sie das Nextion-Display EIN und Sie sollten den Fortschritt der Aktualisierung des Nextion-Displays sehen
  • Schalten Sie das Nextion-Display aus
  • Entfernen Sie die SD-Karte aus dem Nextion-Display

Nun ist das Nextion Display fertig.

Schritt 9: Generieren, Kompilieren und Hochladen des Arduino-Codes

Generieren, kompilieren und laden Sie den Arduino-Code hoch
Generieren, kompilieren und laden Sie den Arduino-Code hoch
Generieren, kompilieren und laden Sie den Arduino-Code hoch
Generieren, kompilieren und laden Sie den Arduino-Code hoch

Drücken Sie in Visuino F9 oder klicken Sie auf die in Bild 1 gezeigte Schaltfläche, um den Arduino-Code zu generieren und die Arduino-IDE zu öffnen. Klicken Sie in der Arduino-IDE auf die Schaltfläche Hochladen, um den Code zu kompilieren und hochzuladen (Bild 2). Hinweis:

Stellen Sie sicher, dass Sie beim Hochladen des Codes auf Arduino den Arduino-Pin[RX] und den Arduino-Pin[TX] trennen. Nachdem der Upload abgeschlossen ist, verbinden Sie den Arduino-Pin[RX] und den Arduino-Pin[TX] wieder

Schritt 10: Spielen

Wenn Sie das Arduino UNO-Modul mit Strom versorgen, zeigt das Display eine aktuelle Temperatur und Luftfeuchtigkeit + Zeit an, die Sie in Visuino eingestellt haben. Herzliche Glückwünsche! Sie haben Ihr Wetterstationsprojekt mit Visuino abgeschlossen.

Ebenfalls beigefügt ist das Visuino-Projekt, das ich für dieses Instructable erstellt habe. Sie können es in Visuino herunterladen und öffnen:

und

Nextion-Datei für den Nextion-Editor (Weather. HMI) und kompilierte Nextion-Datei (Weather.tft), die Sie direkt auf Ihr Nextion-Display kopieren können.

Schritt 11: Ressourcen

Sie können auch dieses erstaunliche Tutorial lesen, um zu erfahren, wie man mit Nextion Displays arbeitet

Empfohlen: