Difference between revisions of "Zesty Vesty"

From ESE205 Wiki
Jump to navigation Jump to search
m (Protected "Zesty Vesty" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)))
 
(133 intermediate revisions by 3 users not shown)
Line 1: Line 1:
This is the page for Gillian, Andre, and Kenneth's ESE 205 project.
 
  
== Project Proposal ==
+
== Overview ==  
  
=== '''Angel Buddy (Get Better Name)''' ===
+
Light up clothing has always been a crowd favorite. But what if light up clothing could be more exciting than just a piece of clothing with blinking lights on it? <br/><br/>
 +
For our project, we provide users with a piece of light up clothing that does far more exciting things than just blink. We are making a vest that is covered in LED light strips. We are incorporating a sound sensor and an accelerometer so that the LEDs on the vest will reflect the users' surroundings. Some of the LEDs will reflect data from the sound sensor and other LEDs will reflect data from the accelerometer. The LEDs connected to the sound sensor will blink to the beat of the music, making our vest a party must-have. The LEDs connected to the accelerometer will change color if the user spins, and the color will be determined based on the direction the user spins. <br/><br/>
 +
The vest, called “Zesty Vesty”, both reflects the user’s surrounding, as well as has an interactive portion to it. The goal of this project is to successfully integrate both sensors into the vest, and make an eye-catching piece of wearable technology that is exciting to users. We will be using Arduino (which uses C++) to read in data from the sensors and then display on the LEDs. We plan of having a button on the vest so that the user can turn the vest on and switch between different modes.
  
'''Overview:''' <br/>
+
== Team Members ==
The objective of our project is to create a reminder buddy that assists in the lives of WashU students. This buddy is intended to be a compact and efficient size and shape in order to maximize versatility. Or initial design is based around the shape of a standard bottle, so that it does not take up too much space in college students’ modest sized dorm rooms, and also is portable and can fit into the water bottle holder that many backpacks have. This device will synch with the students’ google calendars and use audio reminders to ensure that students know when they have class and meetings. There will be an interactive app that uses IoT connection so that students can manage the functions of their buddy. Additionally, there will be a “bubble gun feature” included in this device. Intended for the appeal of students-alike, this feature may provide a much needed distraction or stress relief for the owner. Utilizing an IOT, the user may activate the feature with ease while walking in between classes.
+
*Andre Cook
Later features we are considering are further utilizing the speaker system and app, creating an audio reminder about note other than schedule as well as a possible music feature.
+
*Gillian Laming
 +
*Kenneth McNelly
 +
*TA: Chance Bayles
 +
*Instructor: Jim Feher
  
'''Link to weekly log:''' <br/>
+
== Objectives ==
[[G.A.K.'s_Weekly_Log|Weekly log]]
+
 +
*Understand how the Fast Fourier Transform works, and use it to read in data from the sound sensor
 +
*Learn how to use and program on Arduino
 +
*Have the Arduino reading in data from both sensors
 +
*Connect the LED light strips with both the sensors so that they reflect the data
 +
*Have the LEDs blink to beat of music and change color when the user spins
 +
*Connect the buttons successfully with the Arduino so we can change modes
 +
*Assemble all components together so that vest is wearable
  
'''Team Members:''' <br/>
+
== Challenges ==
Andre Cook, Gillian Laming, Kenneth McNelly, TA: Chance Bayles, Instructor: Jim Feher
+
We anticipate that we will face challenges coordinating all of the different aspects of the project (the two sensors and manipulating the LEDs). We plan on using a Fast Fourier Transform from the sound sensor, and because this is a new concept to us, it will take us some time to learn and understand. We were originally going to use a Raspberry Pi as the main component of our project, but in a last-minute pivot, decided to use Arduino. We will have to learn and understand how to use Arduino in a very short amount of time. Additionally, the vest will need to be worn by the user, so we need to make sure that it is both comfortable and practical. This could be difficult given the lights and features we intend on adding to the vest.
  
'''Challenges:''' <br/>
+
=== New Skills ===
Some challenges we currently anticipate facing over the course of making this device will be learning how IoT works and designing the app. Each group member has a very different level of experience with respect to what we’re making, but everyone will face a certain degree of newness and will have to learn new skills.  
+
Not everyone in the group was familiar with different aspects of the project. This meant we needed to learn:
 +
*Arduino and C++: These two programs were new to some of the members of the team
 +
*FFT: Fast Fourier Transform was a concept that was also new to everyone. The concept of FFT revolves around combined signals and how they could be separated into their fundamental frequencies. This concept would work well with the sound sensor. When FFT is applied, not only could we separate notes into their fundamental frequencies, but we could also see which of those notes were most prominent. This allowed us to create a mode that would show the prominence of the fundamental frequencies. For instance, if a song had more bass, the lower LED lights would shine brighter. In order to successfully and effectively run the FFT code for the Arduino, we needed at least a basic level of understanding when it came to how Fourier Transforms works.
  
It is also important that we take the student’s privacy into consideration when designed the app. Since their schedule will be synched, we want to ensure that this information is not available to the public.  
+
=== Major Pivot ===
 +
Due to unforeseen issues, we had to drastically change the project’s overall design. Originally, we intended to use an LED matrix on the back of the vest and have this light matrix work with a Raspberry Pi, and three sensors. Unfortunately, this light matrix stopped working and we had to switch over to using Arduino as our main processor and LED light strips to represent the sensor data. This allowed for us to get creative in different ways.
  
'''Gantt Chart:''' <br/>
+
=== Other Challenges ===
In progress.
+
We had other challenges in addition to our late-in-the-game project shift. These challenges were:
 +
·      Fitting the lights onto the vest. We 3D printed clips to slide the LEDs through to keep them attached to the vest
 +
·      Working with a sensitive accelerometer. The accelerometer was very inexpensive, which meant that it was difficult to work with. We were trying to isolate the acceleration in the z direction so that when the user would spin, the LEDs would change color to indicate the direction in which they were spinning. It was difficult to get a solid reading for the acceleration in the z direction, and we noticed that the “base” acceleration (so the acceleration when the user was standing still) kept changing.
 +
·      Binning the frequencies using the FFT data. Even after getting the FFT to give us readings of frequencies, we needed to figure out how to represent those frequencies on the LEDs, and categorize all of the frequencies into bins.  
  
'''Budget:''' <br/>
+
== Gantt Chart ==
''In progress.'' 
 
Potential Equipment <br/>
 
IoT system: *options will be explored:
 
Raspberry Pi setup …
 
Particle photon w/ Particle Cloud
 
Bluetooth Low Energy?
 
  
 +
[[File:ganttgak.png|frameless]] <br />
  
 +
== Budget ==
  
 +
[https://www.amazon.com/gp/product/B017OQ26OA/ref=oh_aui_detailpage_o09_s00?ie=UTF8&psc=1 Splitter Charger Cable]: $5.59 <br/>
 +
[https://www.amazon.com/gp/product/B00W058HHQ/ref=oh_aui_detailpage_o00_s00?ie=UTF8&psc=1 Power Plug Adapters]: $6.39 <br/>
 +
[https://www.amazon.com/gp/product/B07BB15KPD/ref=oh_aui_detailpage_o08_s00?ie=UTF8&psc=1 Capacitor]: $4.99 <br/>
 +
[https://www.amazon.com/gp/product/B00ZHB9M6A/ref=oh_aui_detailpage_o01_s00?ie=UTF8&psc=1 LED light strips]: $26.99 <br/>
 +
[https://www.amazon.com/gp/product/B00SLYAI9K/ref=oh_aui_detailpage_o05_s00?ie=UTF8&psc=1 Sound Sensor]: $13.76 <br/>
 +
[https://www.sparkfun.com/products/13926?_ga=2.63109807.1693893565.1539875629-292865884.1539875629%20SparkFun%20Triple%20Axis%20Accelerometer%20Breakout Accelerometer]: $9.95 <br/>
 +
[https://www.amazon.com/dp/B01N4MPIFE/ref=sspa_dk_detail_2?psc=1&pd_rd_i=B01N4MPIFE&pf_rd_m=ATVPDKIKX0DER&pf_rd_p=f52e26da-1287-4616-824b-efc564ff75a4&pf_rd_r=BEGGNYK1TWQNFG3X6HZG&pd_rd_wg=AT29j&pf_rd_s=desktop-dp-sims&pf_rd_t=40701&pd_rd_w=5fmh5&pf_rd_i=desktop-dp-sims&pd_rd_r=a0e6ab41-bdd7-11e8-90fb-9babd353c434%20Salzmann%203M%20Multi%20Pocket%20Working%20Vest Vest]: $12.90 <br/>
 +
[https://store.arduino.cc/usa/arduino-uno-rev3 Arduino]: $22.00 <br/>
 +
[https://www.amazon.com/gp/product/B074KDLHQ4/ref=oh_aui_detailpage_o00_s00?ie=UTF8&psc=1 Battery Pack]: $19.19 <br/>
 +
Total: $121.76 <br/>
  
  
 +
 +
== Design and Solutions ==
 +
=== Design Components ===
 +
The goal of our project was to create a vest that would have LEDs that represented data from a sound sensor and an accelerometer.
 +
*A vest: the choice for the vest was very important. The best design for the vest would be one that would have enough pockets and/or compartments that could hold circuits we built. We used a clear pocket on the top part of the vest to put the protoboard in so that the user could see the buttons that controlled the LED modes. We used a the bigger pocket near the hip to store the battery and cords.
 +
*Added features: To ensure the Arduino and circuitry stayed protected, we 3D printed a box to hold the protoboard and cords. We glued the accelerometer to the side of the 3D printed case so that it would read acceleration data in the correct directions. The 3D printed case also served as a level of protection for the protoboard.
 +
 +
===Circuit Diagram===
 +
[[File:ZestyCircuit.png|frameless]]
 +
 +
=== Layout ===
 +
We put a lot of thought into how to layout and wire the vest so that everything worked and it was wearable. As stated before, the LEDs were sensitive.  We had to make sure that the LEDs were securely fastened on the vest but also not hinder the movement of the person who was wearing it.
 +
 +
=== Safety Concerns ===
 +
 +
Our vest is powered by a battery which is stored in the lefthand pocket of the vest. There are some safety concerns associated with this. <br/><br/>
 +
If the battery is exposed to extreme temperatures (hot or cold), there is a risk of it malfunctioning. Additionally, although most of our vest is water resistant (the protoboard is in a water resistant pocket and the LEDs are contained in water resistant silicon), if the battery were to get wet, the functionality of the vest could be affected, as well as the user's safety could be put at risk. We advise users to remain indoors when wearing and operating Zesty Vesty.
 +
 +
=== Next Steps ===
 +
The next step for this project would be to try and incorporate the proposed light matrix from before into the vest. This might require the use of a Raspberry Pi for coding purposes.
 +
The cords we had could have been better organized. One next step is to create a container for the cords so that they are stored neatly in the pocket of the vest. 
 +
Additionally, a next step would be to explore different options to power the Arduino and light strips. Instead of using the battery pack with a bunch of usb cords coming out, we would have another circuit board that routed all the powers. We would connect the battery pack to the circuit board then there would be wires off the circuit sending power to the various components. This would also give us liberty to add more things (more LEDs, potentially a light matrix, etc) to the vest.
 +
 +
== Project Presentation ==
 +
 +
[https://docs.google.com/presentation/d/18uHGkqm_ZjYHLUOvrxEXVk-uZ8IFe2N3kJIWjgKso3o/edit?usp=sharing Presentation Link]
 +
 +
== Diagrams and Schematics ==
 +
 +
Here is our block diagram for the project.
 +
 +
[[File:Zesty.png|frameless]]
 +
 +
Here is a flow chart of our code. This diagram is a representation of the file aVesty.ino. Initially, the LEDs are in an off state, and then button clicks call the other files from aVesty.ino. The other files run while "checkButtons" is true, meaning they run until the button is clicked to a different file.
 +
 +
[[File:Software design model.png|frameless]]
 +
 +
==Results==
 +
 +
=== Demo Poster ===
 +
 +
 +
[[File:Zesty-poster.png|frameless]]
 +
 +
===Video of Working Vest===
 +
 +
[https://www.youtube.com/watch?v=_yCTgUWRKNo Zesty Vesty Demo]
 +
 +
[https://www.youtube.com/watch?v=VmUWrBy9uXM Another Zesty Vesty Demo]
 +
 +
== Links and References ==
 +
=== References ===
 +
 +
*[http://www.knight-of-pi.org/reading-an-analog-potentiometer-with-the-ad-converter-mcp3008-and-spi/ Reading an analog potentiometer with the A/D converter MCP3008 and SPI] , accessed 10/12/2018
 +
*[https://learn.adafruit.com/adafruit-agc-electret-microphone-amplifier-max9814/overview Sound Sensor], accessed 11/2/2018
 +
*[https://learn.adafruit.com/adafruit-rgb-matrix-bonnet-for-raspberry-pi/driving-matrices Driving Matrices],  accessed 11/13/2018
 +
*[https://learn.adafruit.com/matrix-led-sand/overview LED Matrix Sand Toy], accessed 11/10/2018
 +
*[https://learn.sparkfun.com/tutorials/mma8452q-accelerometer-breakout-hookup-guide/all MMA8452Q Accelerometer Breakout Hookup Guide], accessed 11/29/2018
 +
*[https://www.raspberrypi-spy.co.uk/2014/11/enabling-the-i2c-interface-on-the-raspberry-pi/ Enable I2C Interface on the Raspberry Pi 30], accessed 11/10/2018
 +
*[http://johnmcnelly.com/led-trumpet/ LED Trumpet], accessed 11/20/2018
 +
 +
=== GitHub ===
 +
 +
Here is the link to our GitHub repository.
 +
[https://github.com/GAK205/ZestyVesty GitHub]
 +
 +
===3D prints===
 +
 +
[https://drive.google.com/open?id=1wRF09lDJIiuxFVg6RvgITAwlqy3Kuxcb Protoboard Case]
 +
 +
[https://drive.google.com/open?id=16RklrAUwzD4_Cm56ITFEBoeZbIcKuA3L Vest Bracket]
 +
 +
=== Tutorial ===
 +
*[[Accelerometer + Arduino]]
 +
*[https://learn.adafruit.com/adafruit-microphone-amplifier-breakout/measuring-sound-levels Measuring Sound Levels]
 +
 +
=== Weekly Log ===
 +
[[Zesty Vesty Weekly Log|Weekly log]]
  
 
[[Category:Projects]]
 
[[Category:Projects]]
 
[[Category:Fall 2018 Projects]]
 
[[Category:Fall 2018 Projects]]

Latest revision as of 16:49, 17 December 2018

Overview

Light up clothing has always been a crowd favorite. But what if light up clothing could be more exciting than just a piece of clothing with blinking lights on it?

For our project, we provide users with a piece of light up clothing that does far more exciting things than just blink. We are making a vest that is covered in LED light strips. We are incorporating a sound sensor and an accelerometer so that the LEDs on the vest will reflect the users' surroundings. Some of the LEDs will reflect data from the sound sensor and other LEDs will reflect data from the accelerometer. The LEDs connected to the sound sensor will blink to the beat of the music, making our vest a party must-have. The LEDs connected to the accelerometer will change color if the user spins, and the color will be determined based on the direction the user spins.

The vest, called “Zesty Vesty”, both reflects the user’s surrounding, as well as has an interactive portion to it. The goal of this project is to successfully integrate both sensors into the vest, and make an eye-catching piece of wearable technology that is exciting to users. We will be using Arduino (which uses C++) to read in data from the sensors and then display on the LEDs. We plan of having a button on the vest so that the user can turn the vest on and switch between different modes.

Team Members

  • Andre Cook
  • Gillian Laming
  • Kenneth McNelly
  • TA: Chance Bayles
  • Instructor: Jim Feher

Objectives

  • Understand how the Fast Fourier Transform works, and use it to read in data from the sound sensor
  • Learn how to use and program on Arduino
  • Have the Arduino reading in data from both sensors
  • Connect the LED light strips with both the sensors so that they reflect the data
  • Have the LEDs blink to beat of music and change color when the user spins
  • Connect the buttons successfully with the Arduino so we can change modes
  • Assemble all components together so that vest is wearable

Challenges

We anticipate that we will face challenges coordinating all of the different aspects of the project (the two sensors and manipulating the LEDs). We plan on using a Fast Fourier Transform from the sound sensor, and because this is a new concept to us, it will take us some time to learn and understand. We were originally going to use a Raspberry Pi as the main component of our project, but in a last-minute pivot, decided to use Arduino. We will have to learn and understand how to use Arduino in a very short amount of time. Additionally, the vest will need to be worn by the user, so we need to make sure that it is both comfortable and practical. This could be difficult given the lights and features we intend on adding to the vest.

New Skills

Not everyone in the group was familiar with different aspects of the project. This meant we needed to learn:

  • Arduino and C++: These two programs were new to some of the members of the team
  • FFT: Fast Fourier Transform was a concept that was also new to everyone. The concept of FFT revolves around combined signals and how they could be separated into their fundamental frequencies. This concept would work well with the sound sensor. When FFT is applied, not only could we separate notes into their fundamental frequencies, but we could also see which of those notes were most prominent. This allowed us to create a mode that would show the prominence of the fundamental frequencies. For instance, if a song had more bass, the lower LED lights would shine brighter. In order to successfully and effectively run the FFT code for the Arduino, we needed at least a basic level of understanding when it came to how Fourier Transforms works.

Major Pivot

Due to unforeseen issues, we had to drastically change the project’s overall design. Originally, we intended to use an LED matrix on the back of the vest and have this light matrix work with a Raspberry Pi, and three sensors. Unfortunately, this light matrix stopped working and we had to switch over to using Arduino as our main processor and LED light strips to represent the sensor data. This allowed for us to get creative in different ways.

Other Challenges

We had other challenges in addition to our late-in-the-game project shift. These challenges were: · Fitting the lights onto the vest. We 3D printed clips to slide the LEDs through to keep them attached to the vest · Working with a sensitive accelerometer. The accelerometer was very inexpensive, which meant that it was difficult to work with. We were trying to isolate the acceleration in the z direction so that when the user would spin, the LEDs would change color to indicate the direction in which they were spinning. It was difficult to get a solid reading for the acceleration in the z direction, and we noticed that the “base” acceleration (so the acceleration when the user was standing still) kept changing. · Binning the frequencies using the FFT data. Even after getting the FFT to give us readings of frequencies, we needed to figure out how to represent those frequencies on the LEDs, and categorize all of the frequencies into bins.

Gantt Chart

Ganttgak.png

Budget

Splitter Charger Cable: $5.59
Power Plug Adapters: $6.39
Capacitor: $4.99
LED light strips: $26.99
Sound Sensor: $13.76
Accelerometer: $9.95
Vest: $12.90
Arduino: $22.00
Battery Pack: $19.19
Total: $121.76


Design and Solutions

Design Components

The goal of our project was to create a vest that would have LEDs that represented data from a sound sensor and an accelerometer.

  • A vest: the choice for the vest was very important. The best design for the vest would be one that would have enough pockets and/or compartments that could hold circuits we built. We used a clear pocket on the top part of the vest to put the protoboard in so that the user could see the buttons that controlled the LED modes. We used a the bigger pocket near the hip to store the battery and cords.
  • Added features: To ensure the Arduino and circuitry stayed protected, we 3D printed a box to hold the protoboard and cords. We glued the accelerometer to the side of the 3D printed case so that it would read acceleration data in the correct directions. The 3D printed case also served as a level of protection for the protoboard.

Circuit Diagram

ZestyCircuit.png

Layout

We put a lot of thought into how to layout and wire the vest so that everything worked and it was wearable. As stated before, the LEDs were sensitive. We had to make sure that the LEDs were securely fastened on the vest but also not hinder the movement of the person who was wearing it.

Safety Concerns

Our vest is powered by a battery which is stored in the lefthand pocket of the vest. There are some safety concerns associated with this.

If the battery is exposed to extreme temperatures (hot or cold), there is a risk of it malfunctioning. Additionally, although most of our vest is water resistant (the protoboard is in a water resistant pocket and the LEDs are contained in water resistant silicon), if the battery were to get wet, the functionality of the vest could be affected, as well as the user's safety could be put at risk. We advise users to remain indoors when wearing and operating Zesty Vesty.

Next Steps

The next step for this project would be to try and incorporate the proposed light matrix from before into the vest. This might require the use of a Raspberry Pi for coding purposes. The cords we had could have been better organized. One next step is to create a container for the cords so that they are stored neatly in the pocket of the vest. Additionally, a next step would be to explore different options to power the Arduino and light strips. Instead of using the battery pack with a bunch of usb cords coming out, we would have another circuit board that routed all the powers. We would connect the battery pack to the circuit board then there would be wires off the circuit sending power to the various components. This would also give us liberty to add more things (more LEDs, potentially a light matrix, etc) to the vest.

Project Presentation

Presentation Link

Diagrams and Schematics

Here is our block diagram for the project.

Zesty.png

Here is a flow chart of our code. This diagram is a representation of the file aVesty.ino. Initially, the LEDs are in an off state, and then button clicks call the other files from aVesty.ino. The other files run while "checkButtons" is true, meaning they run until the button is clicked to a different file.

Software design model.png

Results

Demo Poster

Zesty-poster.png

Video of Working Vest

Zesty Vesty Demo

Another Zesty Vesty Demo

Links and References

References

GitHub

Here is the link to our GitHub repository. GitHub

3D prints

Protoboard Case

Vest Bracket

Tutorial

Weekly Log

Weekly log