Monday, December 10, 2012

Final Project - Finito

Chopstick Chomp

Students
Lisa Harriott, Computer Science

Description
Chopstick chomp is a game where the player uses chopsticks to guide virtual sushis to a Buddha, which then eats the sushi.   Chopstick Chomp is designed to help persons get used to using chopsticks by adding a game that requires them to be used.

Photos


The Chopstick Controllers




A screenshot of the game.

Technical Details

Input
The input to the game from the chopsticks is the values from an accelerometer attached to the chopsticks.   These are the values that the virtual chopsticks move by.   There is also two metal pieces on the end of the chopsticks that send a signal when they are connected.   This lets the game know if the chopsticks are being squeezed together.

Output
One output of the game is the game displayed on the screen.   The player is able to see the chopsticks, grab the sushi, and guide the sushis to be eaten.   There is also a vibration in the real life chopsticks and a chomping sound from the buddha when a sushi is successfully eaten.

Construction
The components of the Chopstick Chomp comprise of an Arduino microcontroller, two chopsticks, a chopstick helper, two metal pieces, a cellphone vibrator, an accelerometer, a computer to run the program, a breadboard, and wire.   The chopstick helper holds both the accelerometer and the vibrator in addition to helping the user handle the chopsticks. Originally, the plan was to use a pressure sensor to detect whether the chopsticks were squeezed together and the motor was from a PS2 controller, so it was bulky. The original prototype with 3D printed chopstick helpers:



The final prototype looked much neater:










Software
The code for this system is written in the Processing 2.0 programming environment and the Arduino 1.0.2 programming environment.   The arduino receives the input from the accelerometer and passes it on to the processing program.   Also, the arduino receives input from the processing program and uses it to turn on the vibrator attached to the chopsticks.   The processing program is responsible for interpreting the values given by the arduino program and projecting them onto the game screen. For example, one feature is that when the chopsticks are squeezed, they appear to be squeezed in the game.



Acknowledgements
Thanks to Zane Cochran for ideas and help regarding the game and chopstick controllers as well as for troubleshooting and photo editing of images in the game.

Tuesday, October 30, 2012

Final Project Proposal - Prosthetic Chopsticks

The main proposal for my final project is called Prosthetic Chopsticks.   It is intended to be a sort of training for the use of chopsticks.   It develops the muscle memory for use and stationary positioning of chopsticks.   The plan is to have chopsticks attached to a glove in the correct way of holding them. and attaching a motor to replicate the movements necessary to grab objects with said chopsticks.  

There will need to be some sort of device on the end to realize when objects are in between them so the device does not attempt to squish said object.   This part of the project will be somewhat similar to the way prosthetic hands work in that the person will not actually be in control of the chopsticks.   They will just be developing the muscle memory to use the device without the positioning glove and motor.

Tuesday, September 18, 2012

Motors and Flashing Lights

Circuit for Multiple LEDs
Firstly, we hooked up an LED to a circuit with the power connected to a pin in the  Arduino chip with a program that was set to make the LED blink.   The code was already uploaded to the board so all we had to do was plug in the pin.


Then we gathered seven more LEDs and resistors and set up separate circuits for each.   Each LED was connected to their own pins in the Arduino board.   Then we copied the code for the circuit that would turn the lights on and off separately and in sequence.






After the LEDs we hooked up a toy motor to the breadboard.    We used a diode without lights to direct the energy and a transistor.   We used the code provided that turned the motor on and then off again, effectively making it "blink."





We then worked through the problems with buttons section adding a button to our previous motor circuit instead of building essentially the same thing over again.   Using the code we copied from the instructions,  we would push the button and the light would blink or not work at all.  To "fix" the code we added delays to the button push so that the state wouldn't change quicker than we could press the button.

For our personal project, we decided to use our motor and push button setup to create fans to dissipate the fumes when soldering. we replicated the motor circuit to get three fans then we mounted them in the foam box we had build in our foam board lab.

Monday, September 17, 2012

Psychopathology Ideas

A list of important ideas to consider about the psychopathology of ordinary objects.   Which could be useful when creating objects for users in our Physical Computing class.
  • The visual design of everyday objects is key for the average person to use them.
  • If a design is too elegant or complex it can confuse the users.
  • Labeling the function of switches and buttons, especially when there are multiple buttons and switches is important for uncomplicating objects.
  • If you are going to write instructions or label things, make sure that the meanings are easily understandable.
  • When users don't understand object they blame themselves for things that go wrong.
  • There are too many daily objects to learn all of their functions.
  • Don't "dumb down" instructions or models so much that they become incorrect.

Tuesday, September 11, 2012

Circuits with Lights

Basket of Goodies
First off, Ethan and I checked our basket of electrical goodies to make sure we had all of the parts we needed to do this and maybe future labs.   We also made sure to have the power jack we had made in the soldering lab to supply power to the breadboard.

During our inventory, we had to determine the ohms on the resistors we had been given.   We first tried by multimeter, but we didn't really know how to set the numbers and the resistors kept giving us different readings.   So then we tried by looking at the colored stripes on the resistors.   We had a bit of trouble reading the color chart and trying to figure out which colors were which but we figured it out and then labeled the sets with a pen.




