Playful Experience Design Through Interactive and Wireless Techniques ------------------------------------//
Design and Technology // MFA // Fall 2008 // Parsons The New School for Design. ------------------------// Instructor: Yury Gitman
PING is a smart trash/recycling bin that tracks your trash activity and reports it online. His aim is to help you develop better recycling habits by collaborating with others.
PING is part of a larger concept that asks the question: "If objects had a voice, what would they say about us and how would we respond?" PING's 'voice' is able to tell users about their trash habits and connects them with other PING users online to allow opportunity for collaboration toward a more sustainable world. PING does this by tracking each time you throw an item in either its waste or recycling compartment and reports this activity online as well as communicating directly with the users through its own illuminating lights. Future iterations of PING will also include a way for the bin to measure weight of the trash, how often the bin gets filled up, and will be able to remind users of trash day so they'll remember to put the trash out. All this data collected will connect to much larger ideas online. For instance, knowing how much paper people recycle can help us calculate how many trees each individual is saving, etc. - allowing each person to feel a bit of accountability and reward for their recycling efforts and help them know that they do in fact play an important part. View a demo video:
PING was created by Katrina Bekessy. Katrina would love to hear any thoughts/opinions/feedback you might have about this project. If you'd like to learn more about it or share your thoughts, please contact Katrina at kmbekessy[at]gmail[dotcom].
So here's what I've got going so far...it doesn't look like much right now, but it will make a huge difference once I actually have it all set up in the real trash bin I intend to use. Right now I'm just trying to get everything to work.
I've go the IR sensors detecting which bin (recycling or waste) was used, and the Winbond chip changes tracks and plays back the appropriate sound depending which side was just used. I'm having a bit of a problem with the Windbond chip, though. When it needs to change tracks it won't play back the sound after it has moved forward. It'll only play the sound the next time that side of the bin is used. I can't figure out how to fix it in my code, but I don't think it's a huge problem...just strange. My code is posted at the end of this blog post.
I also have the Arduino counting how many times each side has been used. A green or yellow LED will light up when one side is used more than the other (green = you've recycled more, yellow = you've wasted more).
Alos, I assembled my XBee transceivers. It took FOREVER to solder everything - I even got injured in the process (one of the pins got shoved under my fingernail...awesome.). I haven't set them up to work yet...but that's going to happen in the next day or two. For now, all data from the bin can be seen through the serial reader in Arduino. I've posted a screenshot of it below.
Lastly, I started playing with some big FSR's to use as a rough scale/weight measurement for now. Next task for me is to figure how I'm going to normalize their numbers in my code...I have no clue how I'm going to do that...
Here's some pics:
The inside of my 'bin'...not pretty, but semi-functional at least!
Had to show off my awesome soldering job...male and female header pins all in a row, just so I can mount a silly XBee on it.
Screen shot of Arduino serial reader showing my bin data...with some lovely notes included in red.
-getting my Windbond chip to change tracks and play back the sound right after -normalizing my FSR inputs to numbers that actually mean something -keeping the stupid IR sensors consistent. Everytime I turn them on they start with different readings than before
Next things I need to do:
-include FSR's and photoresistor (for lid of bin) with rest of my circuit using a multiplexer -get XBee's to send bin data to computer wirelessly -build working circuit into actual trashbin -refine code to make readings more accurate
Am in way over my head? Yes, yes I am...
Here's my long Arduino code thus far. I'm sure it could be written much more succinctly/efficiently...
I'm using a billion sensors in my project and realized a small problem: the Arduino only has 6 analog in pins (unless you use the Nano which has 8). So can how can you get the Arduino to 'feel' more sensors? With a multiplexer! And I found a tutorial from Igoe at ITP for it here: http://itp.nyu.edu/physcomp/Tutorials/Multiplexer
Just a little knowledge to add to your P.Comp. bank...
Below is a more detailed user scenario for PING - the smart trash bin. It shows a parallel of what's happening in physical and what's happening virtually in the same moments. Basically what happens is that every time a user does something with the bin (throws something away, empties, etc.) the bin will collect data about the event and send it to the Internet where the data will be collected and analyzed and show data visualizations, etc. about the user's trash habits. Based on this data, the bin will receive instructions as to how it should communicate to the user via LEDs and the Winbond chip.
Violet (the people who make the Nabaztag bunny) Has just released Mir:ror, an RFID console of sorts that lets you connect apparently anything you want. I got an email announcement about which I copy and pasted below...they even mention how it can be used to know when you've taken your vitamins, etc. So it's cool to see how our ideas in the class are kinda being implemented in other ways. Here's the email:
You asked us to let you know when Mir:ror would be available. Guess what… that’s now!
Mir:ror
makes your everyday objects interactive, smart and connected. Simply
affix RFID Ztamps to them and show them to Mir:ror - your keys send
email to tell people you’re back home, your pills knows when you’ve
taken them, your toys play videos for you… There are literally
thousands of uses that you can program through a user-friendly Web
interface.
Week of 11/11: Draw out design of trash bin, plan how the technology will work, order parts/materials I might need, get IR sensor to work with Winbond when dumping trash into the bins. Document all progress.
Week of 11/18: Plan next steps, figure out how to detect when the bin is full and build it. Incorporate the "full" sensor with rest of what I've made thus far. Document progress.
Week of 11/25: Holiday! Start testing out my XBee's and get them to work. Get the trash bin to talk to my computer.
Week of 12/2: buy materials to build the casing, build out the bin and test its structure, make tweaks if needed. Document my progress.
Week of 12/9: Program the entire week! Program/debug my Arduino, do any needed programming for the XBee's, wire it all up into the bin's casing, debug.
Just a rough video demonstrating a user scenario of my smart trash bin
which measures your waste vs. recycling and can give you friendly
reminders. I haven't decided on a 'personality' for the bin right now, so I just used my voice for it, which is lame...
I tried Matt's code and it worked well, but what you see in the video is my less sophisticated code at work which you can see here:
int irPin = 3; // IR sensor is read from pin 3 int irVal = 0; // hold the values read from the IR sensor
int orngPin = 9; // Orange LED, connected to digital pin 9 int bluPin = 10; // Blue LED, connected to digital pin 10 int grnPin = 11; // Green LED, connected to digital pin 11
void setup() { pinMode(orngPin, OUTPUT); // sets the pins as output pinMode(bluPin, OUTPUT); pinMode(grnPin, OUTPUT); Serial.begin(9600); //see what the heck my IR sensor is reading }
// Main program void loop() { irVal = analogRead(irPin);
if (irVal>=200) //when you're closest to the sensor { digitalWrite(grnPin, HIGH); digitalWrite(bluPin, LOW); digitalWrite(orngPin, LOW); } else if (irVal>= 75 && irVal<=200) //middle range of sensor { digitalWrite(grnPin, LOW); digitalWrite(bluPin, HIGH); digitalWrite(orngPin, LOW); } else if (irVal<75) //when you're the furthest away { digitalWrite(grnPin, LOW); digitalWrite(bluPin, LOW); digitalWrite(orngPin, HIGH); } Serial.print(irVal); Serial.println(); }
Below are some storyboards of concepts I was thinking about. Some of them are kinda 'out there' and probably not completely feasible to do. But I'm throwing them out there anyways...
Concept 1: The Secret Teller Description: A lamp detects when someone is in its proximity and lures that person toward it by inviting the person to hear a secret. When a person approaches, the the lamp fades low and will blurt out some random quote or embarrassing sounds, etc. It's silly. That's the point.
Concept 2: 3D Theater Box Description: A small box with 3D lenses lights up inside when a person peers in it, revealing a little story told through a strip of anaglyphs. User listens to story and moves the strip forward when prompted by the narration.
Concept 3: The Gathering Table Description: A lit table repeatedly asks someone to sit with it. When a person does, the light on that side of the table goes off and the table then repeatedly asks someone else to site with them. Once a second person sits, the light on their side of the table goes off and the table invites the two people to have some conversation.
Concept 4: Red Light/Green Light Description: A cube asks people who get near it to relocate it elsewhere. Using an accelerometer to detect how it's moving, the cube get scared as it's being moved and will freak out if it's moved too fast. This will probably make the user want to put the cube down. And once the cube is set back down, it will only ask to be moved again...
Concept 5: Thesis Prototype Description: A dual trash/recycling bin make 'healthy' and 'unhealthy' sounds depending which bin wast is thrown into. If more trash than recyclables are thrown away, the bin glows a yucky red/warning color. If more recyclables than trash are thrown away, the bin glows a happy green color.
Yes, the Winbond circuit now comes in a sleeker, more stylish look
complete with toggle power switch, built-in 1/8" jack for recording,
and mystery buttons for playback which I haven't labeled yet. Ships
with random quotes from Don Hertzfeldt animations. Bonus.
Title: The Boom Box Description: Box with matte board top custom cut to accommodate playback buttons, the speaker, LED's, toggle power switch, and jack for recording from device.
Title: Top View Description: Toggle switch has been turned on, as shown by the lit LED.
Title: Closeup Description: A closer look at the switch, the jack, and the LED's. One LED signifies power, and the other blinks when performing a playback action.
Title: Another Closeup Description: This closeup includes the playback buttons. They're not labeled yet, but they will be. I promise.
Title: Boom Box Guts Description: Top is attached with Velcro for easy removal. Inside, one breadboard contains the circuit with chip and the other is for button placement. A paper cup help to reverberate the sound from the speaker and a battery pack is hooked up to a 5 Volt regulator which is then controlled by the toggle switch. Huge thanks goes out to jumper cables and electrical tape.
Title: Another Angle Description: In case you wanted to actually follow my wiring, here it is!
Title: The Meat of It Description: How can I even begin to explain this thing? Thank goodness for datasheets.
Yup, it works. But the sound is pretty bad. I had to turn up the sound on my computer to the max to get the chip to record from it at an audible volume. I guess my next step would be to figure out how to actually control the volume from the chip. I recorded 2 tracks: "A Little Night Music" by Mozart and "Young Folks" by Peter Bjorn & John. Watch the video:
Photo: The whole circuit. Description: Here it is. I decided that I really don't like wire wrap - it always breaks! So I used 20AWG wire for the 1/8" audio plug, which is sticking out next to the yellow LED at top. I also added a 5-Volt regulator to power the board directly from the battery but immediately realized that there wasn't enough room for it. So it's just being powered from an Arduino board right now.
Photo: Top View Description: Not much to say about this one...Just wanted you to be able to see the entire board clearly.
So here it is! And it works pretty well. With my setup, the long pin on the LED actually goes to power and the other three hook up to the PMW pins on the Arduino and then go to ground (I stuck some resistors in there before taking that pins to ground). Here's what it looks like:
And here's some pics of the box itself and its innards:
The Box Just a little cardboard gift box I cut up to make little windows with vellum paper...I used Velcro to keep the top closed.
The Insides! Bascially the breadboard is stacked on top of the battery pack which is on top of the Arduino. Not elegant at all...
Close up of LED Just a closer peek at the LED setup with the resistors
I found this webpage with a great example of a tri-color LED used with the exact IR sensor we're using. It gave code for averaging/normalizing the sensor readings so that it won't flicker at all. I tried to use it, but I couldn't get it to work correctly. If anyone else wants to take a stab at it, check it out: http://letsmakerobots.com/node/672
Here's a plain text file of my Arduino code. In a different file, I used the serial commands to read the range of my sensor...The highest it went was about 620, but I wasn't really sure what that meant or how to make that meaningful through the way it would change the colors of the LED.
I wasn't really interested in taking apart a toy that had motors in it or could move around and make noise, etc. So instead I found a toy that I thought was really interesting in terms of talking to other devices to send a receive information. It's called ClickBox by VTech. Basically, this little cube is the home to a little digital dude (in this case, a body builder) that you help to train and take care of so that when he comes into contact with other characters he can beat them at various games and competitions. He can talk to other characters by connecting one side of its cube with the side of another cube via magnets. It can also be plugged into a computer through USB to play in online games against other characters in a virtual world. Here's a little video of how it worked before I took it apart. Sorry about the reflection...it couldn't be helped too much...
Title: The Cube Description: Here's how the cube looks from each side. On the top right pic, you can see how the magnets work to connect to cubes together so they can talk to each other. When connected, one of the magnet buttons depresses to activate communication.
Title: The first peek inside... Description: The first thing I opened was the place where the battery goes. It's a 3-Volt battery...nothing larger could possibly fit in it! After I opened that, though, I couldn't find how to get in there deeper. Turns out that these little rubber grippie things on the corners can pop off and there you'll find more screws. Tricky!
Title: Packed like sardines Description: Once I finally got inside, the entire cube was packed with bundles of wires for the power, the USB, the little LCD screen, and the boards on each side of the cube that can talk with the other cubes. I love how the wires are bundled using tape...Seems so cheap and crude, but I guess it makes sense! I have a bunch of tape holding things together in my laptop as well. :-)
Title: Here's where it starts getting cool! Description: Finding out how the communication happens between cubes was a nice little surprise. It's so simple - when they connect with a magnet, a button depresses this little spring coil, turning on a little IR transmitter and receiver to do all the talking. It should be noted that the IR setup on the other side of the cube is opposite of this so that when two cubes are connected the IR transmitter of one cube is aligned with the IR receiver of the other cube.
Title: The IR is only half of it... Description: To really make the IR stuff work, a lot depends on the material used. Yury helped me discover that these two sides of the cube were made with translucent material so the IR signal can pass through. The magnet is there to make sure that cubes click together and stay aligned properly.
Title: Some cool little buttons/switches too! Description: I discovered some switches that I almost didn't notice at first. The buttons on the faceplate of the cube used to control the little character actually work thanks to these little actuator switches that are so tiny and flat that I almost didn't think they would really depress when I pushed them. The little reset button on the battery board was also pretty cool. It's nothing but a little bit of conductive material that comes in contact with a little part of the board to connect the circuit.
Title: The chip and the rest of it Description: The main board of the cube where the chip resides was pretty standard: some resistors, capacitors, and stuff. There was also a small motion sensor on board (the character responds to being shaken), and I liked how nicely the screen connected to the board. It was also interesting to see a huge glob of hot glue slabbed on to protect some of the soldered parts.
...and there you have it! I'm really glad I chose this toy. I learned a lot...from the way the toy was designed physically to pack all that stuff into it, to the type of technology they chose to use. I really liked seeing how such simple parts could make a such a complex little toy!
Hello! I'm Katrina, a second year MFA student at Parsons. I like making stuff...like toys with computer stuff in them!
My background is in Integrated Marketing Communications, which basically means that I know a lot about mass media and communication theory. My interest in com theory led me to Parsons so I can continue exploring the means by which media is served to society through all these techie gadgets we have and try to contribute something positive to all of it. I like programming and building stuff, and learning a lot about usability and interactivity. So that where I'm headed...
Favorite toy? NOT Barbie! Santa, however, did give me a Nintendo when I was in Kindergarten and I loved it. I'd have to say, though, that my favorite toy/game was Simon. I loved playing with things that required speed and memory. It's such a simple toy, but I could play it for hours.
Recent Comments