Inhoudsopgave:
- Stap 1: Het weerstation
- Stap 2: Materialen
- Stap 3: Software
- Stap 4: LCD-pinout
- Stap 5: WS in actie
- Stap 6: Enkele belangrijke tips
- Stap 7: Klaar
- Stap 8: Een kleine update
Video: ESP8266/ESP32 weerstation met TFT LCD('s) - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:15
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
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
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
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:
ESP32 Weathercloud-weerstation: 16 stappen (met afbeeldingen)
ESP32 Weathercloud Weather Station: Vorig jaar publiceerde ik mijn grootste Instructable tot nu toe genaamd Arduino Weathercloud Weather Station. Het was erg populair zou ik zeggen. Het was te zien op de Instructables-homepage, Arduino-blog, Wiznet-museum, Instructables Instagram, Arduino Instagr
3.2 TFT-weerstation: 4 stappen
3.2 TFT-weerstation: Ja! Het is weer hetzelfde weerstation, maar dan met een groter scherm. Kijk eens naar eerdere instructables. Ik had nog steeds dit 320X480 lcd-scherm voor de Arduino Mega en ik vroeg me af of ik mijn schets kon herschrijven om eraan te werken. Ik had geluk
Verbonden weerstation met ESP32: 3 stappen
Verbonden weerstation met ESP32: in deze tutorial leer je hoe je een weerstation instelt op basis van ESP32 en hoe je de meetwaarden op afstand kunt volgen, zowel via de Blynk-app als via een website
ESP32 zonne-weerstation: 4 stappen (met afbeeldingen)
ESP32 Solar Weather Station: voor mijn eerste IoT-project wilde ik een weerstation bouwen en de gegevens naar data.sparkfun.com sturen. Kleine correctie, toen ik besloot mijn account in Sparkfun te openen, accepteerden ze geen verbindingen meer, dus ik kies een andere IoT-gegevensverzamelaar d
Weerstation met Arduino, BME280 & display voor het zien van de trend in de afgelopen 1-2 dagen: 3 stappen (met afbeeldingen)
Weerstation met Arduino, BME280 & display voor het zien van de trend in de afgelopen 1-2 dagen: Hallo! Hier op instructables zijn al weerstations geïntroduceerd. Ze tonen de huidige luchtdruk, temperatuur en vochtigheid. Wat ze tot nu toe misten, was een presentatie van de cursus in de afgelopen 1-2 dagen. Dit proces zou de a