Next we took our breadboard and plugged the wires from our power jack that we had made in the soldering lab into the right side of the breadboard as well as our voltage regulator to convert the battery power into only five volts.   Then we added wires to connect the power to other parts of the breadboard, two LEDs, and a voltage resistor.   Finally we connected the battery and the LEDs were lit.





After that batteries became scarce so Ethan and I decided to use the Arduino chip to supply power instead.   Since the Arduino chip only supplies a maximum of five volts, we replaced the power jack and the voltage regulator.


Then we added a small button between the resistor and the power cable.   It was a pretty simple concept: push the button to provide power, let go of the button to cut off power.   This is called an normally open momentary switch.




The last thing we did was connect a potentiometer to the circuit. We used alligator clips to connect the leads on the potentiometer to the wires connected to the breadboard and used it in place of the push button. We could then twist the knob on the resistor to make the LEDs get brighter and dimmer.




Monday, September 10, 2012

Imaginary Expressive Object

This is my MicroPlate which is intended for people who eat leftovers.   The purpose of the object is to heat food evenly so that you don't end up overcooking one thing on a plate trying to get the rest of the food warm.   It's useful because different foods take longer to cook than others.   For example, mashed potatoes take longer than green beans since potatoes are more dense and usually drier than green beans.   The leftover cooker is in the form of a plate and can determine the density, portion, and moisture of the food in order to determine how to heat the food.

To use the  MicroPlate a person must have spacial awareness and the ability to apply pressure to a button.

Since the  MicroPlate must be able to exist in real life, we'll say that it cooks the food using microwaves.   Also that there is a lid with sections that creates compartments to separate the different microwave intensities that prevents radiation from escaping.



Monday, September 3, 2012

Sensor Walk

For this assignment, I took a walk around the Berry campus to look for sensors.   Sensors I found were mostly pressure sensors in the form of buttons like the ones on the ATM in the Krannert Building or handicap buttons, like this one:
Handicap Button
Then there were the ones on cars that set off the alarm if you bump them too hard in cars like this:
Don't hit these
Don't hit these either


There are also light sensors around Berry such as lampposts and computer mice.  





Do not hit people with these







Don't hit the ones in Dana






















There are also a number of chemical sensors in smoke alarms such as this one:

Sunday, September 2, 2012

Souldering

      After reading the safety instructions in preparation for soldering, my lab partner, Ethan, and I started by cutting a red wire and a black wire from a spool to hopefully connect to a battery using soldering techniques.   I tried to strip the wire only a few centimeters from the edge so that I wouldn't strip too much off, but there wasn't enough wire to make loops through the holes on the tabs of the power jack and apparently if there's not enough extra wire, you start melting the rubber on the wire.   Evidently, this is not conducive to either conductivity or the health of the solderers.
      After stripping some more rubber off of the wire, I discovered that it is very hard to keep all of the little copper wires together and Ethan suggested that we presolder the wires to keep them together and to make the soldering to the connector easier.   So we put a bit of solder on the wire before we tried to fold the copper around the connector.   After the presoldering was done, we hooked the black wire around the outside of the connector and bent the wire inward.
      Ethan held the connector still with pliers while I soldered the wire to the connector.   Soon after the soldering was done, Ethan pointed out that the part of the wire with the rubber protector was now on the outside edge of the connector and that if we tried to fit the plastic covering over the connector with the wire on it that it would not fit.   Then I learned how to desolder.
      The two methods that we used are soaking up the solder with what appeared to be a copper braid and melting the solder.   First we tried the soaking up method which we placed the braid over the solder and heating up both with the soldering gun.   This proved to be somewhat tedious and stressed the importance of not putting too much solder on the wire to begin with.   Once we had soaked up a significant amount of solder with the braid, we decided it was relatively safe to try and heat up the solder enough to pull the wire off of the power jack.  We had relatively more success with the second method in terms of actually detaching the wire from the power jack.
      After disconnected the old solder we attached the black wire from the inside out and soldered it to the jack. then we connected the red wire from the inside out and soldered it to the tab of the power jack.   When we presoldered the tips of the wires, Ethan used a method of placing the wire and solder to the solder gun instead of the opposite.   This was useful because we didn't have to use the helping hand thingies or trust someone else to hold things still and/or burn the holder.   Then we put the plastic cover onto the wire before we soldered the ends of the wire to the connector that we would use to plug the connector to the breadboard.   Lastly, we put clear, hot glue around the wires attached to the connectors so that the exposed wires would never touch and short circuit.   When we were done with this first bit, it looked something like this:


      The second half went much smoother and we achieved the soldering of the other jack with generally more timeliness and immediate success.   Following all of the actual soldering came time for the testing.   Fortunately there weren't any surprises and when the connector was plugged into the breadboard and the battery was connected to the other end of the wires, the red light on the breadboard lit up.   Our magnificently successful test  looked like this:


Here's a picture of the soldering on both jacks, which are plugged together:


Thursday, August 30, 2012

Hello World

This blog is going to be used for logging my experiences with the physical computing class during the fall semester of 2012 at Berry College.