Assignment 1: Make your own flashlight

The assignment from Class 1 for Introduction to Fabrication, we were asked to create a simple flashlight.  Our teacher, Ben Light's, only requirements for the flashlight were:

  • It needs to be portable
  • It needs to create light

I immediately went to the junk shelf after class to see if I could get any inspiration and I found this small tin:

When I found this, I immediately became nostalgic and thought it might be fun to make this into a flashlight.

While searching on the internet, I found this great tutorial--- Mini MOD Monday: DIY LED Altoids Flashlight -- and decided I would use this video to guide me through the creation of the console tin flashlight.

Initial sketch of proposed flashlight

Initial sketch of proposed flashlight

Here are the holes after drilling

Here are the holes after drilling

Setting up the tin to drill the holes for the button and LED for the flashlight

Setting up the tin to drill the holes for the button and LED for the flashlight

The drilled holes from the bottom on the tin

The drilled holes from the bottom on the tin

I had to cover the inside of the tin in electrical tape to make sure the metal doesn't cause a short circuit

I had to cover the inside of the tin in electrical tape to make sure the metal doesn't cause a short circuit

Testing out the circuit after soldering

Testing out the circuit after soldering

It works!

It works!

IMG_2588-e1477889825935.jpg

What the internal compartment looks like with wiring

The trickiest part of creating this flashlight was to drill the two holes.  I had to drill through two layers of tin, both at different angles.  

The other difficult part was knowing exactly the correct size to drill the holes for the components.  I started off drilling the holes with a smaller bit and worked my way up to the correct hole size. I ended up using 3 different size bits for this.

FullSizeRender-2-1-e1477892265557.jpg

Here are all the parts and tools I used in this project

Here is the end result

Here is the end result

Class 1: Stop Motion Animation

We were tasked to create a stop motion animation video in 30 seconds or less.  I was paired up with Jeff Park and Pan Pan and we started hitting the ground running with some awesome ideas. Each of us came with three story concepts.  We ended up deciding to create the story called "Book Tales". We decided that we wanted to do the shoot in 12 frames per second, which worked out well for the overall feel of the story.

We first created a brief storyboard so that we knew what shots we wanted to capture.

animation_storyboard

animation_storyboard

We wanted to be able to work in the library and shoot it without being asked to leave, so we had to make sure we had everything planned out ahead of time.

Shooting in a library was actually easier than expected. We were in a corner that nobody came to so we had plenty of time to get the shots we needed.

In class one, we reviewed the Principles of Animation:

Squash and stretch

We were lucky because we decided to have our story about a book, it's movements, gestures and fall were pretty straight forward to capture.

Anticipation

I think that we captured this in the beginning when the book is waiting to be selected.  It's difficult to work anticipation into a 30 second story, but I feel like we were able to create a short amount of anticipation.

Staging

At first we were going to add many eyes to many books on the shelf.  We decided not to do this because to would affect the staging of the story. The scene would be too cluttered and it would be hard to concentrate on what's going on in the scene.

Straight ahead or Pose to Pose

Because of the rigidly of the book, we decided to take the pose to pose appearance in the story.

Slow ins and slow outs

This was a concept that we didn't really consider in the creation of this story. Maybe if we shot it in 24fps then maybe we would have considered this more

Secondary action

The secondary action in this short were the people moving in the beginning of the scene.

Appeal

I think because this is a common story of not feel 'good enough' can hit home for many. So I feel that the appeal of the story is something that many people can relate to.

Here is the end result:

Data Visualization

Using the tools we have already learned, we were asked to create a data visualization from sources data either from previously collected data or from an API. A topic that I'm particularly interested is climate change. With that in mind, I wanted to incorporate a visual in my project that depicted the rise of CO2 in the atmosphere.

I initially started working with tabular dataset, and quickly decided that it try to move to data that would be easier to work with.  I found a resource that sources JSON data and everything came together nicely after that ;).

Here is the very simple sketch that I create for this concept.

 

PComp Midterm Assignment - Beat Box

Introduction

I paired up with Alejandro Matamala to work on the midterm assignment for Physical Computing. We both decided that we were interested in creating a music machine. Below is the process of how we ultimately created the 'Beat Box'

Here is a detailed description of the proposal we created for pre-work to prepare for this assignment.

music2
music2

This image is the first proposal that Alejandro created of what the final product might look like.

pcomp-colors-1.jpg

Below was the test sheet that we printed on transparency film to test the different colors and see where they overlap in regards to how much light they allow to shine through. Each color diffuses the light in different varying degrees. 

This is a video of our first prototype with rotating colored strip.  Initially, we had two cups stacked on top of each other, with the inner cup mounted on a continuous servo motor. We cut the inner cup so that we would only use the bottom 1/3 of the cup as a platform to rotate and we mounted the transparency film strip with alternating colors on that platform. We then cut a hole in the outer cup to try and project the colors onto the box (as seen in the video above).  As a result the color wasn't strong enough for the light sensor to read the colors so we had to rethink our design.

Below is our second approach. We decided to cut out the color on the transparency film and past the colored strips on a transparent disk. The colors that we found to be the most different in their ranges from the test sheet for their specific defusion numbers were:

  1. Black
  2. Red
  3. Pink

This video shows us testing the disc by sending the analog output to the Arduino and creating tones via a piezo. As you can see the light sensor is looped over the disc through an arm made out of a straw for this prototype.

We decided that we preferred the sounds to come out of P5,js because we could more easily change the sounds from drums to base by loading different samples into the p5.sound library.  We decided that we like this better than the glitchy piezo tones. Here is a video of the visuals created for the p5.js synthesizer:

The final result

final_photo
final_photo
drums-and-bass_pcomp_midterm
drums-and-bass_pcomp_midterm

These are the final beat discs that we made for this project. The white portions of the disk were printed as clear. The two that only have two colors are used for a drum beat, where black is mapped to a snare sound and the red is mapped to a clap sound.**

This video below is simply to demonstrate the visual of the box. Notes: none of the sounds in the clip are generated from the the Beat Box.

Here is the Beat Box in action: Here you can observe the interaction with the p5.js synthesizer that we created to play along with the Beat Box. *

Here is the Arduino code:

#include <Servo.h> Servo myservo; 
// create servo object to control a servo int potpin = 0; 
// analog pin used to connect the potentiometer int val; 
// variable to read the value from the analog pin 

void setup() { 
    myservo.attach(9); 
    // attaches the servo on pin 9 to the servo object
    pinMode(3,OUTPUT);
    Serial.begin(9600);
} 

void loop() { 
    // delay(50);
    int sensorValue = analogRead(A0);
    int mappedSensor = map(sensorValue, 0, 1023, 20,225);
    if (mappedSensor > 193 && mappedSensor < 204) { 
    // tone(3, 523, 20);
    } 
    //Play Red
    else if (mappedSensor > 155 && mappedSensor < 164 ) { 
    // tone(3, 494, 20);
    }
    //Play Red
    Serial.println(mappedSensor);
    // waits for the servo to get there
}

And here is the p5.js code for this assignment.

Credits:

*Music notes were sources from this interactive website: https://sampulator.com/

**All the instrumental sound clips were sourced from http://sampleswap.org/.

Thank you to Simon for helping out with the overlapping tone code issue