Inhoudsopgave:

ESP8266/ESP32 weerstation met TFT LCD('s) - Ajarnpa
ESP8266/ESP32 weerstation met TFT LCD('s) - Ajarnpa

Video: ESP8266/ESP32 weerstation met TFT LCD('s) - Ajarnpa

Video: ESP8266/ESP32 weerstation met TFT LCD('s) - Ajarnpa
Video: Метеостанция ESP8266 Wifi IoT с ThingSpeak.com 2024, November
Anonim
ESP8266/ESP32 weerstation met TFT LCD('s)
ESP8266/ESP32 weerstation met TFT LCD('s)
ESP8266/ESP32 weerstation met TFT LCD('s)
ESP8266/ESP32 weerstation met TFT LCD('s)
ESP8266/ESP32 weerstation met TFT LCD('s)
ESP8266/ESP32 weerstation met TFT LCD('s)

Hallo!

In deze korte instructable wil ik mijn tweede Esp8266 WS-project presenteren. Sinds ik mijn eerste ESP-project heb gepost, wilde ik een tweede voor mezelf maken. Dus ik had wat vrije tijd om een oude broncode te herwerken om aan mijn behoeften te voldoen.

Dus als je het niet erg vindt, zal ik het je voorstellen.

Stap 1: Het weerstation

De WS gebruikt nog steeds de openweathermap API-sleutel om de weergegevens te downloaden en op het scherm weer te geven.

Er was een beetje codering nodig omdat het in die vorm niet de weerpictogrammen kon weergeven die ik wilde.

Stap 2: Materialen

Onderdelen nodig voor WS:

-Nodemcu V3 ESP8266

- 1,8 inch TFT LCD met ST7735 driver IC

- F-F draden

- Broncode

- Arduino IDE

- SPIFFS-ondersteuning

- Openweathermap API-sleutel

Stap 3: Software

Voor dit project lever ik de broncode en de benodigde bitmapafbeeldingen, download deze van mijn github-pagina:

De bibliotheek die ik heb gebruikt is de TFT_eSPI gemaakt door Bodmer.

Het enige wat u hoeft te doen: download de juiste bibliotheken, compileer deze en upload deze naar het bord, upload de bitmapafbeeldingen met SPIFFS naar ESP en maak verbinding met lcd.

Ik heb 24-bit 100 X100 bitmapafbeeldingen gebruikt, maar u kunt andere pictogrammen gebruiken. Degene die ik heb gebruikt, heb ik gedownload van

Stap 4: LCD-pinout

De pinout is de volgende:

// Geef SDO/MISO weer naar NodeMCU pin D6 (of laat los als TFT niet wordt gelezen)

// Display LED naar NodeMCU pin VIN (of 5V, zie hieronder)

// Toon SCK naar NodeMCU pin D5

// Geef SDI/MOSI weer naar NodeMCU pin D7

// Display DC (RS/AO) naar NodeMCU pin D3

// Display RESET naar NodeMCU pin D4 (of RST, zie hieronder)

// Display CS naar NodeMCU pin D8 (of GND, zie hieronder)

// Toon GND naar NodeMCU pin GND (0V)

// Toon VCC naar NodeMCU 5V of 3.3V

Voor minder achtergrondverlichting kunt u een 10K-potentiometer gebruiken of een andere GPIO-pin gebruiken. Wat mezelf betreft, verbind ik meestal de backlight-pin met de TX-pin. Ik weet dat het geen erg goed idee of erg gezond is voor ESP, maar zo werkt het wel.

Stap 5: WS in actie

WS in actie
WS in actie
WS in actie
WS in actie
WS in actie
WS in actie

Nadat je alles correct hebt gedaan, kun je zien dat het weerstation verbinding maakt met internet en de weergegevens downloadt.

De verschillende parameters zijn gescheiden in verschillende lussen.

Wat je ziet is de actuele weersbeschrijving, temperatuur, luchtvochtigheid, windsnelheid, zicht in meters, luchtdruk, windhoek, bewolking in procenten (%).

Wat betreft een bonus tussen 21.00 uur en 07.00 uur, draait het display omgekeerd om de nachttijd te simuleren.

Stap 6: Enkele belangrijke tips

Enkele belangrijke tips
Enkele belangrijke tips
Enkele belangrijke tips
Enkele belangrijke tips
Enkele belangrijke tips
Enkele belangrijke tips

Zoals jullie allemaal weten zijn er een paar varianten van de 1.8 TFT op internet. Met de echte Adafruit lcd-'s zijn er meestal geen problemen. Maar bij het gebruik van nep-exemplaren (meestal van Aliexpress) moet je wat aanpassingen maken.

De Bodmers TFT_eSPI-bibliotheek is erg geweldig en heeft een rijke functionaliteit. En het beste is dat hij het heeft gemaakt om de pixel-offsets aan te kunnen, afhankelijk van het soort 1,8 TFT dat je gebruikt.

Om dit probleem op te lossen, stel ik het volgende voor:

Ga naar de bibliotheekmap en bewerk het User_Setup.h-bestand. Uncomment #define ST7735_DRIVER en becommentarieer de anderen.

Verwijder vervolgens de tft-hoogte en -breedte. En dan in mijn geval (REDTAB) uncomment voor bijvoorbeeld: #define ST7735_REDTAB. Sla het daarna op voor het moment en compileer de schets en upload deze naar het bord. Om zeker te zijn heb ik de parameters in de schets ook gedefinieerd. Dit is een beetje lange procedure, omdat je de schets elke keer moet compileren en uploaden om te boarden totdat de offset verdwenen is, maar het is het experimenteren waard. Voor het bewerken van de h. bestanden raad ik Wordpad ten zeerste aan. Afbeeldingen inbegrepen.

Stap 7: Klaar

Nadat je alles goed hebt gedaan, kun je genieten van deze kleine gadget. Ik heb geprobeerd de bitmapafbeeldingen zo goed mogelijk te koppelen aan de weercodes, maar ik ben het op dit moment nog aan het testen.

Eigenlijk heb ik het gewoon voor mezelf gemaakt, maar na een dag dacht ik dat ik het zal delen. Misschien vindt iemand het leuker dan ik.

Bedankt voor het lezen van mijn instructable, ik hoop dat je het nuttig zult vinden en het zult gebruiken zoals je wilt.

Prettige dag!

Stap 8: Een kleine update

Een kleine update
Een kleine update
Een kleine update
Een kleine update
Een kleine update
Een kleine update

Na een paar dagen dacht ik dat ik deze WS in een nieuwe vorm opnieuw zou maken.

Wijzigingen: ESP32 Uno R3

Parallel ILI9340/41 TFT LCD

Nieuwe pictogrammen

1 extra optie

Bewerk het User_setup.h-bestand in de TFT_eSPI-bibliotheek dienovereenkomstig in de schets. Pls verwijder ze en becommentarieer een andere optie of anders zal het niet werken.

Je moet GPIO 35 tot 15, GPIO 33 tot 34, GPIO 32 tot 36 aansluiten omdat het alleen invoerpinnen zijn en dan werkt ons display niet (zie afbeelding).

Broncode is beschikbaar op github.

Aanbevolen: