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)))
 
(79 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== Weekly Log ==
 
[[Zesty Vesty Weekly Log|Weekly log]]
 
  
 
== Overview ==  
 
== Overview ==  
  
We plan on making a vest that is covered in lights. The vest will be connected to a users phone, where the user can turn on the vest and alter the settings to that the lights flash and respond to their surroundings. We are incorporating sensors into the vest to that the lights will reflect the user’s surroundings.  
+
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.
  
 
== Team Members ==
 
== Team Members ==
Line 14: Line 14:
  
 
== Objectives ==
 
== Objectives ==
Our primary objective is to create a piece of wearable technology that can successfully connect with a users phone so that they can control the light. We plan on incorporating sensors into the vest so that it can respond to its surroundings.
+
We hope our project will be both exciting and engaging. By incorporating sensors into the vest, it will allow the user to have an unexpected and personalized experience. We think that our demonstration at the end of the semester will be visually appealing and will draw in people.
+
*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 ==
 
== Challenges ==
We anticipate that we will face challenges connecting the vest to a users phone. We are looking into other projects that has a similar idea to try and figure out how to connect it.
+
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.
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. <br/>
 
Other Challenges:
 
*learn how to use raspberry pi
 
*increase understanding of connectivity between multiple devices
 
*learn how to incorporate sensors into devices and analyze data
 
  
== Gantt Chart ==
+
=== 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 ==
  
 +
[[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]]
  
[[File:ganttgak.png|thumb|bottom|Outline of anticipated accomplishment milestones. ]]
+
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.
  
== Budget ==
+
[[File:Software design model.png|frameless]]
'''Vest Budget''' – $12.90 <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 vest link]
 
<br/>
 
  
'''Sensors Budget''' <br/>
+
==Results==
- Microphone/ Sound sensor  – $4.94, [https://www.banggood.com/Sound-Sensor-Detection-Module-LM393-Chip-Electret-Microphone-p-929245.html?rmmds=search link] <br/>
 
- Pulse Sensor – $3.13, [https://www.newfrog.com/product/pulse-sensor-pulse-heart-rate-sensor-for-arduino-open-source-hardware-parts-139874?currency=USD&gclid=CjwKCAjworfdBRA7EiwAKX9HeMYBFWM7XoIswD4qxhciR82GW8Qt75q4olZ2I4l7817U3nfgJf52shoC9eEQAvD_BwE link] <br/>
 
- Temperature Sensor (Kenneth is providing it)
 
<br/>
 
  
'''Communication System budget''' – ~$20 <br/>
+
=== Demo Poster ===
- Bluetooth Low Energy Attachment? – $20, [https://www.adafruit.com/product/1697?gclid=CjwKCAjworfdBRA7EiwAKX9HeGTNBfFVpBv8d2fCl2dSdg3hL9EPjq5AYqccPtjj4L_y0jheV7Wf2xoCr_UQAvD_BwE link]
 
  
-OR!!! Pi 3 comes with wifi attachment
 
<br/>
 
 
'''Lights Budget:''' ~$135 <br/>
 
- 64x32 Flexible RGB LED Matrix Panel - 5mm Pitch $109.95
 
[https://www.adafruit.com/product/3803 link]
 
 
- connections to raspberry pi – $24.95
 
[https://www.adafruit.com/product/2345 link]
 
<br/>
 
 
'''Auxiliary Budget:''' ~$10 (+ shipping) <br/>
 
-5M RGB LED Light strip – $4.99, [https://www.banggood.com/5M-RGB-Non-Waterproof-300-LED-SMD-5050-LED-Strip-Light-DC-12V-p-925678.html?rmmds=search link] <br/>
 
 
-12 v Battery Pack – $2.40, [https://www.banggood.com/12V-8-x-AA-Battery-Clip-Slot-Holder-Stack-Box-Case-6-Inch-Leads-Wire-p-80721.html?rmmds=search link]
 
 
   
 
   
Raspberry Pi: $35 (provided by department)
+
[[File:Zesty-poster.png|frameless]]
<br/>
 
  
'''Total''': $168
+
===Video of Working Vest===
  
== Project Presentation ==
+
[https://www.youtube.com/watch?v=_yCTgUWRKNo Zesty Vesty Demo]
  
[https://docs.google.com/presentation/d/18uHGkqm_ZjYHLUOvrxEXVk-uZ8IFe2N3kJIWjgKso3o/edit?usp=sharing Presentation Link]
+
[https://www.youtube.com/watch?v=VmUWrBy9uXM Another Zesty Vesty Demo]
  
== Similar Pi Projects ==
+
== Links and References ==
These are some similar raspberry pi projects to ours. These will be helpful resources when we begin this part of our project next week.
+
=== References ===
  
*This project is for taking in temperature data and logging it for later viewing. [https://projects.raspberrypi.org/en/projects/temperature-log Link]<br />
+
*[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
  
*Randomizes colors and location of blinking lights. Don't think will be super helpful, but may be a good starting point. [https://projects.raspberrypi.org/en/projects/sense-hat-random-sparkles Link]<br />
+
=== GitHub ===
  
*Make lights dance to music using pi. Seems very helpful. [http://lightshowpi.org/ Link]<br/>
+
Here is the link to our GitHub repository.
 +
[https://github.com/GAK205/ZestyVesty GitHub]
  
*Very similar pi project. Thorough tutorial of all of the necessary steps. [https://www.instructables.com/id/Raspberry-Pi-Home-Automation-Control-lights-comput/ Link] <br/>
+
===3D prints===
  
These projects are similar in that the lights are being controlled by a raspberry pi, but our project will incorporate additional sensors, and will be controllable from a user's phone.  
+
[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