A Weather Prognosticator

I’m not what you would call a Summer Person. My usual strategy for dealing with long-term inclement weather (known to humans as May, June, July, August, and, increasingly, September) is to insulate the house as much as possible, close off rooms I don’t need, run the AC, and pretend that I actually live in northern Canada or somewhere else where the weather outside is pleasant.

It’s a good strategy, and thus far has kept me from catching on fire during the dreaded Daystar Months. However, it is not without its drawbacks: I have no idea what to expect, temperature-wise, when I open the front door. Is a short shirt appropriate for a walk to the corner store, or is it too hot to venture out without a fire suit?

Of course, I could pull out my phone, unlock the screen, pull up a weather app, wait for it to load, and look at the temperatures. But who has time for that? Wouldn’t it be nice to just be able to look up and know what the weather will be like for the next few hours?

The display, running a static color test

The Weather Prognosticator display, running a static color test

Enter the Weather Prognosticator! (Okay, right now it’s just a Temperature Prognosticator; I still need to add precipitation.) An Arduino Uno and Ethernet shield connect to the weatherunderground.com API to pull an hourly forecast once every five minutes*.

This data is translated into a color map from blue (#0000FF) through green (#00FF00) to red(#FF0000), covering temperatures from 0C to 30C. The temperature map still needs a little tweaking; I’ll probably add purple/white for temperatures below zero — but I’ll probably leave 30C-35C as the high end. Anything over that is not amenable to going outside.

Once the data has been translated into a color map, it is sent to a 1m long 30 LED strip that I bought on sale at Radio Shack a while back. The data sheet isn’t very helpful, but with some tweaking, the provided driver functions do work.

This particular LED strip has ten addressable sections of three LEDs each; all three LEDs in each section are the same addressable color. In order to separate the light from each section, I designed a linear sconce, and 3D printed five copies to cover all the sections.

Anyway, here are the plans. You’ll need your own (free) API key from weatherunderground.com .

Arduino code: Weather Prognosticator 0.1 (Alpha)

3D printed holder (print five of them): See Thingiverse

* I plan to dial it back to polling every 30 minutes once it’s more reliable. Right now, I’m still testing it, and it still pulls an all-zero forecast every so often.

This entry was posted in 3D Printing, Arduino, C, Coding, Design, Digital, Electronics, HOW-TO, Internet, Level 2, Networking, Projects and tagged , , , , , , . Bookmark the permalink.

Leave a Reply