Inhaltsverzeichnis:

ESP8266/ESP32 Wetterstation mit TFT-LCD(s) - Gunook
ESP8266/ESP32 Wetterstation mit TFT-LCD(s) - Gunook

Video: ESP8266/ESP32 Wetterstation mit TFT-LCD(s) - Gunook

Video: ESP8266/ESP32 Wetterstation mit TFT-LCD(s) - Gunook
Video: DIY Weather Station & WiFi Sensor Station || ESP8266, Nextion LCD 2024, November
Anonim
ESP8266/ESP32 Wetterstation mit TFT-LCD(s)
ESP8266/ESP32 Wetterstation mit TFT-LCD(s)
ESP8266/ESP32 Wetterstation mit TFT-LCD(s)
ESP8266/ESP32 Wetterstation mit TFT-LCD(s)
ESP8266/ESP32 Wetterstation mit TFT-LCD(s)
ESP8266/ESP32 Wetterstation mit TFT-LCD(s)

Hallo!

In diesem kurzen instructable möchte ich mein zweites Esp8266 WS-Projekt präsentieren. Da ich mein erstes ESP-Projekt gepostet habe, wollte ich mir ein zweites machen. So hatte ich etwas Freizeit, um einen alten Quellcode an meine Bedürfnisse anzupassen.

Also, wenn es Ihnen nichts ausmacht, werde ich es präsentieren.

Schritt 1: Die Wetterstation

Das WS verwendet weiterhin den Openweathermap-API-Schlüssel, um die Wetterdaten herunterzuladen und auf dem Bildschirm anzuzeigen.

Ein wenig Codierung war erforderlich, da in dieser Form die gewünschten Wettersymbole nicht angezeigt werden konnten.

Schritt 2: Materialien

Benötigte Teile für WS:

- Nodemcu V3 ESP8266

- 1,8-Zoll-TFT-LCD mit ST7735-Treiber-IC

- F-F-Drähte

- Quellcode

- Arduino-IDE

- SPIFFS-Unterstützung

- Openweathermap-API-Schlüssel

Schritt 3: Software

Für dieses Projekt stelle ich den Quellcode und die benötigten Bitmap-Bilder zur Verfügung, laden Sie sie von meiner Github-Seite herunter:

Die von mir verwendete Bibliothek ist die von Bodmer erstellte TFT_eSPI.

Alles was Sie tun müssen: Die richtigen Bibliotheken herunterladen, kompilieren und auf das Board hochladen, die Bitmap-Bilder mit SPIFFS auf ESP hochladen und mit LCD verbinden.

Ich habe 24 Bit 100 X 100 Bitmap-Bilder verwendet, aber Sie können auch andere Symbole verwenden. Die von mir verwendeten habe ich von https://www.flaticon.com heruntergeladen

Schritt 4: LCD-Pinbelegung

Die Pinbelegung ist folgende:

// SDO/MISO an NodeMCU Pin D6 anzeigen (oder getrennt lassen, wenn kein TFT gelesen wird)

// Anzeige-LED an NodeMCU-Pin VIN (oder 5V, siehe unten)

// Anzeige von SCK zu NodeMCU-Pin D5

// Anzeige von SDI/MOSI an NodeMCU-Pin D7

// DC (RS/AO) an NodeMCU-Pin D3 anzeigen

// Anzeige RESET auf NodeMCU Pin D4 (oder RST, siehe unten)

// CS an NodeMCU Pin D8 anzeigen (oder GND, siehe unten)

// Anzeige von GND zum NodeMCU-Pin GND (0V)

// VCC an NodeMCU 5V oder 3.3V anzeigen

Für eine reduzierte Hintergrundbeleuchtung können Sie ein 10K-Potentiometer verwenden oder einen anderen GPIO-Pin verwenden. Was mich selbst betrifft, verbinde ich normalerweise den Backlight-Pin mit dem TX-Pin. Ich weiß, dass es keine sehr gute Idee oder sehr gesund für ESP ist, aber es funktioniert so.

Schritt 5: WS in Aktion

