- 1 Weekly Log
- 2 Overview
- 3 Team Members
- 4 Objectives
- 5 Challenges
- 6 Gantt Chart
- 7 Budget
- 8 New Skills
- 9 Major Pivot
- 10 Other Challenges
- 11 Design Components
- 12 Layout
- 13 Next Steps
- 14 Project Presentation
- 15 Similar Pi Projects
- 16 References
- 17 Diagrams and Schematics
- 18 GitHub
- 19 Demo Poster
- 20 Link to Tutorial
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.
- Andre Cook
- Gillian Laming
- Kenneth McNelly
- TA: Chance Bayles
- Instructor: Jim Feher
- 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
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.
Splitter Charger Cable: $5.59
Power Plug Adapters: $6.39
LED light strips: $26.99
Sound Sensor: $13.76
Battery Pack: $19.19
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.
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.
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.
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.
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.
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.
Similar Pi Projects
These are some similar raspberry pi projects to ours. These will be helpful resources when we begin this part of our project next week.
- This project is for taking in temperature data and logging it for later viewing. Link
- Randomizes colors and location of blinking lights. Don't think will be super helpful, but may be a good starting point. Link
- Make lights dance to music using pi. Seems very helpful. Link
- Very similar pi project. Thorough tutorial of all of the necessary steps. Link
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.
- Tutorial for potentiometer circuit. We also got our code from this website.
- Website for Sound Sensor Tutorial: http://www.piddlerintheroot.com/sound-sensor/
- Light matrix: https://learn.adafruit.com/adafruit-rgb-matrix-bonnet-for-raspberry-pi/driving-matrices
- Github with code to test light matrix: https://github.com/hzeller/rpi-rgb-led-matrix/tree/master/examples-api-use
- Tutorial for how to use accelerometer with light matrix https://learn.adafruit.com/matrix-led-sand/overview
- Helpful page on connecting iPhone with pi over bluetooth https://medium.com/@superlopuh/raspberry-pi-ios-communication-in-bluetooth-c7599e257f2
- Guide for sensor code https://www.raspberrypi-spy.co.uk/2013/10/analogue-sensors-on-the-raspberry-pi-using-an-mcp3008/
- accelerometer tutorial: https://learn.sparkfun.com/tutorials/mma8452q-accelerometer-breakout-hookup-guide/all
- Accelerometer + matrix tutorial: https://learn.adafruit.com/matrix-led-sand/overview
- Accelerometer resources: I2C https://www.raspberrypi-spy.co.uk/2014/11/enabling-the-i2c-interface-on-the-raspberry-pi/
- Arduino + Accelerometer: https://learn.sparkfun.com/tutorials/mma8452q-accelerometer-breakout-hookup-guide
Diagrams and Schematics
Here is our block diagram as of now for the project
Here is the schematic for our pi + matrix set up.
Here is the link to our GitHub repository.