Skip to main content

PAFWASA: Personal Assistant for Weather and Style Advice

P ersonal
A assistant
F or
W eather
A nd
S tyle 
A dvice


Haven't you ever woken up in the morning, opened up your closet and thought what you were going to wear? You spend 15 minutes of your morning standing and staring at your clothes, wondering what you are going to put on. And THEN, after you put clothes on, you realize you forgot to check the weather to make sure your dress attire coincides with this extremely inconsistent New York City weather. And upon checking, you realize it is scorching hot out (although mid-February) and you have to completely start all over again! It's a mess! 


Well, we have created an everyday solution to this mess, thanks to PAFWASA! PAFWASA is a personal assistant whose job is to assist its user in general weather advice and style tips the second he/she wakes up in the morning and opens his/her closet to start the day. 


PAFWASA lives in your closet (or a drawer if your wish). Assuming the closet light is turned on every day he/she enters for use, PAFWASA comes to life, which is simply an integrated circuit that incorporates processing for the user's benefit.

The Initial Mock Up (click link) is our initial mock-up and sketch/plan on what we wanted to do with our midterm project. Our plans have generally stayed on the same path, although have veered in some more concentrated directions. 

The way PAFWASA works is simple. It lives inside its own, aesthetically pleasing case. The Arduino is fairly simple as well, which includes a photoresistor circuit. Basically, the way we planned and implemented the circuit was so that once the light is turned on in the closet, it is intercepted by the photoresistor, whose data is then sent to Processing, thus turning PAFWASA on. If no light is on, PAFWASA is off. 


After we built the circuit, we had to figure out the best way to write the code. We went through a few trial and error phases with the processing code, especially because the Yahoo Weather API, which we were using to access the live weather data, was extremely frustrating and difficult to implement at the beginning. Ultimately, we figured it out, and below you can see the code for processing and arduino.


We spent a long time toying around with the processing code to work out all the scenarios we have developped: how we would display the certain screens and the music visualizer in Processing, scroll through different conditions (cities/weather info pages), and what would happen if we keep opening and closing the box based. We had to figure out a lot of different instances to make sure our PAFWASA work the most efficiently! 

The Arduino circuit for the PAFWASA
We then made a box. An important thing to note here is that, the point of this specific object is that it can stand alone on its own, without be attached to any cords or computers. So, we planned to implement the Adafruit Ez-link bluetooth board to the arduino, which would be able to communicate its serial information with the computer, thus no USB connection necessary. Our power would also be drawn from a battery pack which would be attached to the arduino, therefore the box can be picked up, thrown around, and placed wherever you would like...while having your own personal computer screen staying on your bed, or your tablet mounted somewhere on wall. We could not figure out how to connect the bluetooth device, which we will hope to figure out with the help of Constantine in the coming days. So for now, the assignment will have a wired connection to the computer for communication. 

Basically, the case itself is like a drawer. This means that you can slide out the drawer a tad yourself to let some light seep into the photoresistor to activate your personal assistant.

A picture showing the scenario when the drawer is open. 

The screen recording demo:



The walkthrough demo:





Pitfalls and Screwballs:

  • would have been nice to implement the bluetooth device for wireless communication 
  • Yahoo Weather API was extremely difficult to implement into Processing, so needed a lot of practice to figure out how to do it correctly
  • difficult initially to figure out the corresponding conditions for each clothing recommendation 

    Processing Difficulties: 
  • delays in processing screen because of the sending of data from yahoo server 
  • trying to create the perfect threshold from the photoresistor serial data readings 


What We Can Do to Make it Better:
  • first of all, this can be A LOT smaller...to actually make it scalable and a profitable endeavor, we would need to make it the size of maybe a thumb or external hard drive, which is totally doable by the way
  • enable bluetooth connectivity 
  • include a lot more style tips and advice 
  • maybe even have the user be able to search a city while its running to see that city's information 
  • maybe have Siri-like voice speaking the style tips 


Blog article written by Zack Kimelheim
Team Members: Siyuan Hu, Zack Kimelheim

Comments

Popular posts from this blog

Drummy - Ideation and planning

Mini MIDI Controller - Ideation and planning <Project Name: Drummy OR M&M> Project idea In this project, we are trying to build a portable Trellis MIDI instrument that has a pleasant physical form (making users want to press!) and can send MIDI notes signal to any MIDI-enabled applications (MIDI Studio on OSX and some iOS apps). The mini controller has a 3d-printed case housing one 4x4 trellis and 4 potentiometers ideal for a 16-button drum pad. Technically, with a little programming ingenuity, it is possible for the controller to send any kind of MIDI command through USB. The idea is inspired a device called UNTZtrument, an open-source grid controller based on the Adafruit Trellis button platform. Target audience People who are interested in music and technology and want to have a handy and portable MIDI sequencer that can entertain their music addiction! Project meaning Visualize music beats for the music player on ...

Drummy - Full Documentation

Drummy Introduction Drummy is a portable musical instrument incorporating a drum sequencer that is extremely simple and easy to use. It is designed as a mini controller for kids to get familiar with basic tempo in drumming and develop a better sense of rhythm. It has a slick and clean look with comfortable light-emitting silicone buttons that can easily catch the kids' attention. Team Members Siyuan Hu: CS Major NYU '17 Zack Kimelheim: CS/French Major NYU '18 Main Parts 16 LEDs 4 potentiometers 4 decorative caps for potentiometers 1 Leonardo microcontroller board 1 Trellis board a few wires for soldering 3D-Printing for Drummy We decided to 3D print the enclosure case for our final project. There are 4 design pieces (base, frame, tray, lid) that house the components and keep them secured with machine screws. The Arduino is mounted to the bottom cover with 4 screws. 4 potentiometers are mounted to the top panel and secured in place. ...