36
1 I590 Advanced Purrototyping Fall 2013 Professor Meowen Bardzell (Shaowen Bardzell) Associacat Instructor Gopinaath Catnabiran (Gopinaath Kannabiran) Associacat Instructor Yue Paw (Yue Pan) Indiana University’s Human-Cat Interaction Design (HCI/d) purrogram purresents: Arduino CirCAT B ard Stepurrnie Louraine (Stephanie Louraine) Angélicat Rosenzweigato (Angélica Rosenzweig)

Arduino CirCAT Board

Embed Size (px)

DESCRIPTION

A toy for humans and their cats made from a cat toy hacked with Arduino. This was in response to the ask: “Hack a toy with Arduino to create a ludic (playful) experience and enhance the existing toy experience." My teammates for this project was Stephanie Louraine. This is one of the projects for Shaowen Bardzell’s Advanced Prototyping course at Indiana University Bloomington.

Citation preview

Page 1: Arduino CirCAT Board

1

I590 Advanced PurrototypingFall 2013Professor Meowen Bardzell (Shaowen Bardzell)

Associacat Instructor Gopinaath Catnabiran (Gopinaath Kannabiran)

Associacat Instructor Yue Paw (Yue Pan)

Indiana University’s Human-Cat Interaction Design (HCI/d) purrogram purresents:

Arduino CirCAT B ard

Stepurrnie Louraine (Stephanie Louraine)

Angélicat Rosenzweigato (Angélica Rosenzweig)

Page 2: Arduino CirCAT Board

2

Hack a toy with ArduinoOur task

Create a ludic (playful) experience.

Enhance the existing toy experience.

Use two inputs and two outputs.

Page 3: Arduino CirCAT Board

3

Even the grumpiest of cats likes feathersCats love to play!

Tardar Sauce, aka “Grumpy Cat”http://www.grumpycats.com/tag/pokey/#.UnaVkBbFpyxUsed under educational fair use

Page 4: Arduino CirCAT Board

4

The Internet is full of cat photos and videosHumans love their cats!

Lil BUBhttp://lilbub.com/image/62344630818Used under educational fair use

Hamilton the Hipster Cathttp://instagram.com/p/eySFqWRLhA/Used under educational fair use

MaruScreenshot from http://youtu.be/TbiedguhyvMUsed under educational fair use

Page 5: Arduino CirCAT Board

5

Animal-Computer InteractionHCI is interested in pets too!

“Important recent research directly related to Animal-Computer Interaction has focussed upon companion animals and has mainly sought to develop interactive technology that aims to foster human-animal interaction while benefitting both sides of the relationship.”

Mancini, C et al. “Animal-Computer Interaction SIG” (2012). CHI ‘12 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems.

“...[Owners] actively assume the role of animals, and infer thoughts and feelings from the animal’s perspective... [Projecting] human capabilities onto pets makes them legitimate participants in social interaction.”

Noz, F et al. “Cat Cat Revolution” (2011). CHI ‘11 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems.

Page 6: Arduino CirCAT Board

6

PetSmart, Bloomington, INResearch: Toy ethnography

We went to a pet shop to see what cat toys already exist in the world.

We were able to explore and play with a lot of different toys to test their movement, weight, etc.

Page 7: Arduino CirCAT Board

7

Cat toys are often colorful and festive, reflecting light and making sounds.

Insights

Page 8: Arduino CirCAT Board

8

Large numbers of cat toys involve some human interaction with the pet, rather than just watching.

Insights

Page 9: Arduino CirCAT Board

9

A large number of cat toys are amusing for humans just as much as cats (obviously cats don’t smoke cigars!).

Insights

Page 10: Arduino CirCAT Board

10

Stephanie’s house, Bloomington, INResearch: Our (feline) users

We studied two cats to see how they like to play, and which types of toys they love best.

Page 11: Arduino CirCAT Board

11

A sassy but skittish 10-year-old lady who loves playing with the ball track.

Kalinka

Page 12: Arduino CirCAT Board

12

An energetic 4-year-old guy who likes to attack feathers.

Chip

Page 13: Arduino CirCAT Board

13

Sketching to explore the spaceConcepting and ideation

Following are a few sketches showing our exploration of the cat-toy interaction space.

Page 14: Arduino CirCAT Board

14

Keep your cat off forbidden areasDisadvantage: Not very playful

Page 15: Arduino CirCAT Board

15

Pressure-sensing lighted cat matDisadvantage: Cats are mostly colorblind and don’t care about different colors of light

Page 16: Arduino CirCAT Board

16

Long-distance cat-cat interactionsDisadvantage: Not sure if cats feel the need to contact distant cat companions

Page 17: Arduino CirCAT Board

17

Training device to make cats into ninjasDisadvantage: If you can’t see your cat, you’re missing out on a lot of the fun

Page 18: Arduino CirCAT Board

18

Our final conceptColorful, playful, and can involve many cats and humans at once

Page 19: Arduino CirCAT Board

19

Arduino CirCAT BoardOur purrototype

Cats love to attack birds, feathers, and any moving objects!

This prototype combines two toys (ball track and stuffed bird) into one playful, colorful toy.

Page 20: Arduino CirCAT Board

20

Tail feather waggingHow it works

The ball in the track triggers a light sensor When the ball’s shadow passes over the light sensor, the servo motor (hidden in the box) wags the bird’s tail feathers

Page 21: Arduino CirCAT Board

