Final Puzzle

To make a project that had a surprise, I chose to make a toy with an unhappy surprise.

The concept: The best part about a puzzle is having the ability to complete it. What if the puzzle in physically not possible to complete? I decided to make it a jigsaw puzzle because I didn’t want anyone to blame themselves for not being able to complete the puzzle. If I made it a jigsaw puzzle, it would be very clear that it was not their fault, but the fault of the puzzle itself. If it was more complicated, people might feel too frustrated and believe that they weren’t smart enough to figure it out.

The process:

I first cut out my pieces and design on cardboard. I wanted the design to be challenging, so that people who felt confident about their puzzle making skills would want to give it a try. I soon found out that cardboard is terrible for puzzles, since the top and bottom can detach from each other, and that it’s very difficult to pop tiny lasercut pieces out of a piece of cardboard.

I then decided that I wanted to make really interesting packaging. I liked the way my puzzle looked, and wanted the box to be made of the same material. As I user tested the puzzle on myself and a few friends, I found that the puzzle pieces would keep moving around and it would be very difficult to put them together without others moving. I needed a frame, and a box for the pieces. I then thought about how I could incorporate the two. I was having a lot of difficulty imagining how the mechanics of the box would work, so I used cardboard to cut out the pieces I needed. I realized that I needed supports on the sides of the box, and that I would be able to put the frame on the inner side of the top of the box.

To further think through my idea, I also 3D modeled my idea: 

In order to make the frame on the underside of the box, I had to glue two pieces of the wood together. To make the top of the box not double the thickness of all the other walls, I decided to make all of the box and puzzle out of 5mm thickness material, and the top out of 3mm. Then, my top would be two 3mm pieces together that wouldn’t be so thick compared to the rest of the box. I also found prints for the box on boxmaker, and then modified them in illustrator so that they fit with my designs. 

After a few iterations, I realized I needed much fewer puzzle pieces, and that I needed to simply the design. Instead of etching, I cut much lighter for the design.

This was the final design that I lasercut.

And this is the final! I originally decided to cut too many pieces that wouldn’t fit, but I ran out of time. If I were to continue working on this, I would cut out a few more that don’t fit, and take a few out. At this point, only a few are taken out, making the puzzle impossible to complete.

 

3D Modeling and Character Design

Using Cinema 4D: After having been exposed to Blender, using Cinema4D was a struggle. It was nice to have the menu exposed, verses relying on hotkeys, but even just the navigation was difficult for me to get a grasp on within the short time we had. It was also very difficult to find the translations of things I was familiar with in blender in Cinema4D. What I did find similar to Blender was that effects were applied just like modifiers, and could be edited afterwards.

My 3D print:

In total, I believe I 3-D printed at least five chickens. Each one with a slightly different deformity, some with hats, some without, each chicken had its own personality. The wings didn’t print on the first three, and the feet were something that took many attempts in order to get right. Some of the feet fell off, some of the wings had holes in them, but at the end of all my 3D printing, I knew that my chickens were just like humans. Each had their own problems and differences, but together they could be strong and defeat whomever they did not like.

 

Unfortunately, I forgot my chickens at school so here are some pictures of the very first conceived chicken.

 

 

Molding!

With all of my 3D printed chickens, it was finally time to mold. I took my best chicken without legs (for ease of use), and set to mold it into yet another chicken.

Mixing the materials was relatively easy, aside from the noxious smell. We measured everything well and everything dried well. I did not get a chance to color my chicken, so I had another white chicken. Taking the 3D printed chicken out of the mold was incredibly difficult though. It was definitely not a one-person job, especially since the vasaline made everything very slippery. Taking the mold out of the silicone mold was a three-person job, but with teamwork we made the dream work! Alas, another chicken was born.

This chicken, however, was slightly different than the others. Although it was similar in color and size, it was rougher around the edges. It had slight deformities, and was significantly heavier. If I were making another five for my army, using the molds would have helped a lot, but the chickens would not have been as good quality as I would’ve liked.

Week 6: Paper Toys

At first, I was thrilled to see the paper toy that bounces mentioned in class. I had seen videos of it beforehand, and it looked really fun to make! I usually like paper toys, and if I see an opportunity to make a small origami heart out of a dollar or smaller piece of paper, I will do it! I was paired with Alexis, who was practically a zombie that day. As we tried cutting through the thick paper, we quickly realized we were making mistakes everywhere. Key tabs that were very necessary for the functionality of the toy were being lost in the paper scraps, and we were confused with how to put the remaining pieces together. We kept trying to watch the video and align them with the Japanese instructions we found online, but our efforts were met with little success. The paper toy looked like it would have been a great toy to make, but the reality of the project was that it is very difficult to fold thick paper, and that box cutters are not meant for precision. With that said, I would definitely try again, but I would need clearer instructions.

Kissing Hand – Final

The Concept: Separation of loved ones is never easy, and distance can put a strain on any relationship. For this project, we aimed to let people who are physically separated know that one is thinking of the other.

Supplies: Two lilypads, two lilypad arduino adapters, heating pad (USB), FSR pressure sensor, relay module, neoprene, elastic, wires, a perf board, XCTU software, and XBEE to USB adapter, one of the 12V battery packs, and two 3.7V batteries.

Inspiration: Alanna originally proposed the idea by mentioning a book her mom read to her as a child. The book told the tale of two raccoons; a mother and its baby. The child raccoon was afraid to be apart from its mother, so its mother told it a way to always keep her near. The mother raccoon would kiss its child’s palm, and whenever the baby raccoon was away, it would put its palm to its face and it would be as if its mother was kissing the baby raccoon’s face.

Our goal was to reflect this story with a much more tangible response. We wanted one person to be able to send a direct message to another person who was not nearby imitating the concept of touch. One user holds the glove, while the other holds the band. When the glove-holding user wants to send a subtle message to the user with the band, they can kiss the back of the glove. On the receiving end, a gentle heating pad is activated, sending the message that their loved one is thinking of them.

We Go Shopping: To do this, we first made sure that we could use a heating pad. We went to a nearby mall, where we acquired a stuffed pink flamingo. Inside the flamingo, we found a heating pad that was USB powered. The pad wasn’t even secured inside, and we simply slipped it out of the flamingo for our own use. We then cut the cord of the USB to find out just how complicated our use of the heating pad could be. We cut it to find that we were in luck: our USB only had two cords for power and ground, rather than several. We then tested our heating pad to see if it indeed worked with a battery! But in order to use the battery, we had to raise the current. We first tried several resistors, then some transistors, but finally found the relay to work best for our needs. The relay also clicked when activated, which let us receive immediate feedback as to whether or not the signal was sent. To our amusement, it did in fact work, and we were grateful to move on to the next step of our project.

A Message in A Bottle (or wire): We then worked with serial communication code that Antonius provided. With the two ardiunos connected through tx and rx pins, we were able to make an LED blink. Our next step was to use the pressure sensor to activate the response. Our pressure sensor worked just fine, but our next challenge was to power the heating pad. Our heating pad worked on 5V, but we had to keep increasing the current in order to make it heat up. We started with a few different transistors, until we finally arrived at a relay. The relay helped us test whether our heating pad was heating (because it would click when the message to activate was sent to it), and provide enough current to make our heating pad work.

To XBee or not to XBee: Then came the XBees. After checking out a mountain of different shields and adapters, we began trying to use the XBees. We added the XBee onto a shield for XBees for the Arduino Uno, we took on the challenge of sending serial communication without being physically connected. Because the XBees use the serial pins to communicate, the serial monitor could not be used to log values received or sent on the XBees. Instead, we had to remove the XBees, put them on a different reader, and log values through that instead. We also used an XBee adapter for USB in order to program them. XCTU was used in order to program the XBees. We set default values to them first, and then chose random numbers (that were the right amount of digits) for PAN ID, destination address low, and 16-bit-source address. The PAN ID for both XBees are the same, because the PAN ID is basically the channel that both XBees connect over. The Destination Address Low and the 16-bit Source Address can be random numbers, as long as the destination address low for one XBee is the 16-bit Source Address for the other one, and vice versa.

XCTU screenshot:

We also used XCTU to run diagnostics on the communication and to organize which message was going where. We made sure that the number that both xbee’s would communicate under was the same, and that the receiving number and the sending number for each Xbee went to each other. Luis helped a lot with this process and was essential to helping us decode what we tried to read online. Once we had them communicating, we aimed to move to the lily pad.

Lily Pad Life: Moving to the lily pad was not incredibly difficult. We used the same pins that we had before on the arduino uno.

Send Lily Pad Schematic (3.7 volt power was just connected to power and ground of one of the lily pads)

 

Receive Lily Pad Schematic. 3.7 volt power was connected to power and ground of one of the lily pads, and the power jack (the blackish thing in the diagram) was connected to 12V battery pack.

It is important to note that we did not include the power source to the lilypads that we needed. We ended up figuring this out after soldering everything that we forgot the power source. Each lily pad set (one lily pad and one lily pad Xbee), needs one of its plus petals connected to the positive end of a battery and a negative petal to the negative end of a battery. We used batteries under 5 volts to make sure we didn’t fry any lily pads. We also came to the conclusion that we misunderstood that we had to program the lily pads themselves, and that we only uploaded code to the xBee’s. Somehow, some things still worked. Others definitely did not. We uploaded the same code from the Arduino to the lily pad via a USB adapter (but we took the shields off first!). Finally, everything worked!

Sewing the Fabric of Our Love: We first decided on an elastic strap that could be placed anywhere on your body. However, when we discovered how big the wiring of the lilypads and the batteries were, we decided to put them in a backpack to easily move around. The glove was derived from the original story, but we decided to put the pressure sensor on the back of the hand so that sending the message would be more intentional. Instead of accidentally setting it off, we could be sure that the sending person meant to send their love at that moment.

Code: In the send code, we define a few variables that we’ll later declare with the values from the pressure sensor. We read the analog values from the sensor, and then add a delay. In the receive code, we set the pin modes, and used the original serial code to check if there was an available value from the sending XBee. If the value is above 50, which would indicate that the pressure sensor had been activated, we set the state to HIGH. If the value received was less than 50, we set the pin values to low. When the pins were HIGH, the heating pad would be activated.

Future Steps: Thermochromic paint would definitely help with documentation and for displaying purposes. Unfortunately, we didn’t have time to paint the heating pad earlier on in the week, and we were afraid to paint it before the show because we didn’t know how long it would take to dry. We also would definitely work with smaller electronics, so the heating pad could move to locations other than above the rib cage.

//--------------------------THE SEND CODE-----------------------
const int buttonPin = 0;
int buttonState = 0;
int value = 0;

void setup() {
//  pinMode(ledPin, OUTPUT);
  pinMode(buttonPin, INPUT); // make the pins output and input
  Serial.begin(9600);
  

}

void loop() {
//  original code from the website
//  Serial.write(value);
//  value++;
//  if(value > 255){
//    value = 0;
//    delay(500);

  buttonState = analogRead(buttonPin);
  
//
//  
  Serial.println(buttonState/4);
delay(10);

}

//--------------------------THE RECEIVE CODE-----------------------
int receiveValue = 0;

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  pinMode(9, OUTPUT);
  pinMode(13, OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  //  // put your main code here, to run repeatedly:
  if (Serial.available() > 0) {
    receiveValue = Serial.read();
  }
  if (receiveValue > 50) {
    digitalWrite(9, HIGH);
    digitalWrite(13, HIGH);
    delay(30000);
  } else {
    digitalWrite(9, LOW);
    digitalWrite(13, LOW);
  }
  delay(100);
}

Final Proposal – Puzzling

One of the most classic and traditional toys is a puzzle. Children start out with easy ones when they’re younger, and enthusiastic puzzlers go on to incredibly difficult puzzles that can take months and end up framed on the wall. The most central part of a puzzle is finishing it. In finishing a puzzle comes a certain satisfaction. The last piece of the puzzle makes everything perfectly fit together, and at last, you’re left with a complete picture. This is the traditional feeling that  I wanted to surprise a user with. We were told that we could make a toy with a good surprise or a bad surprise, and my toy is meant for the bad surprises. Every puzzle is expected to eventually fit together, but my puzzle will never fit. It will never complete the picture, and the pieces will never all fit together.

My intended user is someone who doesn’t expect the surprise. My puzzle will probably be gifted, where the gift-giver knows the secret of the puzzle, and the receiver has yet to figure it out. There are always people who pretend to know it all, and this would be the perfect puzzle for them. Seeing someone who says they can complete any puzzle in no time try to finish a puzzle that physically not be completed would be amusing. For the holidays, gag-gifts can be all the rage. White elephant parties where people don’t know what is wrapped inside but trade gifts around a circle are incredibly popular, and gag gifts always seems to make an appearance. What better way to fool your friends than with a harmless game?

I hope my users will finish the puzzle looking like this:

Intended for the avid puzzler, this puzzle is not meant to easy. I am inspired by gradient puzzles that can be purchased on areaware.com. These puzzles are difficult, but really pretty once they’re finished and a slight challenge. I want my puzzle to be abstract (not a picture of scenery).

I want my puzzle to be laser cut and etched with a design. I will use the harder material that looks like cardboard but is much stiffer. I want to make a jigsaw puzzle verses a 3-d puzzle because if it’s a 3-d puzzle the user might blame themselves for not being able to complete the puzzle. People who can’t solve a rubik’s cube don’t blame the rubik’s cube, they blame themselves. I want it to be obvious that it’s not the user’s fault that they can’t solve the puzzle.

 

Week 6: Toy Expo

As I walked into the toy expo, my eyes were filled with wonder. I did not anticipate the size of the expo, nor the venue. This “expo center” looked like an airport hangar and was surprisingly packed. As we entered, I hoped we would spend all the two hours here looking around at toys and seeing what the newest toys had to offer. Instead, I found many chairs and open spaces with tables. I saw elaborate displays that were not meant to showcase toys, and people who were quick to judge that I was not someone they were looking to talk to. I soon understood that I was not the target audience for the toy expo. Everywhere I looked, there was not a single child to be seen. I would later find out (thanks marcela!) that children were prohibited at the expo. What an odd concept. I understand that toys are for all, but if i were a buyer for toys, I would bring my child to the expo and see what they would like. After all, user testing is one of the best ways to determine if a product will be successful, and how can you user test if your user isn’t allowed in the building? But with that all aside, I ran about trying to find all the toys I could.

As I walked around, I started to notice a trend. Unreasonably large toys were some of the few toys I could play with. How they got there? I’m not sure. Why they were there? I would never find out. But I did decide that they were pretty cute and that they were worth taking pictures of.

Here I am with another unreasonably large toy.

 

One of my favorite stations was the lego station. They had an enormous tub of lego pieces, and workspace for people to build. They clearly wanted you to enjoy yourself, so I did exactly that. Alexis and I made a beautiful house together, and remembered how great legos were.

Here was another toy that I didn’t expect to see. Stuffed ducks? That pile on top of each other? These were some of the few you could actually purchase here instead of talking to the people about buying from their company. They were so plush, and upon touching them, I could not figure out what they were stuffed with. It was so soft and squishy and not at all tough like beans or rice. It could be toxic, but it made a great pillow. If I could figure out what they were stuffed with, I would make many more soft toys.

