Monday, May 11, 2015

Malcolm's New Family



Meet Malcolm, the unfortunate kitten. He has a scar on his belly due to a tragic incident that involved a red scooter and ice cream. It began on the day of the circus. Tommy was ecstatic to go to the circus, his mother less so, being a nervous wreck around crowds. Tommy just got a new grey cat named Malcolm who he spent every hour and minute of the day with, and he insisted on bringing his new kitten to the circus with him. If he didn’t, Tommy thought that Malcolm would get lonely at home. Tommy’s mother, being overly accommodating, agreed, much to her demise later. When Tommy and his mother arrived at the circus, Tommy headed straight for the dart balloon game with Malcolm in his chubby hands. This is where it got bad for Malcolm. Tommy put Malcolm down by the counter. Tommy was aiming for the giant teddy bear; his entire concentration was focused on the game. Tommy’s mother, being already a nervous wreck, was scared that Tommy might hurt himself with the darts. They both paid no attention to Malcolm. Malcolm, being the curious little cat he is, wandered off the counter and into the mass of people. Malcolm had already wandered much too far before Tommy or Tommy’s mother noticed. Malcolm’s solo adventure was tragically cut short. Much to Malcolm’s demise, a child riding a small red scooter, holding an ice cream cone, zoomed by, much too preoccupied with his ice cream to notice tiny Malcolm. The child ran straight into Malcolm. The collision was much like a slow motion film. Malcolm was knocked to the side, the child tripped slightly, and the ice cream cone slipped out of his hands, landing top first onto the concrete. The child burst out crying. The crowd rushed towards the child, ignoring poor Malcolm. Luckily, a little girl with a kitten in her arms noticed Malcolm. She tugged her mother towards Malcolm, and Malcolm was brought to animal ER, and sewn up just fine. He now has a new home, with a new cat and family.


