I wake up every morning and I have to open the weather app on my phone to know the temperature in the morning and during the day. Then, based on that, I have to think and decide what to wear. This takes time, and I could have slept a few more minutes instead. That’s how we came up with this idea. We wanted to do something that tells you what to wear/mention if you need a raincoat depending on the weather outside.

What it does

“What Do I Wear Today?” takes weather information (more specifically the temperature) from the internet and tells you what to wear on that day based on the weather conditions. This project will be useful for Penn students, those who have trouble deciding what to wear depending on the weather. It will print what to wear on the RGB LCD shield. We will also record ourselves saying what to wear and depending on the temperature outside, Matlab will play the appropriate file for the user. For example, if the temperature is between 37-40 degrees Fahrenheit, it is going to print and play a file that says wear a jacket, scarf, gloves and other things.

Technical Description

“What Do I Wear Today?” reads weather information from yahoo weather and then tells you what to wear based on the temperature. We are using an Arduino Mega 2560, a Wifi shield 101 and an RGB Lcd Shield (16 x 2).

We used the wifi shield to connect the Arduino to the internet. We are reading the name of the city, the temperature and the wind chill. We, then, added several if statements to the code that tells you what to wear depending on the temperature. For example, if the temperature is 33 degrees Fahrenheit, the RGB LCD shield prints “Wear several layers. Wear gloves and boots.” We printed all this information on the RGB LCD shield.

We also combined Arduino and Matlab. We recorded ourselves saying what to wear as audio files and then we coded in Matlab so that it plays the appropriate file depending on the temperature. Arduino reads the temperature from yahoo weather and prints it on the serial monitor. Matlab gets that information from the serial monitor. It then processes it and plays the corresponding file. For example, Matlab speaks saying “Wear several layers. Wear gloves and boots.”

Also, we wanted to put the Arduino mega 2560, wifi shield, and LCD shield in a box for a better presentation. We designed the box using SolidWorks. We laser cut the different parts and glued them together.

Challenges I ran into

  • We started with an ethernet shield but it did not work. We then switched to a wifi shield. It connected to the internet, however, it was reading the wrong information from yahoo weather.
  • At first, we were just printing all the information we read (wind chill, temperature, the place and what to wear) on the serial monitor. We wanted to print all that on an RGB screen. When we tried it, the RGB screen was printing a bunch of characters that did not make sense. We were importing several libraries on Arduino, so we had stability problems; we were using too much memory on Arduino. We then switched to Arduino Mega to solve this problem.
  • Combining Arduino and Matlab was another challenge. With the help of a TA, we figured out the code to make Arduino communicate with Matlab.

Built With

Share this project: