I was asked to make a blog for the NYU IMA Low Res graduate program. (I started with no tangible experience in interaction design.) Math is nature’s poetry, and these are just diary entries.
Much like sound or light, heartbeats speak in sine.
The heart’s cycles of contraction and relaxation are periodic. Blood flowing through the arteries create amplitudes, and frequencies pulse into what we call heartbeats. They speak silently. For some, my heart has raced in infatuation and fallen peaceful with love. For others, it has beat hard in anger and slowed in forgiveness. It speaks without words, yet I’m always aware of its voice.
And so, I wanted to see it.
-
OVERVIEW This project is an exploration in generative art of the flow of sine between two people. Heartbeat data from two indiviudals is driven to the P5.JS Web Editor by Arduino via two Pulse Sensor Ampeds. Each sensor is interacted with separately. Originally, I was hoping to be able to produce one singular, spherical shape that would move across the x- and y-axes via both sine and cosine (thanks for the inspiration, Jesse); however, that proved a tad too difficult with the “complexity” of my desired visual- Wasn’t quite able to get the math right in that iteration. Instead, I opted to create my illustration using two hearts’ sine/cosine graphs, moving in opposite directions.
- ARDUINO TO P5JS
Please see the sketch editor comments for a detailed explanation of the P5 code. The heartbeat data collected from the two sensors fed into the actual creation of the sine and cosine waves. With the help of lerp and Perlin noise, I created a pseudo-3D representation of heartbeat sine language.
As for the Arduino, it was a journey. My first objective was simply to collect data from one sensor, which worked great. Then, when I got around to connecting two, all logic flew out of the window. Nun sat with me for an hour trying to connect both sensors, but the solution turned out to be something as bizarre as using an Arduino Uno instead of the Nano 33 IoT. Then, the issue was that the Arduino example sketch could only read BPM from one sensor, not two. So, I figuratively ran off to Jack, who reminded me that people writing the source code are, well, people. Much fiddling later, I decided to use the raw data instead of BPM, and Jack taught me how to understand the logic behind the threshold numbers + the basics of how the Arduino and P5 sketch are communicating and interpreting the data. Mainly this part:
-
INTERACTION
As for the final interaction, please see below. I tried to take a couple videos, but it appears that I am not the best documentarian of my own work yet.
I had a borderline-massive, curved LED screen to display the actual heartbeat sine visuals onto. Two people would sit down in front of the screen and follow the instructions to place their palm, wrist, or thumb on the sensors, which were velcro-ed onto styrofoam spheres I found and halved. The Arduino and breadboard were enclosed in a wooden box that I made with the help of Liangsheng and Henrique. The box also had a cut-out section to hold wooden prompt cards in. The prompts were made to be moderately thought-provoking. (e.g. “imagine forever” or “
imagine if the two of you were to deeply hurt each other. What would forgiveness feel like?”)
After the individuals sat down, they could randomly select a prompt if they wanted a little something extra. After their heartbeats callibrated, I would then click the screen to run the actual experience. Arriving by Jon Hopkins would play in the background to add a dimension of sound in. On screen, their two heartbeats would create the visuals and pulse.
-
WHAT I WOULD DO DIFFERENTLY
There are a lot of things that come to mind. I wish I could’ve used a more stable sensor. I wish that I knew how to make a wooden half-sphere for the palm placement. I wish I could’ve streamlined the experience, so that it was intuitive enough for people to know where to click to begin the experience. I wish that I could’ve made it 3D, maybe Touchdesigner? But honestly, it’s okay- I feel good about the results. Not bad for 5.5 weeks of P5 and physical computing.
-
FINAL MUSINGS It was particularly interesting when people came alone to my experience. I would use my heartbeat for the second sphere, and it was oddly “intimate,” but not invasive. I could tell my heart was beating much faster than my usual resting heartrate- Probably the excitement or terror of trying something new. And I also knew nobody would know that because they didn’t have a relative to compare it to, apart from their own.
For now, I just want to give my heart some time to breathe. It often aches. I don’t know what to do about it, and that’s life.
If anyone is wondering, Russell Kightley has a beautiful 3D view of basic trigonometry detailed below. There is also a link to an interactive P5 sketch I found helpful in my previous post.
Thank you to Nun, Jack, Ellen, Robi, and Pim for all your help!