Roladex Clock

Posted in 2. Buttonless Clock on December 17, 2009 by zingzhang

So… I know this is months late… but I was looking through my posts to make sure I hit each assignment, turns out, I never did this one. Mark, if you accept this 3+ months late… you’re awesome. Either way, thought it wouldn’t hurt to post it:

My idea for this is pretty simple. Remember the roladex?

well… imagine two roladex type objects.  One would hold the numbers 1-12 or 1-24 for military time, and the other would hold numbers 00-59 for the minutes.  The two would be hung side by side and to change the time, all you would have to do is rotate the corresponding knob through to the appropriate spot.

This goes without saying, but during normal operation, the cards would flip through automatically.

A Sound Ceiling

Posted in Uncategorized on December 17, 2009 by Jordan Parsons

A Sound Ceiling

A Sound Ceiling Document

MTI Final :A Sound Ceiling from Jordan Parsons on Vimeo.

Traffic Intersection Simulation

Posted in 8. Finite State Machines on December 17, 2009 by Andrew Ngan

For my Finite State Machine, I made a traffic intersection simulation. Basically it manages traffic flow at the point of intersection. I used green LED as a traffic light to signal “GO” for cars, and pressure sensor to detect traffic flow at the point of intersection.
State 1: Sensor detects cars on a lane
State 2: Other sensor check cars on the crossing lane
State 3: Gives signal
State 4: Back to State 1

*Both sensors check cars simultaneously, lane with green light has priority. Light off represents red light; blinking light represents yellow; solid green represents green. 1 second is allowed before yellow light on the crossing lane to let car pass intersection before light changes entirely.

Arduino Sketch: traffic_sim

Electric Staircase

Posted in 11. Project Final Reports on December 17, 2009 by lukekambic

I wanted to build a wall that would eject stairs as a person walked up it and retract them as they pass. I made a prototype with 5 steps and nothing but the essentials- a simple ejection mechanism and a couple of narrow-angle proximity sensors for each step. More and better sensors could make it more reliable. A weight sensor or a row of IR sensors pointing up out of each step would give better information about the user’s position. 

While doing initial tests with individual steps, I tried using the original code from the test bed. The motor stopped responding. I assumed a MOSFET had blown and moved to another step, and the same thing happened except the motor was stuck on instead of off. After many hours of messing with the circuitry and the code, I figured out the problem: I toasted my Arduino. The gate capacitances of the 50 amp logic level MOSFETs I used are huge and I didn’t use gate resistors (I thought the internal impedance of the Arduino outputs would be enough). Apparently the resulting current spikes killed the outputs (the nature of the test bed code made the spikes especially bad). 

Here’s the best I can do with the surviving pins while I wait for a new Arduino and some other replacement parts:

The middle step retracts slower because it uses a different motor. I’m going to replace it with a faster one. Also, the vibration when the stops hit the wall is sometimes enough to disengage a sprocket. You can see it happen in the side view in the video. The impact shoves the whole thing forward. It needs better shock absorbers.

After I get all the steps working I’m going to try to find other interesting things to do with this contraption.

The provisional code:  Arduino Sketch: <a title=”Arduino Sketch: kambic_luke_stairs” href=”http://code.arc.cmu.edu/~cheng/uploads/kambic_luke_stairs.pde&#8221; target=”_blank”>kambic_luke_stairs</a>

Here’s how I built it:  kambic_luke_final_stairs

Virtual Garden

Posted in 9. Project Proposals on December 17, 2009 by Maria Freitas

Virtual Garden is an animated visualization for indoor use. The intent of Virtual Garden is to provide an interactive home environment visualization that indicates the home divisions usage and lightning conditions. The visualization consists of a static grass background and sunflowers moving on the foreground. An arduino and two sensors are used to provide the interactivity of the visualization. A new flower is added each time the infrared sensor detects some movement. All flowers are removed from the visualization if the photo sensor detects that the room is too dark.

The intent behind the Virtual Garden is to provide a home ambient display that provides a non obtrusive awareness of two variables: lightning conditions and level of human activity in one or more areas of a home. Virtual Garden remains in the background, out of the focus of the user until noticed. A simple popping up or disappearing of the flowers expresses a change in the home environment. The sense making of the visualization is intended to occur throughout the user(s) interaction and experience with the system. In the process the user is able to know which divisions are more or less used, which of them have more people moving, entering and leaving and if the more used home divisions are the most lighted.

System Demo

Components

The used components were arduino, board, 220 ohm resistor, infrared sensor, photo resistor and wires.

Arduino Sketch

System Model

Two main parts compose the software behind the system: the Arduino program and the Java program. The Arduino program is responsible for receiving and interpreting the values read from the sensors and communicating the results to the Java program, so it can perform changes in the visualization. The infrared sensor detects 1 or 0, respectively if its detecting movement or not. If it detects movement the arduino warns the Java program that a flower needs to be added to the visualization. The photo resistor detects a range of values, minimum to maximum, indicating respectively, the most dark and the most lighted the environment can get. If the environment gets to dark the arduino sends a message to the Java program to clear the visualization.

Technical Report

mtiPaper

Mechanical Yahtzee Dice Thing made on a plane

Posted in 7. A Mechanical Automaton on December 17, 2009 by Rohit

Finally got this done on a southwest flight from chicago to vegas. I was playing yahtzee and kept losing the dice so I decided to go ahead and make a contraption that allowed me to use the real dice but not have them go all over the place in the plane. The machine is made entirely out of southwest safety cards, drink stirrers, coffee cups, a plastic cup, and tape(only part i happened to have in my bag). I couldn’t make a good video on the plane so the video is in my hotel in vegas!

a bunch of pics of how this was made …

Final Project Report (Rhino Glove)

Posted in 11. Project Final Reports with tags , , , , , , on December 16, 2009 by mehrdadgh

The goal of this project is developing a wireless glove and a software framework to manipulate a parametric model in Rhino 3D. The glove reads user’s hand movement and gestures using mounted sensors on it. Then a LilyPad Arduino gathers sensors data as input, processes them, and sends them using a XBee module wirelessly to the computer. The software framework on computer gets sent data using another XBee module, connected to the computer. Finally, the framework translate data to information for controlling the parametric model in Rhino 3D.

Link to documentation: https://mtifall09.files.wordpress.com/2009/12/rhinoglove.pdf

Link to Arduino sketch: http://code.arc.cmu.edu/~cheng/uploads/RhinoGloveSketch.pde

Link to Grasshopper definition: http://rapidshare.com/files/321715436/Rhino_Glove.ghx

Link to video: http://www.youtube.com/watch?v=6A5I48RLtx4

Build the Hardest Part

Posted in 10. Build the Hardest Part on December 16, 2009 by mehrdadgh

It may be too late too figure out the hardest part, yet, it is a good time to explain the hardest part of the Rhino Glove. Because, after a long process of loving and hating programming Arduino sketch for this project, I understand writing a proper code to handle 6 inputs as data and retrieve information out of them is a frustrating part of such a project. In my project, three bend sensors, with three different range of output has been used to help program figures out what accelerometer outputs mean. For example, bending index finger, as a result bending sensor related to index finger, should be interpreted as a trigger for extruding object. In addition, bending middle finger sensor should trigger the rotation control. However, when user moves one finger other fingers move as well, and bend sensors send data to Arduino, writing proper code to find user desired action out of three different bend sensor outputs is a very hard job to be done. Same, when user moves his hand in an arbitrary direction, Arduino can read three different values of acceleration, each for one axis, figuring out the exact movement of hand using these three stream of data is a difficult task. In fact, I found it hardest part to build. Unfortunately, I faced this problem in last phase of my project, which was demonstration. I have not yet found out a way to overcome this problem. In future, I will focus on solving this problem more dedicated.

soft drink · for two

Posted in 10. Build the Hardest Part, 11. Project Final Reports, 9. Project Proposals on December 15, 2009 by ellenwu

For long distant couples who suffer imbalanced conversation due to separation, soft drink · for two is a conversation display that encourages human-human interaction, unlike previous sound visualizers, which focus on individual pattern and human-computer interaction. Soft drink · for two engages couples to build a rich conversation together.

download detailed documentation: Soft drink for two_final report

HexaCrawler – Final Report

Posted in 11. Project Final Reports on December 15, 2009 by zingzhang

Abstract:

The HexaCrawler Hexabot is a six legged robot that is controlled via a Wii NunChuck.  The purpose of my project was to experiment and have fun with robotics.  As someone who has never done anything related to robotics, circuitry or machines (past what this class has taught me), I really wanted to find a fun way to learn first hand how these types of things work.  With that in mind, the purpose of this project is so that others that are in a similar situation as myself can go through the same educational experience and come out with a fun toy in the end.  HexaCrawler is easily reprogrammable and comes with basic, easy to understand functions so that users may customize and add to the robot.

Final Report: HexaCrawler – Final Report

Demonstration:

Arduino Sketch:
Hexabot
Wii Nunchuck Documentation

Laser Cut Template:
Hexabot Template

Schematic: