Introduction: Weather Matrix Display

About the project

I'll show you how to create a mini weather status display from a 8x8 matrix display.

I will be using Genuino MKR1000 to fetch temperature, humidity and condition of weather within a selected location.

Show status to display in an slide animation pattern.

Challenges

Since 8x8 Matrix is basically an array of LEDs, I will need to program it to show text and animation effects

On this project you will also learn how to

  1. consume rest web service api
  2. how to parse Json data
  3. how to use Threads and Wifi libraries in Arduino

Step 1: Assemble MKR1000 and 8x8 Display to Mini Bread Board

The setup is pretty simple, we just need to attach the 8x8 matrix display to our microcontroller.

Requirements

  1. 16pcs of Male to Female jumpers
  2. Mini Bread Board
  3. Microcontroller
  4. 8x8 Matrix Display'

Assembly Display

Divide your jumpers to group of 8pcs.

Make sure that the jumper wires are perfectly alligned.

Connect the 8 female jumpers to the first 8 pins of matrix display.

Connect the other 8 female jumpers to the 2nd 8 pins of matrix display.

Attach to microcontroller

Attach the microcontroller to the mini breadboard

Using the end male pins of the jumper wires, insert them on the first 8 holes where the microcontoller pins are attached (5-A5).

Insert the remaining on the other 8 holes where the microcontoller pins are attached (6-13).

Adjust the 8x8 Matrix Display so it is facing the front when you place it on the table.

Step 2: Create Your Weather Api Account

To be fully called Internet of Things, we need to fetch some data from the internet.

I used APIXU API to fetch weather data from my selected location.

Sign Up for the account here https://www.apixu.com/login.aspx and get your account API Key.

Feel free to use my own api key

String apiKey = "8f0ff191defb4a20b5583518171203"; // your apixu api key

Step 3: Flash Your MKR1000

Add the attached HexFont.h to your Arduino libraries.

Use attached simple_weather_display.ino to flash your microcontroller.

On this part of the code:

Replace with your WiFi settings

char ssid[] = ""; //  your network SSID (name)
char pass[] = "";    // your network password (use for WPA, or use as key for WEP)

Replace with your Apixu Api Key and location coordinates

String apiKey = "8f0ff191defb4a20b5583518171203"; // your apixu api key
String coordinates = "14.3335591,120.9758737"; // your location coordinates

You can also changed what data to be displayed on this part of the code

//update display text to new weather condition
    message = "";
    
    //get the current condition
    String condition =  result["current"]["condition"]["text"];
    appendMessage(condition);
    appendMessage(" ");
    String temp_c = result["current"]["temp_c"] ;
    appendMessage(temp_c);
    appendMessage("C");
    appendMessage(" ");
    String humidity = result["current"]["humidity"];
    appendMessage(humidity);
    appendMessage("H");
    appendMessage(" ");

For example if you want to add wind_mph from apixu api result:

String wind_mph = result["current"]["wind_mph"] ;
appendMessage(wind_mph);
appendMessage("Wind mph");
appendMessage(" ");

Step 4: Finish!

Once flashed it will try to connect to your WiFI and will fetch your weather condition, temperature and humidity!

Make sure you have internet connection.

Need Help?

Feel free to comment here.

Support the project from this Github repo

https://github.com/imjeffparedes/iot-simple-weath...

Also Please vote for me on Internet of Things Contest. :)

Comments

author
mjrovai made it!(author)2017-07-03

nice project! ;-)

author
imjeffparedes made it!(author)2017-07-05

Thank you. Very simple but effective, right? :)

author
WarenGonzaga made it!(author)2017-06-26

Cool project buddy! I like it!

author
imjeffparedes made it!(author)2017-06-26

Thank you. I bought some items from your shop. Please vote for me :)

author
WarenGonzaga made it!(author)2017-06-26

which shop? Do you know my project E.M.I.L.Y? You got my attention because it looks like my very first instructable.

author
imjeffparedes made it!(author)2017-06-27

From Hive Electronics, if that was yours. Yes, I got the idea from EMILY. But this time the display can support all alphabets, numbers and some special characters that slides to left when set. (The hardest part since the display does not have its own driver :D)

author
WarenGonzaga made it!(author)2017-06-27

great work! I would like to invite you in my makerspace team. I already added you on facebook.

author
WarenGonzaga made it!(author)2017-06-26

I already voted you yesterday for IoT contest! You deserve it good luck buddy! I can't wait to see your next project. Thanks for being part of the community :)

author
imjeffparedes made it!(author)2017-06-27

Thank you so much.

About This Instructable

2,251views

34favorites

License:

Bio: Programming is my love and engineering is my third party :)
More by imjeffparedes:Temperature Sensor With Arduino UNOGyroscope With Arduino 101Program Linkit Smart 7688 Duo on Arduino IDE
Add instructable to: