Skip to content

Raziz1/Arduino_Weatherstation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

42 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Arduino_Weatherstation โ˜

Arduino Uno R3/Arduino Mega 2560 R3 + TFT Display + Esp8266 (Esp-01)

Parts ๐Ÿ”ง๐Ÿ”จ

Libraries ๐Ÿ“š

Overview

This project assumes you have some basic knowledge when it comes to using both the Esp8266 WiFi Module and the Kuman TFT Display Shield.

  • This project uses OpenWeathers API to access online data. Go to OpenWeather.org to setup a free account and get your API key.
  • In the "TFT_ESP_SCRAPPER.ino" file you will have to change a fiew things.
    • Input your Wifi Network credentials in ssid & password
    • Input your API link with your city ID (& other parameters) as well as the API key
    • You can use ArduinoJson which is a parsing assistant to break down the Json file
  • There is an extra box for whatever other API you want to scrape. Some APIs I would recommend:
  • Unfortunately I attempted to scrape a (https) snowday predictor but it never ended up working.

Schematics โšก

Wiring TFT Display

The TFT display shield consumes all the pins when directly mounted on the Arduino Uno R3 so instead follow this wiring scheme:

TFT Display Arduino Mega
5V 5V 5V
3.3V 3.3V 3.3V
Ground Ground Ground
LCD_DO 8 8
LCD_D1 9 9
LCD_D2 2 2
LCD_D3 3 3
LCD_D4 4 4
LCD_D5 5 5
LCD_D6 6 6
LCD_D7 7 7
LCD_RST A4 A4
LCD_CS A3 A3
LCD_RS A2 A2
LCD_WR A1 A1
LCD_RD A0 A0
SD_SS 10 53
SD_DI 11 51
SD_DO 12 50
SD_SCK 13 52
  • View the documentation of both the board and the GUI library to familiarize yourself with it. Walk throught the examples in the GUI library specifically the graphics and SD card examples. You can also reference the GUI documentation for syntax.
  • The SD card does not work for the Arduino Mega when it is mounted as a shield. It requires you to wire the SD pins to (50-53) because they support SPI.

Flashing Arduino Code on to Esp8266 (Esp-01) ๐Ÿ“ถ

To flash the WiFi Module ensure you have the following wirings connected:

Esp8266 Arduino
VCC 3.3v
Ground Ground
Tx Tx
Rx Rx
CHPD(Enable) 3.3v
GPIO Ground
Reset - Ground

Arduino IDE setup:

  • In File/Preferences/Additional Boards Manager URLs:, add the following URL, http://arduino.esp8266.com/stable/package_esp8266com_index.json
  • In Tools/Boards click on Board Manager and download the Esp8266 library. I used version 2.5 because it was the only library that worked with my module
  • Change the Baudrate of the board in the serial monitor and Board Manager. Mine worked ad 115200
  • Select generic Esp8266 module and upload the code.
  • Once the code is uploaded open the Serial Monitor and check what the board is outputting
  • When flashing the WiFi Module with new code ensure you unplug the VCC power cable and replug it back in. This Should reboot the WiFi Module into Flash mode while clearing its memory

Uploading Code to Arduino for TFT Display๐Ÿ–ฅ

To upload code to the Arduino board ensure you have the following wirings connected:

Esp8266 Arduino
VCC 3.3v
Ground Ground
Tx Tx
Rx Rx
CHPD(Enable) 3.3v
GPIO Ground
Reset - Nothing

Arduino IDE setup:

  • Ensure the TFT libraries are imported
  • In Tools/Boards change the board to Arduino Uno
  • Upload the code
  • Once the code is uploaded Switch the Tx and Rx cables. This will allow the Arduino board to receive and transmit data to the TFT display
  • Once you are finished all the above steps Switch the GPIO pin on the Esp8266 to 3.3v. This ensures that it boots up into a none flash mode and reads the code in its flash memory.

Notes ๐Ÿ“

  • This project is still being completed...
  • This display does not support the degrees symbol
  • If you decide to change the BMP images familiarize yourself with the libraries documentaiton on Bitmaps because it is a little complicated.
  • The sketch became too large for an Arduino Uno R3 (32K bytes) so I have upgraded to an Arduino Mega.

About

Arduino UnoR3 + TFT Display + Esp8266 (ESP-01)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages