Wednesday, December 16th, 2009

Click to Enlarge User Instructions
UnPlug
Ever worry about saving the environment? No? Did you know that even when your lights and other appliances are turned off they still sap energy just by being plugged in? Now there is a no brainer solution. UnPlug is a light sensitive device that unplugs your utilities when you leave the house.
Background
My initial idea was to utilize biomimicry and have the surge protector push out of the wall with legs. After running into issues with finding proper springs or a linear actuator, I opted for a basic HiTec HS-311 servo motor. There were also issues with with using one Arduino for both the servo and the wave shield, even when the servo was receiving a separate power source, so I opted for a 2nd Arduino.
Audience
As an energy saving device this product is marketable to a large range of users, though the target audience would lean towards a younger, more environmentally conscious user. The addition of music, lending a humorous edge, skews UnPlug towards a trendy green demographic.
(more…)
Posted in Physical Computing | No Comments »
Monday, November 23rd, 2009
It is Monday night. I have tried several ways of building the legs, and I have found resistance on an engineering front for all.
Design Changes – I changed the concept a bit, now using the legs horizontally, as the vertical push of the cricket could possibly shove the surge protector in the air and not away from the wall. The legs now looked similar to a frog. The mechanisms are the same. In addition, I decided to add a ramp for the surge protector, so the frog design would have more of a lateral push.
1. Springs on the Leg – bought a jar opener to provide me with some metal legs and a mousetrap. It turned out the mousetrap didn’t provide me with enough strength to have the legs pop open. I went out and bought a rat trap to provide me with a stronger snap. It was very strong(and fairly dangerous.) I then tried to add my legs into the spring mechanism, but then had no way of getting the metal center back onto the wooden board.
(more…)
Posted in Physical Computing | No Comments »
Tuesday, November 10th, 2009
This is the video for the Physical Computing Lab. The switch changes where the DC motor gets it’s power, letting it run clockwise to counterclockwise. The video shot in slow-mo, so instead of wasting time reshooting it, I wasted time editing it together and adding music.
Posted in Physical Computing | No Comments »
Tuesday, October 27th, 2009
Posted in Physical Computing | 2 Comments »
Sunday, October 11th, 2009
The events took many, many days to get it to work. However, the end result was exactly what I wanted.
Part Zero -- Starting and then Starting Over
The entire goal was for this to be an alarm clock, so my assumption was that I needed to find Alarm Clock code for the Arduino. I found code online and then tried to descipher it. I understood the basic infrastructure, but the code was so far beyond me as far as transforming it, I decided to scrap it and start with a shorter milestones.
Part One -- Getting the Servo Motor & LED to work with a switch.

Putting It Together
My initial work was going through the labs from our homework and trying to fit them to my needs. The first lab had an LED that reacted to a switch. I needed the Servo to react to the same switch, but reacted with an analog sensor. First, I tried them both with the flex sensor, then after some finnagling, I got them to react to the same switch.
Part Two -- Using a clock

The next hurdle was to get the Servo to move on a timer. After several failed attempts of using online code, John The Badass Resident showed me how to use the a startTime=millis(); in my void loop, the built-in timer on the Arduino, when you start your code up. It worked like a charm. I knew there would be a hurdle when creating the snooze button, but I figured there was a way to work around that.
Part Three -- Abandoning The Clock
Well, after trying to get the timer to work with my Servo and LED, I couldn’t get it to restart and John was long gone, so I worked with a friend’s code, Zeven and used a time variable. That gave me the ability to restart. For whatever reason, the LED wasn’t lighting up as well, which made no sense at all.
Part Four -- The Final Arduino Code

It’s the night before and I’m trying not to stress out. I again ask for help, apparently getting people into trouble and all sorts of various fun. I know it’s a coding issue, and I just don’t know enough about coding. John The Awesome Resident puts me in contact with a certain 2nd Year, who will go by the codename “The Bicyclist.” The Bicyclist sits down and wipes out all my void loop code. We go through and add two more variables (timer and stepDelay) and clean up my void setup and, step by step, we go through and piece by piece, make sure the code is speaking to each piece of hardware and then place it on the timer, and then go through and clean it up again. The trick was really to reset the millis to the current time by nesting it in the long timer. He showed me firsthand what it was like to code correctly. It was genius. Honestly, it’s to a point where I don’t want to go code again, cuz I finally did it correctly, and I wanna just have that be my lasting memory. This is a terrible idea, obviously, so I’ll be working on the tone library tomorrow.
Part Five -- Aesthetics, Aesthetics, Aesthetics
Until this point in the operation, I didn’t have any of my visuals put together. That was the easy part. I quickly constructed a house front, a fence and put a construction truck on a nice pice of varnished rich wood that I found laying around. I printed out several zombie pictures, including one from an artist depicting a scene from Pride, Prejudice & Zombies. I hid the switch behind the piece.
Part 6 -- The Future
The real question is do I continue to pursue this or do I abandon this project? Is there a market for this? When the heck would I have time to work on it? I’ve given it a bit of thought, and I know what the next phases are:
Tags: alarm, clock, pet, physical computing, stupid, trick, zombie
Posted in Physical Computing | No Comments »