WS in Aktion
WS in Aktion
WS in Aktion
WS in Aktion
WS in Aktion
WS in Aktion

Nachdem Sie alles richtig gemacht haben, sehen Sie, dass sich die Wetterstation mit dem Internet verbindet und die Wetterdaten herunterlädt.

Die verschiedenen Parameter sind in verschiedene Schleifen unterteilt.

Was Sie sehen, ist die aktuelle Wetterbeschreibung, Temperatur, Luftfeuchtigkeit, Windgeschwindigkeit, Sicht in Metern, Luftdruck, Windwinkel, Bewölkung in Prozent (%).

Als Bonus zwischen 21:00 und 7:00 Uhr wird die Anzeige invers, um die Nachtzeit zu simbolisieren.

Schritt 6: Einige wichtige Tipps

Einige wichtige Tipps
Einige wichtige Tipps
Einige wichtige Tipps
Einige wichtige Tipps
Einige wichtige Tipps
Einige wichtige Tipps

Wie ihr alle wisst, gibt es im Internet einige Varianten des 1,8 TFTs. Mit den echten Adafruit LCD-s gibt es in der Regel keine Probleme. Bei der Verwendung von gefälschten (meist von Aliexpress) muss man allerdings einige Anpassungen vornehmen.

Bodmers TFT_eSPI-Bibliothek ist sehr beeindruckend und funktionsreich. Und das Beste daran ist, dass er es geschafft hat, die Pixel-Offsets zu verarbeiten, je nachdem, welche Art von 1,8 TFT Sie verwenden.

Um dieses Problem zu lösen, schlage ich folgendes vor:

Gehen Sie zum Bibliotheksordner und bearbeiten Sie die Datei User_Setup.h. Entkommentieren Sie #define ST7735_DRIVER und kommentieren Sie die anderen.

Entkommentieren Sie dann die TFT-Höhe und -Breite. Und dann in meinem Fall (REDTAB) entkommentieren für zB: #define ST7735_REDTAB. Danach speichern Sie es für den Moment und kompilieren Sie die Skizze und laden Sie sie auf das Board hoch. Um sicher zu gehen, habe ich die Parameter auch im Sketch definiert. Dies ist ein etwas langwieriger Vorgang, da Sie den Sketch jedes Mal kompilieren und hochladen müssen, bis der Offset weg ist, aber das Experimentieren lohnt sich. Zum Bearbeiten der h. Dateien empfehle ich dringend Wordpad. Bilder enthalten.

Schritt 7: Fertig

Nachdem Sie alles richtig gemacht haben, können Sie dieses kleine Gerät genießen. Ich habe versucht, die Bitmap-Bilder so gut wie möglich mit den Wettercodes zu koppeln, aber ich teste es im Moment noch.

Im Grunde habe ich es nur für mich selbst gemacht, aber nach einem Tag dachte ich, ich werde es teilen. Vielleicht gefällt es jemand mehr als mir.

Vielen Dank für das Lesen meiner instructable, hoffe, dass Sie es nützlich finden und verwenden, wie Sie möchten.

Einen schönen Tag noch!

Schritt 8: Ein kleines Update

Ein kleines Update
Ein kleines Update
Ein kleines Update
Ein kleines Update
Ein kleines Update
Ein kleines Update

Nach ein paar Tagen dachte ich, dass ich dieses WS in einer neuen Form remake.

Änderungen: ESP32 Uno R3

Paralleles ILI9340/41 TFT-LCD

Neue Symbole

1 zusätzliche Option

Bitte bearbeiten Sie die Datei User_setup.h in der TFT_eSPI-Bibliothek entsprechend in der Skizze. Bitte entkommentieren Sie sie und kommentieren Sie andere Optionen aus, sonst funktioniert es nicht.

Sie müssen GPIO 35 bis 15, GPIO 33 bis 34, GPIO 32 bis 36 anschließen, da es sich nur um Eingangspins handelt und dann funktioniert unser Display nicht (siehe Bild).

Quellcode ist auf github verfügbar.

Empfohlen: