My original idea is different than the final project my partner and I decided to do. My original idea was called the “zoom stick,” which utilized an accelerometer to calculate the club speed of a golf club. However, my partner and I’s new project, The Pressure Player, used a touch sensor to play music when a weight was placed on it. This invention shines in the gym, where the user wouldn’t need to manually go on to their phone to play music for motivation for their workout. With the Pressure Player, the music would start playing for the user as soon as they picked up a weight and began their workout. We chose this project because my partner and I both go to the gym and understand the feeling of needing to play “THAT” song to continue the workout. To do this, we must go to our phones and search for the song, which ruins the flow of the workout preparation. So we decided to create something that would play “THAT” song without ruining the preparation flow. Most of the glove was constructed out of cardboard, with some parts using an elastic band to allow for adjustability. The initial design of the glove was modeled after some fictional exoskeleton-type constructures, like a iron man. So from the palm of the glove, wires have been used that stretch out to the fingers adding to the overall aesthetic.
While the glove was being constructed, my partner was working on the coding for the project. The biggest thing we had to worry about was making sure the touch sensor activated the music when activated and deactivate when the touch sensor was standing idle. We then made a cardboard house for our breadboard and Arduino. Holes on the side were cut out to allow the cables to be still plugged in but reach out to power sources.
During the user testing session in class, we received a lot of crucial feedback, which we then implemented into our final prototype. The feedback we received included; “the touch sensor had to be squeezed hard to be activated, the glove takes too long to put on, wires were in the way, and the glove was fragile.” We took all of these into account when designing the final project. We proceeded with the original concept of the glove but removed the wires along the fingers and added velcro straps around the forearm, so it fits more sizes and is easier to put on. We then wrapped the wires from the sensor to the breadboard to make them more stable and out of the way since they’re together now and go along towards the back. We improved the housing of the sensor by making it a little thicker, so the sensor was easier to activate, requiring less strength when squeezing the weight. Everything else was kept the same. The code didn’t require further modification, so we focused on constructing the final glove.
Our Code:
/*
Conditionals - If statement
This example demonstrates the use of if() statements.
It reads the state of a potentiometer (an analog input) and turns on an LED
only if the potentiometer goes above a certain threshold level. It prints the
analog value regardless of the level.
The circuit:
- potentiometer
Center pin of the potentiometer goes to analog pin 0.
Side pins of the potentiometer go to +5V and ground.
- LED connected from digital pin 13 to ground through 220 ohm resistor
- Note: On most Arduino boards, there is already an LED on the board connected
to pin 13, so you don't need any extra components for this example.
created 17 Jan 2009
modified 9 Apr 2012
by Tom Igoe
This example code is in the public domain.
https://www.arduino.cc/en/Tutorial/BuiltInExamples/ifStatementConditional
*/
// These constants won't change:
const int pressureSensor = 5;
const int musicPin = 10;
bool playing = false;
#define FORCE_SENSOR_PIN A0 // the FSR and 10K pulldown are connected to A0
#include <Arduino.h>
#include "DYPlayerArduino.h"
#include <SoftwareSerial.h>
SoftwareSerial SoftSerial(10, 11); //RX and TX from Arduino
DY::Player player(&SoftSerial); //should connect them to io0 and io1
void setup() {
Serial.begin(9600);
Serial.println("Pick Up The Weight...");
player.begin();
player.setPlayingDevice(DY::Device::Sd); //SD card, USB storage volume is
player.setVolume(30); // 30 is 100% of Volume; with 15 you get 50% Volume
// player.setCycleMode(DY::PlayMode::Repeat); // Play all and repeat.
// player.play();
// player.next();
}
void loop() {
// read the value of the potentiometer:
int analogReading = analogRead(FORCE_SENSOR_PIN);
Serial.println(analogReading);
// if the analog value is high enough, turn on the LED:
if (analogReading < 1) {
Serial.println((int16_t)player.checkPlayState()); //if you receive -1, it's fail
player.playSpecified(2);
}
else if (analogReading > 1) {
Serial.print("Pick up weight ");
}
}
User Testing Video:
We then decided to use a backpack to house everything since the idea of it was to be used in the gym, so of course, it had to be portable. We used two battery packs, one for the speakers and one for the Arduino, to power the circuit. We put the central cardboard housing unit in the large pocket of the bag and the speakers along the sides.
Overall, I believe the project was a success. It completed the task we were hoping for: playing music once our sensor activated, indicating the start of a workout. I’m happy we could make it portable, so it wasn’t restricted to a specific area. I think this aspect of our project separates us from all the others. In the future, I will sketch an idea before construction, saving time and allowing me to work out design kinks before the actual construction. Below is a fun video of my partner and I testing out our project in the gym!