Week three of the project was full of ups and downs. Progress was made in some elements and roadblocks were hit in others. I know that I chose to do something outside my comfort zone in both coding and physical computing/sensing but that’s what we are here for and it’s been nothing but a great learning experience so far.
Research and Inspiration
My last update post contained a lot of inspiration for my Processing sketch so in this post I’d like to focus on the research I did to find inspiration on how to enclose my device as well as some of the assistance I was able to receive on the Adafruit and Arduino forums.
I did some searching and was happy to find a wide range of enclosure methods for similar microcontroller based projects. I think that the following few links served as the best inspiration at this stage of my project:
Getting started with AVR microcontoller – while this guide provides a lot of additional information I found that the pictures at towards the end of the article provided some ideas for how to put everything into a movable enclosure.
Long Life On/Off Remote – again this guide is for a different type of project but it provided nice documentation of enclosure methods. This also informed a little of my enclosed wiring/resistor process.
Thingiverse – I considered 3D printing the case and Thingiverse provided several usable enclosure options but with the current form factor of my board and sensors I decided to go with something a little more flexible. However, seeing all these options inspired me to work on the next iteration of this project for the future. An iteration that utilizes a smaller and more precise form factor.
Towards the middle of the week I began to struggle with two elements of my circuit and I turned to the Adafruit Feather Forum. There was a bunch of information already available that helped me with cleaning up some of my code. However, I needed help with two specific problems: the possibility of internal pulldown resistors and battery-powering all the components of my projects. In the end I was able to figure out a way to incorporate some external pulldown resistors but I learned a lot of information about the availability of interal resistors (mostly pullup) in several different pin types. The battery issued has perservered and I have decided that I need more expert assistance with this issue. I was able to power the logger by itself with the battery but when I added into the sensors I start to run into problems. I’m continuously motivated and inspired to learn more by the issues that keep popping up; all of which are useful learning experiences for future projects I have in mind.
Process and Progress
All of my classes seemed to assigned a decent amount of homework at the end of last week so I knew I would have to manage my time properly to be able to have the time I needed to focus on this stage of the project. I spent most of Sunday completing homework for other classes so that I had all day Monday to focus on creating the next iteration of my Processing sketch and adding in some additional Arduino code.
The first half of Monday was spent solely in Processing working with a sample CSV created to mimic what the final datasets will look like. This allowed me to successfully bring in data from the CSV and load it into a two-dimensional array. Once the data was “pulled” into Processing I was able to access all the datapoints for each capture and apply those to a sine wave class that was created. The sine wave class has enough attributes to match the datapoints so that almost every element of the waves are controlled by the relavant data. Using the P3D renderer for the Processing sketch allows this data to take on a dimensional aesthetic that can be rotated around in real time to create a structure that resembles a 3D strand of DNA which I believe serves as a wonderful metaphor for the comparison between individuals. The number of waves is something that will have to be fine tuned to make sure the battery will supply enough power to the microcontroller. The visual aesthetic of the waves (color, amplitude, frequency, etc…) will have to be fine tuned once the real data is available. I’m currently playing with the Color Mode and relevant color scheme so that the visualization is appealing (because right now red waves on a green background is just not doing it).
Once I felt comfortable with my Processing sketch I turned my attention to the insoles and creating a form factor that could stand up to some rigourous activity. The first step was to make sure the insole was not creating a feedback on the sensor. To accomplish this test I taped the sensors to the ground and put the insole over it while I was running the microcontroller with the Serial Monitor open. Everything went smoothly and the sensors were still providing a great range of values. After the test was done it was time to attach the sensors to the insoles, which needed to be modified to provide space for the soldered joints and wiring so that it won’t be cumbersome when they are put into the shoes of the individuals participating in these project. The bottom half of the insole came off rather nicely and formed a nice channel to store all the protruding components. To provide an additional layer of protection from the elements a layer of plastic was added to cover all the sensors before everything was taped together. At this point it was time to test the insole in a shoe; the test went well but the range of values seemed to shrink a little just from the pressure of a foot inside a shoe. I plan to map this range in the Processing sketch so that “steps” are still significant visually.
Now that the Processing sketch is coming along and the insoles are complete I needed to figure out a way to enclose the microcontroller and IMU sensor in a case that could protect it from the elements will still allowing space for the wiring and a battery. This process was fueled by a lot of the inspiration about and I spent a day or so looking for the perfect case. Synchronicity seemed to be on my side as I found two perfect containers just laying around in my house. With very slight modifications it has become the perfect case for this iteration of the project. Drilling a hole on the side allows the four wires from the sensors to be plugged into the circuit. I was concerned about the pulldown resistors necessary to keep the values correct but luckily I had spent some time with one of my classmates and we figured out a solution. I had been using a breadboard throughout all my testing and I forgot about the smaller versions. Again, I was lucky to have two of them in my house and they fit into the case perfectly with the controller, IMU sensor, and battery. All that is left with respect to this part of the project is to get the sensor unit to run on battery power.
Next Steps:
- Remedy battery-power issue
- Secure components in container/case with velcro/double-sided tape and some cushioning material
- Gather field data
- Add PDF frame capture capability and fine tune aesthetic elements of Processing visualization
- Combine data from each insole for several individuals
- Run data through Processing visualization sketch
- Save 4 frame captures for printing
- Print (and possible frame) the 4 prints
- Present
Reflection
I’ve come to a point in the project where I’ve had to choose alternative methods for putting together the wearable sensor device due to some inexperience with the medium. I’m happy with the form factor I’ve achieved but I know there are better options and I look forward to implementing more expert level techniques in the future.
This week has brought some stress but I understand that it is a necessary part of the learning process and I am accepting it as a beneficial pressure instead of perceiving it as something negative. It just means I’m outside my comfort zone and that is exactly where I want to be for the next three years.
The Processing sketch has turned into something beautiful and I feel that it is necessary to add the live visualization to my list of deliverables. There is something very interesting about being able to observe the dynamic nature of the sine waves while also being able to interact with them with the mouse. It’s almost as if you can get inside the “DNA” of each dataset.