We wanted to brighten up people's morning routines. Everybody checks the weather in the morning, and we wanted to make something that would allow them to do that quickly and without having to read anything.
What it does
Pulls weather data from the cloud and changes color to reflect the conditions outside. There are six possible conditions: night, overcast, rain/storm/lightning, snow, golden, and blue skies. The cloud can also be controlled through a smart phone to turn to any of these conditions. It also has a rainbow mode -- just for fun.
How I built it
We connected an Intel Edison with a Arduino Pro Mini. The Intel Edison is connected to the internet, and pulls weather data from openweathermap.org. The data is then processed in the Edison and uses binary encoding to transmit to the Arduino. The Arduino looks for the corresponding code and chooses which lightning mode to be in. The smartphone app Blynk communicates with Edison to change the mode of the cloud using a virtual dashboard of buttons -- configurable in the smartphone.
Challenges I ran into
We never figured out how to use UART, serial, or I2C communication between the Arduino and Edison, which made trying to transmit weather data an absolute nightmare (5 hours to be exact).
Accomplishments that I'm proud of
We came up with the idea to use a three bit binary encoding system with a signal bit in order to communicate weather modes. Using the three bit system we were able to define eight different settings for the cloud. This was our first time working with Intel Edison so we had to do a lot of learning on the spot.
What I learned
We learned that sometimes the easiest way to do something is not the most technologically advanced. We learned this because it ended up being more effective to use a five volt signal from an Edison GPIO pin to change the state of the pins on the Arduino Pro Mini, which in turn would time the code pushing for the pixels correctly. Also, it's OK to ask for help (the Intel guys were really and spend five hours working with us).
What's next for Weather Cloud
We want to implement more things such as relative temperature to the previous day and more weather modes.