One of my favorite spots was the bubble station. They had all of these different bubble guns, and you could stand there and blow your life away! Small bubbles, gigantic bubbles, every bubble you could imagine existed in their guns. We spent so much time there that someone started asking us questions because they thought we worked there. We wished we worked there.

One of my favorite stations was a company that was all about sustainable play. Their products were all made of wood, and had a nice feel to them verse the plastic that dominated the rest of the toys. Their modular toys were innovative and inspiring, verses overdone and cheap. These cute little bees were too adorable to resist taking a picture of. Their wings were made of felt and their tiny bodies made of wood. I was interested in buying one of their toys, but the lady working at the station told me they were not available for purchase at the expo.

All in all, the toy expo was a delight. I only made it through half of it, but by the end I was tired and felt like I’d seen most of what was offered. I didn’t see many innovative toys, but i did see a lot of characters. I wished I could buy some of the toys (the bubble guns are definitely on my christmas wish list), but I wouldn’t have wanted to buy most of the toys that were on display.

Week 9: Toy for Duchamp – Strawz

My idea for a toy for Duchamp came from watching Alexis one day as we sat on the second floor drinking coffee. He grabbed one of the bubble tea straws, and began using it as a flute, and I was instantly reminded of how children can turn anything into a toy. As much as you can create a toy with a specific use, children can just as easily invent another twenty uses for it. It’s this spirit that I wanted to invoke with my straw. Duchamp said that anything can be art, as long as the artist intends it to be art, names it, and presents it as art. I think anything can be a toy, as long as its use is playful and it gives the user joy. 

In classic duchamp style, my first iteration was just the straw itself. It could be used as finger swords, flutes, a telescope — anything that the user wanted it to be. I then became aware of the small detail in the assignment that required our toys to be characters.

This iteration was focused on making my toy a character. I first thought only to give it eyes, but I then was reminded of how fun bendy straws can be, and what great arms they would make! I cut a few pieces of bendy straws up, hot glued them onto the bubble tea straws, and left smaller parts for the eyes. I then found some model magic and used it to fill in the eyes and used a spare piece of wire for the mouth.

For my first iteration of the poster, I was slightly concerned that my toy was too straw-like. To make it clear that it was a toy, I wanted to show it in use. I tried depicting it as a telescope, a finger sword, and a flute, but the flute just looked like a cigar and the others weren’t very clear. Instead, I decided to just stick with one use case scenario. I also tried to pretend that it was part of a series, where the bubble tea straw was just one many straws in a collection that someone could buy as a toy. I also made the STRAWZ font with bendy straw zig zags as a fake logo.

My final poster was a little less little-kid-ish, since I changed the chalkboard font. I took away the polka-dots because I found them slightly distracting, and then realized that my fist kind of looked like an empowerment symbol instead of a toy. At this point, it was too late, so I just had to go with it. So I supposed I’m empowering children to use their imagination with this similar character toy and play with it however they want (although my suggestions include using it as a flute, as a finger pointer, telescope, or a unicorn horn).

Every Time We (Almost) Touch

You have a special someone in mind. You may have had mutual feelings for each other for years, or maybe their feelings are in question. Either way, there is an undeniable reaction when you are in close proximity to them. Feeling another person doesn’t always have to be by putting skin to skin, and in this project, we intended to replicate the physiological response that accompanies feeling affection towards another person. In other words, we tried to duplicate the feeling of “catching the feels.”

To accomplish this task, we first began by brainstorming. We’ve all been in situations where someone who means something is close to you, and a wave of emotions becomes unavoidable. We decided to focus on the feeling of butterflies/heart racing for this project. To do that, we used an ultrasonic motion sensor, a transistor, a small motor, and an arduino. We soon realized that this project was not drastically different from our last project, the fading light heart whose brightness depended on the pressure applied. Both projects were similar in the sense that they depended on human input in order to show a response. 

With a similar setup to our previous project, we first were under the impression that we would need to plug in our shirt in order to get enough power to make a forceful vibration. We eventually discovered that we only needed a battery to power the motor.

Here is the final wiring of everything on our project. The motion sensor has two blue wires that go from echo and trig, to digital pins 5 and 6. VCC from the motion sensor goes to power, and ground goes to ground. Only the last pin on our transistor is connected to ground. To move this prototype to the next step, we decided to use a perforated board to solder our connections. Before doing so, we thought drawing detailed diagrams of where our connections were. Here are two of those diagrams!

I first began with the image on the left, that included everything in our circuit. Simplifying all the connections really helped us get a clearer image of what was happening, and how we needed to solder things to the perf board. The second diagram was just the connections to the perf board, so we could concentrate on exactly where things would go once there. The third picture is of our semi-final perf board, without the connections that went off of the perf board. Our mistake here, was not fully thinking through how this would sit on the shirt. We only realized this once we began thinking about how to incorporate the wiring onto the shirt. We wanted our sensor to be where the heart of the user would be, so that it would sense when someone was getting “close to their heart.” We also wanted our motor to be near the heart, so that the user could feel the direct implication of the location of another person. Putting the arduino, the sensor, the perf board, and the motor all in one location was a struggle. We soon realized that our motor’s direction did not work with how we soldered it onto the perf board, and if we were to work further on this project, we would have soldered the sensor to the wires to the perf board, instead of the sensor directly to the perf board. To make sure everything stayed in the right location, we put a series of pockets on the inside of the shirt to house everything.

Here is our final shirt, vibrating when it senses something closer than three inches from the heart. We also laser-cut a heart decal to go on the front of the shirt. We originally intended on making a more thought-out video, but because of both of us coming down with some sickness, we did not have the time.

 



//  http://www.arduino.cc/en/Tutorial/Ping


// this constant won't change. It's the pin number of the sensor's output:
const int pingPin = 5;
const int echPin = 6;
const int vibePin = 9;
int buttonState = 0;


void setup() {
  // initialize serial communication:
  pinMode(pingPin, OUTPUT);
  pinMode(echPin, INPUT);
  Serial.begin(9600);
}

void loop() {
  // establish variables for duration of the ping, and the distance result
  // in inches and centimeters:
  long duration, inches, cm;

  // The PING is triggered by a HIGH pulse of 2 or more microseconds.
  // Give a short LOW pulse beforehand to ensure a clean HIGH pulse:
//  pinMode(pingPin, OUTPUT);
  digitalWrite(pingPin, LOW);
  delayMicroseconds(2);
  digitalWrite(pingPin, HIGH);
  delayMicroseconds(5);
  digitalWrite(pingPin, LOW);

  // The same pin is used to read the signal from the PING))): a HIGH pulse
  // whose duration is the time (in microseconds) from the sending of the ping
  // to the reception of its echo off of an object.
//  pinMode(pingPin, INPUT);
  duration = pulseIn(echPin, HIGH);

  // convert the time into a distance
  inches = microsecondsToInches(duration);
  cm = microsecondsToCentimeters(duration);

  Serial.print(inches);
  Serial.print("in, ");
  Serial.print(cm);
  Serial.print("cm");
  Serial.println();

  delay(100);

  if (inches <= 3)
  {
    buttonState = HIGH;
  }
  
  else
  {
    buttonState = LOW;
  }
  
  digitalWrite(vibePin, buttonState);
  Serial.println(buttonState);
}

long microsecondsToInches(long microseconds) {
  // According to Parallax's datasheet for the PING))), there are 73.746
  // microseconds per inch (i.e. sound travels at 1130 feet per second).
  // This gives the distance travelled by the ping, outbound and return,
  // so we divide by 2 to get the distance of the obstacle.
  return microseconds / 74 / 2;
}

long microsecondsToCentimeters(long microseconds) {
  // The speed of sound is 340 m/s or 29 microseconds per centimeter.
  // The ping travels out and back, so to find the distance of the object we
  // take half of the distance travelled.
  return microseconds / 29 / 2;
}