21

Bird chirpingHow it works

The ball in the track triggers the flex sensor when it bounces against it

The piezo speaker hidden under the cardboard wire cover makes “chirping” sounds when the flex sensor triggers

Page 22: Arduino CirCAT Board

22

Wiring the prototype

Schematics of our wiring created in Fritzing (fritzing.org).

Page 23: Arduino CirCAT Board

23

The code/*Code adapted by Stephanie Louraine and Angelica Rosenzweigfrom the Arduino Starter Kit example Project 6 - Light Theremin by Scott Fitzgerald*/

#include <Servo.h>

//servo Servo myservo;int val;

// variable to hold sensor value for flexsensorint sensorValue;// variable to calibrate low valueint sensorLow = 1023;// variable to calibrate high valueint sensorHigh = 0;// LED pinconst int ledPin = 13;int flexSensorPin = A0;

void setup() { Serial.begin(9600); myservo.attach(12); // Make the LED pin an output and turn it on pinMode(ledPin, OUTPUT); digitalWrite(ledPin, HIGH);

// calibrate flex sensor for the first five seconds after program runs while (millis() < 5000) { // record the maximum sensor value sensorValue = analogRead(flexSensorPin); if (sensorValue > sensorHigh) { sensorHigh = sensorValue; } // record the minimum sensor value if (sensorValue < sensorLow) { sensorLow = sensorValue; }

} // turn the LED off, signaling the end of the calibration period digitalWrite(ledPin, LOW);}

void loop() { // light sensor read value val = analogRead(5); val = map(val, 0, 1023, 0, 179); myservo.write(val); //read the input from flexsensor and store it in a variable sensorValue = analogRead(flexSensorPin); Serial.println(sensorValue); // map the sensor values to a wide range of pitches int pitch = map(sensorValue, sensorLow, sensorHigh, 50, 4000); // Serial.println(pitch);

if (sensorValue < 290){ // play a variable tone as output tone(8, pitch, 20); delay(200); } else{ noTone(8); } // wait for a moment delay(100);}

Page 24: Arduino CirCAT Board

24

They liked it!User testing

Both cats played with the toy!

(Although shy Kalinka hid from it at first.)

Page 25: Arduino CirCAT Board

25

Humans can play too!User testing

Humans can also get in on the fun, bringing them closer to their pets and increasing enjoyment for everyone.

Page 26: Arduino CirCAT Board

26

Video

See the video of our user testing at: http://vimeo.com/78488147

Scan to view on your phone!

Page 27: Arduino CirCAT Board

27

Making of the Arduino CirCAT BoardConstruction process

Following is a series of photos showing our general process in working with Arduino and our toys.

Page 28: Arduino CirCAT Board

28

Examining the toys to see just how we can hack them

Trying the original toys

For our proof-of-concept prototype, we chose to use only a portion of the available track, just to make sure the sensors were easily triggered.

Page 29: Arduino CirCAT Board

29

Making the electronic components work

Wiring the Arduino

We used online tutorials and the help of our fellow classmates to determine how to wire all of the components.

Page 30: Arduino CirCAT Board

30

Making sure it’s doing what we want it to do

Testing and more testing

Before building the actual prototype, we had to test each component many times to make sure the output was what we expected.

Page 31: Arduino CirCAT Board

31

Hooking the sensors up to the toy

Putting the hacked toy together

We used hot glue to affix the toy together with our various sensors and other electronic components.

Page 32: Arduino CirCAT Board

32

Making sure the cats can’t chew through the wires

Covering the wires

For safety of both our cat users and our toy, we covered the wires and Arduino board using an inexpensive cardboard box that we decorated with paw-print paper.

Page 33: Arduino CirCAT Board

33

Thinking about materials and our processReflection

Originally we planned to add a feather that shakes, and LEDs to attract the cats’ attention depending on where the ball hit. We quickly decided not to use LEDs as it did not add much to the experience, and it would have gone mostlyunnoticed by the cats.

We added a piezo speaker instead to buzz when the ball pressed on it. While tuning the piezo, we started calling the beeping “the bird chirp”, and we tuned it to a noise that resembles a bird. As we were setting the pieces in their final spots, we realized we could integrate a toy bird easily.

Page 34: Arduino CirCAT Board

34

Things we’ll remember in the futureLessons learned

Prototyping is about playingWe eagerly iterated to improve our prototype aesthetically as well as functionally. We believe this was because we were having a lot of fun. Playing with Arduino as we started was essential to getting us excited about the technology, and triggered ideas for possible applications.

Don’t rebuild the wheel (or code)Rapid prototyping embraces the idea of proof-of-concept. It is OK to reuse code and re-purpose existing solutions to fit our concept. As long as it illustrates the interaction and it works, it’s fair game.

Tutorials, Youtube, and other people are keyLeverage existing knowledge for troubleshooting and to gain insights as to why something might not work.

Page 35: Arduino CirCAT Board

35

Things we want to try out next!Ideas for the future

We’d love to play around some more and try out the following with Arduino:

• Something wearable (cat collar Arduino?)

• A cat tracker (to easily find where they’re hiding)

• Embedding sensors in the house (ambient detection)

• Something that we could use on a regular basis (hacking or augmenting daily use items)

Page 36: Arduino CirCAT Board

36

We a-paw-reciate the help from the following:Spurrcial thanks

Austin ToombsIU’s HCI/d 2014 litter (cohort)