Skip to main content

Posts about physical computing

Great Heart Physical Computing Project

Team

The Great Heart project is the result of the hard work and effort of Camilla Padgitt-Coles and James Schmitz.

Project Summary

"Great Heart" is a collaborative project created for Tom Igoe’s Introduction to Physical Computing class by Jim Schmitz and Camilla Padgitt-Coles. The project uses a pulse sensor to detect the user's heartbeat and translate it into sound. The user can hear their heart rate sonified and follow breathing visualizations which are designed to guide their breathing to help users achieve inner peace, release anxiety, and slow their heart rate down. The user puts on a wristband with the pulse sensor attached and sits as long as they choose with the sounds and visuals.

Read more…

Final User Testing

Our final project continues to progress towards our final presentation next week. Our project is in good shape and we were even able to do some user testing yesterday with some people in the lounge. I'm looking forward to tomorrow's user testing and additional feedback.

Progress

We made progress on several fronts. First, I collected much more raw pulse data and studied the data in Python. I was able to identify the shortcomings in the provided pulse sensor code and make some improvements. This is documented in my previous post. Our project uses this modified version that has noticeable improvements over the original version. It still isn't perfect but for people for whom the sensor gets a good reading, it works very well. This modified version has been shared with two other groups who are also using the pulse sensor.

Read more…

Modified Pulse Sensing Algorithm

Our Physical Computing final project depends on a Pulse Sensor to detect a user's heartbeat. The people at World Famous Electronics created an Arduino library for their customers to use with their sensor. The library adds a lot of value because it provides users with a well researched algorithm for using the sensor to properly detect a heartbeat. Pulse Sensor users don't have to re-invent the wheel and code their own algorithms. Writing your own algorithm to do this is difficult, and the one provided by the company is better than the one that I came up with for our midterm.

Still, the provided algorithm isn't perfect. For some people it seems to miss some heartbeats and add extra heartbeats. A fellow ITP student, Ellen, showed me that it would have odd spikes in the beats-per-minute (BPM) value. It wasn't clear why this was happening. Since I previously had been analyzing the sensor's data in Python, I came up with a plan to figure out why the Arduino code was doing this and to figure out if there was anything I could do about it. After studying the data and making some plots, I was able to make some improvements the algorithm. It still isn't perfect but my changes address many of the weaknesses of the algorithm.

The original Pulse Sensor Arduino code is available online on GitHub. I am sharing this code with my fellow students who are also using the same sensor. After our projects are complete I will submit my modified code to GitHub as a pull request to share with the rest of the community.

Read more…

Playtesting Results

Last week Camilla and I did Playtesting with our fellow students. In general the results were positive, with some testers expressing an interest in using the final project. Some of our ideas about how the interaction would work were not as well received as I expected.

Results Summary

One tester told us he had previously discussed our project idea with his wife, who works as a therapist. She thought it would be helpful to have some way to help patients practice breathing exercises before the session begins. I find it encouraging that somebody found our project to be sufficiently intriguing to talk about it with someone else. I know she'll be at the Winter Show and I'm looking forward to showing her the final result.

Read more…

Playtesting

Tomorrow we will begin Playtesting for our final project. I'm feeling good about the direction of our project and am looking forward to answering our user interaction questions.

New Design

We made some changes to our design. Most notably, we are going to drop MIDI sounds in favor of sampled sounds in mp3 or wav format. This simplifies our design and also removes the requirement that future users of this device will need to buy relatively expensive MIDI software to make pretty sounds. Additionally, we discovered that there might be some shortcomings in a Mac's MIDI subsystem that may be behind some of the technical challenges we faced during the midterm.

We are going to continue referring to our device as MIDI Meditation until we come up with a better name. The name of the project is probably the least important thing for us to think about right now.

Read more…

Final Brainstorming

Camilla and I decided that for our final project we will continue working on our MIDI Meditation device. We did well working together and we have a good project idea. The feedback from the midterm presentation is that if we improve the interaction and user experience we will have a great final project and an intriguing submission for the final show. Rather than try to build some kind of crazy flying robot, I believe that working on the interaction and user experience design will be a good learning experience for me.

Read more…

MIDI Meditation

Camilla and I built a MIDI Meditation machine for our midterm project. The device is equipped with a heartbeat sensor to detect when the user's heart beats. It plays a single MIDI note in sync with the heartbeat. The main idea is to help the user become more aware of their heartbeat while meditating and possibly get needed feedback for lowering their heart-rate through meditation.

The interaction is intriguing and stimulated the curiosity of our classmates. Several people gave it a try and enjoyed the experience. I'm not a meditation practitioner but I did give it a try. My heart-rate stayed constant throughout while I became more aware of my heart beating. Hearing the same note play in sync with my heart was surreal.

A photo of the device, taken by Camilla, is below:

/images/itp/pcomp/week7/midi_meditation.jpg

Read more…

Heartbeat Detection Algorithm

Purpose of detecting heartbeat data

Our Midi Meditation project is a physical computing device that will repeatedly play a single note in sync with the user's heartbeat. Fundamental to this is the ability to reliably detect when a user's heart is beating.

We want our device to work effectively for most or all people. This means it should play one note in sync with the user's pulse without extra notes between beats.

We had a pulse sensor suitable for an Arduino to use for this project. One approach for prototyping this is to code a heartbeat detection algorithm on an Arduino after viewing the sensor readings on the Serial monitor for a couple of people. This approach could work but would require a lot of parameter tweaking to get it "just right" with repeated user testing between parameter adjustments.

Read more…