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.
Our first group project is to create a short stop motion animation using Dragonframe. We created a short story about an apple tree.
This video is hilarious and cracks me up every time I watch it. This was a lot of fun to make.
Animation, taught by Gabe Barcia-Colombo.
Class blog posts:
- Monday, October 30, 2017 10:52 PM Stop Motion
- Tuesday, November 7, 2017 12:04 PM After Effects
- Tuesday, November 14, 2017 11:23 PM More After Effects and Understanding Comics
- Monday, November 27, 2017 11:34 PM The Halls of ITP
- Tuesday, December 12, 2017 11:14 PM Unity Experiment
- Sunday, December 17, 2017 8:23 AM Unity Maze Game
I am interested in using 3D printing to model and visualize mathematics. To explore this, I will analyze and study a tesseract. A tesseract, or hypercube, is a 4 dimensional cube. It is analogous to a cube in our 3D world. Tesseracts are challenging for 3D beings to visualize and understand. They are theoretical structures that can be understood mathematically. Tesseracts can interact with a 3D world in a way that is similar to a cube interacting with a 2D world. A 2D being cannot understand, visualize, or fully experience a cube, but as a cube rotates around, they can gain a better understanding of what the structure is like. Similarly, a rotating tesseract can help us understand what they are like.
Using math and 3D printing, I can create multiple versions of a rotating tesseract. These 3D printed tesseracts can be assembled in a stop motion animation to show what the tesseract looks like as it rotates around 4D space.
This project was inspired in part by the book Visualizing Mathematics with 3D Printing.
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:
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.
Consider a 3D printed cube. This cube will cast a different shadow onto a piece of paper when the light source moves around.
Beings living in a 2D world will experience the cube differently depending on how the shadow is cast onto their world.
Similarly, a 4D cube, or Tesseract, can also cast a shadow onto our 3D world. It is challenging to think about this because we do not directly experience the world in 4 dimensions. Nevertheless, I was able to model a tesseract using Python and Rhino. Specifically, I modeled a 4D tesseract and its perspective projection onto 3D space. This model will change as the tesseract rotates in 4D space. The projections were modeled in Rhino using the RhinoCommon SDK.
We completed our video teaching people how to make a laser cut box. I am quite pleased with the result.
I enjoyed our Video and Sound class a lot. I definitely got a lot more out of the experience than I thought I would. Most importantly, it has given me the confidence to actually use the video and sound equipment in the ER. Previously I was intimidated by the idea of using the cameras and afraid of breaking something. Now I see the amazing things that can be created with proper equipment and I will take the initiative to use it.
I also want to thank my fellow students, Caleb Ferguson and Yeonhee Lee. They are both talented and creative. We worked well together and I am happy to have been in a group with them. Their enthusiasm for this project means a lot.
This week we began learning about Serial communication. I knew what Serial communication was but never did the programming for it on a micro-controller or at a low level like this. This relates to other things I've done with USB peripherals I am happy to learn more about how it works. In particular, the ability to send and receive Serial messages with Python opens up a whole new world of project ideas for me.
I have some questions about Serial communication. First, what is the Serial channel doing when it is not sending a message? The voltage on the wire will be interpreted as either high or low. How does it differentiate between the absence of communication and a series of null bytes?
The second question has to do with communication errors. How important is it for the code to be robust to communication errors? How common are they? What are the programming best practices to minimize the impact of errors?
Our final Visual Language assignment is to design business or personal cards. It happens I already had personal cards but I wanted to update my design to incorporate what I have learned in this class.
The main goal of my cards is to provide some interaction and enjoyment to the people I give them to. Usually cards are boring and are tossed into a drawer somewhere shortly after they are received. Often they are given out to communicate status or corporate identity. I want my cards to be different. I want to communicate my ability to be creative and engage people in a unique way. And I do that by designing connect the dots puzzles for the backside of my cards.