Malcolm is a plush cat, outfitted with an arduino that takes readings from a force sensitive resistor and several hall sensors. He's been adopted by a loving family that already has a cat, who just so happens to have a collar decorated with magnets. He's so happy to have a loving family that whenever he gets cuddled by his new owner or feline friend (aka, when he's squeezed or when the cat comes up next to him) that he just can't stop purring!


The target audience is any cat owner, and does solve an existing need. It doesn't enhance an existing interaction, necessarily, but it can help an owner of a new skittish cat help their new pet relax and grow accustomed to their new home, so it can enhance an interaction between a human and their cat.

We bought a plush cat (10 dollars), a hall effect sensor (about 2 dollars), a set of magnets (about 10 dollars), and a collar as well (10 dollars).

Our team members are myself (Sarah Lerner) and Natalynn Chun. 
Natalynn is an econ major and compsci minor, and is very creative.
Sarah is a compsci major and linguistics minor, and is fairly resourceful.

Here are some work in progress photos:



- The arduino with one hall sensor and a speaker



- Malcolm and the collar, along with the arduino, which now has two hall sensors and a force sensitive resistor.

Wednesday, April 22, 2015

Baby Mechatronic Dinosuar

For this assignment, Natalynn and I made a simple wireframe dinosaur who raises and lowers its head when a crank is turned. Our DC Toy Motor was not powerful enough to pull the crank on its own, but both parts of the project do work separately, as shown in the videos below.


Video 1: The motor is shown pulling the string taut, but without the force necessary to pull the crank.




Video 2: The crank is moved manually to show the dinosaur's head and tail moving.

Monday, April 13, 2015

Lab 7 - Motor Labs

1. Controlling a Servo Motor from Processing



2. Use the potentiometer to control the speed of a DC toy motor.



3. Control the speed of the toy motor with processing


Monday, March 30, 2015

Midterm Project

The title of your project: Coaster for Health

Sample Video (with each light set up to light up every second, for demonstration's sake):



Describe the concept:
During a stressful work day, people often forget to keep hydrated, going for hours at a time without a drink. In order to help people follow the 8 by 8 rule (8 glasses of 8 ounces of water a day) at a standard 9-5 desk job, we've created a coaster that will remind the user to drink water every fifteen minutes.

Describe the target audience:
The target audience is someone who works a desk job, either from home or in an office setting.

Describe the technical system:
After about a minute and a half have passed since putting a mug on the coaster, a light will come on. This continues until fifteen minutes have passed, and all the lights will blink on and off until the mug is picked up. The timer resets when the mug is placed back down.

Spec out what parts you will need, where you will get them from, and prepare a preliminary bill of materials, including cost for all parts.
Arduino (already purchased)
Plastic Box- $4
Lace Dollies- $4
Total Expected Cost: $8

What manufacturing techniques will you be using?
Cutting out paper, glueing and taping.

Document what possible problems you forsee (i.e. wrong choice of sensors for the job, or problems getting overly-complicated output devices to work), and document some back up contingency planning for those scenarios.
– The photoresistor may not be able to sense an empty bottle of water (hence the need for a mug instead of a plastic bottle)
– The user will be forced to refill their mug constantly while using the coaster and might simply ignore it after a while (the entire point is for them to drink from and refill their mug though - perhaps using a tumbler and not a mug would make more sense)

Document how your team will work together, and the division of labor for the next steps
Our group members are Sarah Lerner and Natalynn Chun. We will divide the labor equally.

Progress Photos:


Monday, March 23, 2015

Lab 5 - Processing Labs

1. Oscillating Circle with Processing



  • Processing is based on Java.
  • A global variable is able to be referenced at any point in a program, whereas a local variable can only be referenced within the function in which it was declared (and will consequently disappear when the function ends)
  • The draw() function returns a void data type.
  • The code below the "//keep the circle in bounds" comment checks to see if the circle has gone to or past the top or bottom of the window. The variable y refers to the center of the circle, so y - (diameter/2) is the y-coordinate for the top of the circle, and y + (diameter/2) is the y-coordinate for the bottom of the circle, so when the top of the circle hits the top of the window (at y-coordinate zero) or when the bottom of the circle hits the bottom of the window (at y-coordinate "height"), the y-speed reverses.
2. Sending Serial Data from an Arduino Circuit to a Processing Application




3. Etch-A-Sketch



This circuit uses a potentiomenter and a photoresistor to create a 'sketch' through Processing.

Tuesday, March 10, 2015

Assignment 2: Interactive Toy


The objective of the game is to throw or shoot something at the calendar, and hit Link square in the face three times. If you hit him again after that, a short jingle will play, and the game automatically restarts. Here, I am using it more as a punching bag, but ideally it'd be shot with a nerf gun or hit with a hacky sack, or something of the like.

The code for the song at the end was taken from a piece of the code from this webpage. The code for the actual game, as well as modifications to the above code, however, were made by myself, in addition to the actual design and set-up of the game seen above.

The intended user for this game is probably children from ages 6-12. Their attention span is still very limited, which is why the game only requires three hits before game is won, so they can play a couple times and then let it be for a while. The 'hit box' for the fsr is quite small, and requires a great deal of precision in order for something to actually register as a hit, so ideally, the child would use this as a means of target practice using a toy gun or simply tossing a small object, which would help to improve their gross motor skills (depending on how they choose to play) and their hand-eye coordination.

The user is allowed one affordance, which is to hit Link right in the face (behind which lies an fsr).

I don't know any kids to test this with, but I myself spend quite a while playing through it, though the design currently lacks a strong support system in the back (the giant stack of books in the video), and so the calendar continually loses the support in the back, which prevents the fsr from getting an accurate reading, so the great majority of the games I played were ended prematurely so that I could rearrange the books as necessary. I'd also like to increase the prerequisite number of hits to ten, and also add another fsr (a much larger one) behind Link's shield, so that any time the fsr reads above a certain value, the number of hits actually goes down.

Monday, March 9, 2015

Lab 4 - Servo Motors

1. Servo Motor Controlled by Pulse Width Modulation from an Arduino


  1. We add a delay after rotating the servo so it actually has time to rotate before running through the loop again.
  2. Pulse widths range from 544 to 2400 μs, for angles from 0 to 180 degrees, so 45 degrees = (45/180)(2400-544) + 544 = 1008 μs.
  3. The piezo speaker and the servo motor both use PWM from the arduino, which is not capable of reliably sending out both signals without any interference.
2. Servo Motor Controlled by Potentiometer with Arduino


3. Servo Motor Controlled by a Pushbutton Momentary Switch