Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Mit Nextion Display spielen

Komponenten und Verbrauchsmaterialien

Arduino Mega 2560
× 1
Arduino Mega Proto Shield
× 1
nextion HMI Display 2.4"
× 1
SD-Kartenleser
× 1
DHT22-Temperatursensor
× 1
SparkFun Atmospheric Sensor Breakout - BME280
× 1
DS3231 RTC-Modul
× 1
RXB6-Superheterodyn-433-MHz-Empfänger
× 1
Widerstand 10k Ohm
× 1
Widerstand 475 Ohm
× 1
ne555 Timer
× 1
AC-DC-Netzteil 5V
× 1

Notwendige Werkzeuge und Maschinen

Lötkolben (generisch)

Apps und Onlinedienste

Arduino-IDE
Nextion-Editor

Über dieses Projekt

Kann das nextion-Display Programmplatz in Arduino sparen?

Manchmal möchten wir farbenfrohe Grafiken verwenden, um ansprechendere Projekte zu erstellen. Leider erfordert die schöne Grafik eine große Menge an Ressourcen wie Controller-Speicher für grafische Bibliotheksroutinen und externen Speicher wie einen SD-Kartenspeicher zum Speichern von Bildern und so weiter. Der Arduino-Controller hingegen verfügt über begrenzte Ressourcen und ist nicht vollständig für die umfangreichen grafischen Projekte geeignet. Um den Ressourcenbedarf zu reduzieren, können wir die nextion-Anzeige verwenden. In diesem Fall benötigen wir keinen externen Speicher für Bilder und können den Speicherbedarf deutlich reduzieren.

Aus Sicht des Controllers ist das Nextion-Display nur ein serielles Gerät, nicht ressourcenintensiver als ein übliches Schwarz-Weiß-LCD-Display an erster Stelle. Ist es also möglich, die Wetterstation auf Arduino UNO und nextion screen zu bauen?

Die Antwort ist nicht genau. Sie können einen erstellen, aber er hätte aufgrund des Mangels an Controller-Speicher eine sehr eingeschränkte Funktionalität. Sie können keine Verlaufsgrafik oder ähnliches einfügen. Um eine funktionsreiche Wetterstation zu bauen, benötigen Sie einen fortschrittlicheren Mikrocontroller.

In diesem Artikel werde ich zeigen, wie man die vorgestellte Wetterstation mit attraktiven Grafiken und Datenprotokollierung baut, die die Wetterdaten von vielen drahtlosen Wettersensoren empfängt. Diese Wetterstation basiert auf Nextion Display und Arduino Mega 2560.

Die Hauptidee

Nehmen wir an, wir haben bereits die externen Wettersensoren, wie diesen oder vom bekannten Hersteller OREGON, THGN123N. Wir werden eine eigene Zentraleinheit erstellen, die die Wetterdaten von diesen externen Sensoren empfängt, die Temperatur, Luftfeuchtigkeit und den Atmosphärendruck anzeigt, die Daten regelmäßig auf der SD-Karte speichert und die Diagramme der historischen Daten zeichnet. Außerdem erstellt die Zentraleinheit eine Art Wettervorhersage basierend auf Druckänderungen.

Das Hauptmerkmal dieser Wetterstation ist, dass sie das Hintergrundbild verwendet, um die Wettervorhersage anzuzeigen, und nicht nur das kleine Symbol, wie es andere Wetterstationen normalerweise tun.

Die Display-Stunts

Der große Nachteil des nextion-Displays besteht darin, dass die transparenten Bilder von der Display-Firmware nicht unterstützt werden. Daher können wir die runden Elemente nicht erstellen. Sie müssen in Ihren Text-Widgets einen „beschnittenen“ Hintergrund verwenden, um die Textdaten über einem benutzerdefinierten Bild anzuzeigen. In meinem Fall bedeutet dies, dass bei einer Änderung des Anzeigehintergrunds alle Hintergründe der Text-Widgets entsprechend geändert werden sollten. Daher müssen wir für jede Wettervorhersage mehrere vollständige Bildschirme erstellen.

Andererseits können wir mit Druckänderungen drei verschiedene Arten von Wettervorhersagen erstellen:klar, bewölkt oder Regen (Schnee). Ebenfalls. Es gibt zwei Haupttagperioden:Tag und Nacht. Wir müssen also nur 8 verschiedene Bildschirme erstellen:

  • sonnig (klarer Himmel, Tag)
  • moony (klarer Himmel, Nacht)
  • bewölkter Tag
  • bewölkte Nacht
  • Regentag
  • Regennacht
  • Schneetag
  • Schneenacht

Alle diese Bildschirme müssen innerhalb des nextion-Displays mit dem nextion-Editor erstellt werden. Alle diese Bildschirme teilen die gleichen Widget-Namen für Textfelder (Temperatur, Feuchtigkeit, Druck) für unsere Sensordaten. Wenn der Controller den Bildschirm aktualisiert, wählt er zuerst den entsprechenden Bildschirm mit dem gewünschten Hintergrund aus und aktualisiert dann die Sensordaten in den Display-Widgets.

Hauptbildschirmdaten

Der Hauptbildschirm teilt sich in die drei Hauptbereiche auf. In der oberen Zeile des Displays finden Sie interne Sensordaten:Temperatur und Luftfeuchtigkeit zu Hause, Luftdruck, aktuelle Uhrzeit und Datum. Es wurde davon ausgegangen, dass wir alle in Häusern mit üblichen Fenstern leben, sodass der Atmosphärendruck innerhalb und außerhalb des Hauses gleich ist. Der Controller hat also nur einen Drucksensor im Hauptmodul, um den Atmosphärendruck genau zu messen.

Auf der linken Bildschirmhälfte finden Sie die wichtigsten Sensordaten:Temperatur und Luftfeuchtigkeit. Es ist praktisch, die wichtigsten externen Sensordaten ständig auf dem Bildschirm zu sehen. Die ID des Hauptsensors kann im Setup-Bildschirm definiert werden. Sie können die gewünschte ID aus der Liste der verfügbaren Sensor-IDs auswählen. Seien Sie also bitte geduldig und warten Sie, bis alle externen Sensoren die Signale an den Controller senden. Normalerweise dauert es ungefähr zwei Minuten.

Auf der rechten Seite des Bildschirms finden Sie die Daten aller externen und internen Sensoren:Sensor-ID, Temperatur und Luftfeuchtigkeit. Die Informationen ändern sich regelmäßig, sodass die Daten aller Sensoren überwacht werden können. Der Controller unterstützt bis zu 4 externe Sensoren. Wenn Sie nur einen externen Sensor haben, werden die internen Sensordaten auch auf der rechten Seite des Hauptbildschirms angezeigt.

Der Controller verfügt über ein integriertes genaues Echtzeituhrmodul, ds3231, mit dem die aktuelle Uhrzeit und das Datum abgerufen werden können. Diese Uhrzeitdaten werden verwendet, um die Sensordaten zusammen mit dem Zeitstempel auf die SD-Karte zu protokollieren, die Tag- und Nachtvorhersage zu erstellen und die Displayhelligkeit zu steuern.

Andere Bildschirme

Es gibt mehrere zusätzliche Bildschirme im nextion-Display:

  • Der Bildschirm mit der Uhrzeit von Sonnenaufgang und Sonnenuntergang sowie dem Mondalter;
  • Der Bildschirm für die Controller-Einrichtung;
  • Der Bildschirm zum Einstellen der Echtzeituhr;
  • Der Bildschirm zur Anzeige der Verlaufsdaten der Sensoren

Um zum Bildschirm „Sonnenaufgang“ zu gelangen, tippen Sie auf dem Hauptbildschirm auf das aktuelle Datum. Um den Controller einzurichten und die Uhr einzustellen, tippen Sie auf die aktuelle Uhrzeit. Tippen Sie auf Temperatur oder Druck, um Verlaufsdaten anzuzeigen.

Der Bildschirm mit den Verlaufsprotokolldaten

Es gibt zwei Modi für den Verlaufsdatenbildschirm:1-Tage-Zeitraum und 8-Tage-Zeitraum. Um den aktuellen Modus zu ändern, tippen Sie auf den Grafikbereich.

Auf der linken Seite und am oberen Rand des Verlaufsbildschirms befinden sich zwei Symbol-Toolbox-Menüs. Im linken Symbolleistenmenü können Sie die gewünschte Sensor-ID auswählen (aus den verfügbaren auswählen). Der interne Sensor hat die ID gleich 0. In der oberen Symbolleiste können Sie den anzuzeigenden Datentyp ändern:Druck, Temperatur oder Feuchtigkeit.

Der Einrichtungsbildschirm

Auf dem Setup-Bildschirm können Sie:

  • passen Sie die ID des externen Hauptsensors an (warten Sie, bis der Controller die Signale von allen Sensoren empfangen hat);
  • Stellen Sie die Morgen- und Abendzeiten ein (wenn der Controller die Displayhelligkeit ändert);
  • Konfiguriere die Displayhelligkeit.

Das Aufhängen des Controllers verhindern

Um die Stabilität des Controllers zu erhöhen und das Aufhängen des Controllers zu verhindern, wurde die externe Watch-Dog-Schaltung in die Schaltpläne implementiert. Diese Schaltung kann auch in den anderen Projekten implementiert werden, daher sehen Sie hier das separate Bild für diesen Timer unten.

Der Timer würde den Arduino-Controller in etwa 2-3 Minuten zurücksetzen, wenn er das Signal nicht über den Arduino A2-Pin empfangen würde.

Fazit

Das Wetter hat eine reichhaltige Grafikanzeige, sehr ansprechend, die Station funktioniert ungefähr die Hälfte des Jahres sehr stabil.

Code

Der Quellcode
https://github.com/sfrwmaker/Weather_nextion/blob/master/Weather_nextion.ino
Der Quellcode
https://github.com/sfrwmaker/Weather_nextion/blob/master/Weather_nextion.ino

Schaltpläne

Der komplette Schaltplan
https://github.com/sfrwmaker/Weather_nextion/blob/master/weather_mega_nextion.jpg

Herstellungsprozess

  1. Arduino Pong-Spiel - OLED-Display
  2. Münzprüfer mit Arduino steuern
  3. Arduino-Temp. Monitor und Echtzeituhr mit 3.2 Display
  4. Arduino mit Bluetooth zur Steuerung einer LED!
  5. Wie man Arduino Mega mit dem NEO-6M GPS-Modul verbindet
  6. DIY Voltmeter mit Arduino und einem Nokia 5110 Display
  7. BME280 Temperatur, Luftfeuchtigkeit und Druck auf dem Nextion-Display
  8. Arduino-Schulungsplattform
  9. Erstellen Sie die Fridgeye-App mit einem Nextion-Display
  10. Messung der Sonneneinstrahlung mit Arduino