Category Archives: Assignments

Daniel Midterm – Arduino Phantascope

Midterm Project -Arduino Phantascope

Using an Arduino to control a motored disc and a LED light at the same time the project makes an animation once it is powered, and in case the motor and the light are not in sync there is a potentiometer in the back that adjusts the strobe light. Check out the video to see it in action.

MARKER’S FAIR

I found three projects are especially interesting to me in the 2013 New York Maker’s Fair Visit.
1. Dodecado is a modular light project that lit up pentagon shaped cubes that attach to each other magnetically. The team behind this project, made of six professors, is currently on Kickstarter to raise funding. The light modules are around baseball size and easy to fit in adults’ hands. When matched at the right angle, the lights lit up. You can create fun shapes with these modular lights.
DSC04528-650x433

2. Below is a interactive sound visualization project. This maker created a music instrument out of transparent acrylic as the stand and metal as keys. When a person touches the metal top of the key, the instrument detects the conductive object, in this case is the person and triggers sound. At the same time, the graphics projected on the screen changes base on the different keys.
DSC04529-1024x682

3. This is also an interactive light piece, that is fun and immersive to play with. The project is conducted with two life size led screens. When someone press his hand on the screen, the color changed on the areas where the hand is pressed.
DSC04530-1024x682

See this video that documents my experience at the Maker’s fair.

MARIO ALARM CLOCK

This is a simple alarm clock when the day light is strong enough to trigger the Arduino to play Mario theme song.

Below is my code:
#include “pitches.h”
int speaker = 11;
int sensor = A0;
int sensorValue = 0;

int melody[] = {
NOTE_E7, NOTE_E7,0,NOTE_E7,0, NOTE_C7, NOTE_E7,0,NOTE_G7,0,0,0,NOTE_G6,0,0,0,
NOTE_C7, 0, 0, NOTE_G6, 0, 0, NOTE_E6, 0, 0, NOTE_A6, 0, NOTE_B6, 0, NOTE_AS6, NOTE_A6, 0,
NOTE_G6, NOTE_E7, NOTE_G7, NOTE_A7, 0, NOTE_F7, NOTE_G7, 0, NOTE_E7, 0,NOTE_C7, NOTE_D7, NOTE_B6, 0, 0,
NOTE_C7, 0, 0, NOTE_G6, 0, 0, NOTE_E6, 0, 0, NOTE_A6, 0, NOTE_B6, 0, NOTE_AS6, NOTE_A6, 0,
NOTE_G6, NOTE_E7, NOTE_G7, NOTE_A7, 0, NOTE_F7, NOTE_G7, 0, NOTE_E7, 0,NOTE_C7, NOTE_D7, NOTE_B6, 0, 0

};
int noteDurations[] = {
12, 12, 12, 12, 12, 12, 12, 12,12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12,12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
9, 9, 9,12, 12, 12, 12,12, 12, 12, 12,12, 12, 12, 12,
12, 12, 12, 12,12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
9, 9, 9,12, 12, 12, 12,12, 12, 12, 12,12, 12, 12, 12,
};

//notes in the melody:
void setup() {
Serial.begin(9600);
pinMode(sensor, INPUT);
pinMode(speaker, OUTPUT);
}

void loop() {
sensorValue = analogRead(sensor);
Serial.println(sensorValue);

// sensorValue = map(sensorValue, 1, 15, 100, 2000);
// tone(speaker, sensorValue);
// Serial.println(speaker);
Serial.println(sensorValue);

if (sensorValue > 1000) {

for (int thisNote = 0; thisNote < 78; thisNote++) {

// to calculate the note duration, take one second
// divided by the note type.
//e.g. quarter note = 1000 / 4, eighth note = 1000/8, etc.
int noteDuration = 1000/noteDurations[thisNote];
tone(8, melody[thisNote],noteDuration);

// to distinguish the notes, set a minimum time between them.
// the note’s duration + 30% seems to work well:
int pauseBetweenNotes = noteDuration * 1.30;
delay(pauseBetweenNotes);
}
}

delay(1000/4);
noTone(speaker);

}