Table des matières:

Station météo ESP8266/ESP32 avec écran LCD TFT : 8 étapes
Station météo ESP8266/ESP32 avec écran LCD TFT : 8 étapes

Vidéo: Station météo ESP8266/ESP32 avec écran LCD TFT : 8 étapes

Vidéo: Station météo ESP8266/ESP32 avec écran LCD TFT : 8 étapes
Vidéo: ESP32-S3 TFT Display 3.5'' ILI9488: SPI Version vs Parallel Version 2024, Novembre
Anonim
Station météo ESP8266/ESP32 avec écran LCD TFT
Station météo ESP8266/ESP32 avec écran LCD TFT
Station météo ESP8266/ESP32 avec écran LCD TFT
Station météo ESP8266/ESP32 avec écran LCD TFT
Station météo ESP8266/ESP32 avec écran LCD TFT
Station météo ESP8266/ESP32 avec écran LCD TFT

Salut!

Dans ce court instructable, je voudrais présenter mon deuxième projet Esp8266 WS. Depuis que j'ai posté mon premier projet ESP, je voulais m'en faire un deuxième. J'ai donc eu du temps libre pour retravailler un ancien code source pour l'adapter à mes besoins.

Donc si cela ne vous dérange pas, je vous le présenterai.

Étape 1: La station météo

Le WS utilise toujours la clé API openweathermap pour télécharger les données météorologiques et les afficher à l'écran.

Un peu de codage était nécessaire car sous cette forme, il ne pouvait pas afficher les icônes météo que je voulais.

Étape 2: Matériaux

Pièces nécessaires pour WS:

-Nodemcu V3 ESP8266

- Écran LCD TFT 1,8 pouces avec circuit intégré de pilote ST7735

- Fils F-F

- Code source

- IDE Arduino

- Prise en charge des SPIFFS

- Clé API Openweathermap

Étape 3: Logiciel

Pour ce projet, je fournis le code source et les images bitmap nécessaires, téléchargez-le depuis ma page github:

La bibliothèque que j'ai utilisée est la TFT_eSPI créée par Bodmer.

Tout ce que vous avez à faire: téléchargez les bonnes bibliothèques, compilez-les et téléchargez-les sur la carte, téléchargez les images bitmap avec SPIFFS sur ESP et connectez-vous avec lcd.

J'ai utilisé des images bitmap 24 bits 100 X100, mais vous pouvez utiliser n'importe quelle autre icône. Ceux que j'ai utilisés ont été téléchargés sur

Étape 4: Brochage de l'écran LCD

Le brochage est le suivant:

// Affiche le SDO/MISO sur la broche D6 du NodeMCU (ou laisse déconnecté s'il ne lit pas le TFT)

// Affichage LED à la broche NodeMCU VIN (ou 5V, voir ci-dessous)

// Affichage du SCK sur la broche D5 du NodeMCU

// Affichage du SDI/MOSI sur la broche D7 du NodeMCU

// Affichage DC (RS/AO) à la broche NodeMCU D3

// Affiche RESET à la broche NodeMCU D4 (ou RST, voir ci-dessous)

// Affiche CS à NodeMCU broche D8 (ou GND, voir ci-dessous)

// Affiche GND à la broche NodeMCU GND (0V)

// Affichage VCC vers NodeMCU 5V ou 3.3V

Pour un rétroéclairage réduit, vous pouvez utiliser un potentiomètre 10K ou utiliser une autre broche GPIO. Quant à moi, je connecte généralement la broche de rétroéclairage à la broche TX. Je sais que ce n'est pas une très bonne idée ou très sain pour l'ESP, mais cela fonctionne de cette façon.

Étape 5: WS en action

WS en action
WS en action
WS en action
WS en action
WS en action
WS en action

Une fois que vous avez tout fait correctement, vous pouvez voir que la station météo se connecte à Internet et télécharge les données météo.

Les différents paramètres sont séparés dans différentes boucles.

Ce que vous voyez est la description météorologique réelle, la température, l'humidité, la vitesse du vent, la visibilité en mètres, la pression atmosphérique, l'angle du vent, la couverture nuageuse en pourcentage (%).

Quant au bonus entre 21h et 7h, l'affichage s'inverse pour symboliser l'heure de nuit.

Étape 6: Quelques conseils importants

Quelques conseils importants
Quelques conseils importants
Quelques conseils importants
Quelques conseils importants
Quelques conseils importants
Quelques conseils importants

Comme vous le savez tous, il existe quelques variantes du TFT 1,8 sur Internet. Avec les véritables écrans LCD Adafruit, il n'y a généralement pas de problèmes. Mais lorsque vous utilisez de faux (généralement d'Aliexpress), vous devez faire quelques ajustements.

La bibliothèque Bodmers TFT_eSPI est très fonctionnelle et riche. Et le meilleur, c'est qu'il a réussi à gérer les décalages de pixels en fonction du type de TFT 1,8 que vous utilisez.

Afin de surmonter ce problème, je suggère ce qui suit:

Accédez au dossier de la bibliothèque et modifiez le fichier User_Setup.h. Décommentez #define ST7735_DRIVER et commentez les autres.

Décommentez ensuite la hauteur et la largeur tft. Et puis dans mon cas (REDTAB) décommentez par exemple: #define ST7735_REDTAB. Après cela, enregistrez-le pour le moment et compilez le croquis et téléchargez-le sur le tableau. Pour être sûr que j'ai également défini les paramètres dans le croquis. C'est une procédure un peu longue, car vous devez compiler et télécharger le croquis à chaque fois pour embarquer jusqu'à ce que le décalage soit parti, mais cela vaut la peine d'expérimenter. Pour éditer le h. fichiers que je suggère fortement Wordpad. Images incluses.

Étape 7: Terminé

Après avoir tout fait correctement, vous pouvez profiter de ce petit gadget. J'ai essayé de jumeler les images bitmap avec les codes météo aussi bien que possible, mais je le teste toujours pour le moment.

Fondamentalement, je l'ai juste fait pour moi, mais après une journée, j'ai pensé que je le partagerais. Peut-être que quelqu'un l'aimera plus que moi.

Merci d'avoir lu mon instructable, j'espère que vous le trouverez utile et l'utiliserez comme vous le souhaitez.

Bonne journée!

Étape 8: Une petite mise à jour

Une petite mise à jour
Une petite mise à jour
Une petite mise à jour
Une petite mise à jour
Une petite mise à jour
Une petite mise à jour

Après quelques jours, j'ai pensé refaire ce WS sous une nouvelle forme.

Changements: ESP32 Uno R3

Écran LCD TFT ILI9340/41 parallèle

Nouvelles icônes

1 option supplémentaire

Veuillez modifier le fichier User_setup.h dans la bibliothèque TFT_eSPI en conséquence dans le croquis. Veuillez les décommenter et commenter une autre option, sinon cela ne fonctionnera pas.

Vous devez connecter GPIO 35 à 15, GPIO 33 à 34, GPIO 32 à 36 car ce ne sont que des broches d'entrée et notre affichage ne fonctionnera pas (voir photo).

Le code source est disponible sur github.

Conseillé: