Introduction: Interactive Bee Game

With the support of Prof. Kylie Peppler and Prof. Joshua Danish we (Benjamin Zaitlen,Alexander Jacobs, and Diane Glosson) built a electronic prototype of the Bee Sign game (explained on the next page).  We used common fabric materials as well as the LilyPad Arduino electronic development platform. 

A paper on this game was presented at the 9th International Conference on Interaction Design and Children, Barcelona, Spain.  You can download the paper by clicking here.

This material is based upon work supported by the National Science Foundation under Grant No. 0855886 to Kylie A. Peppler. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.

Step 1: The Game

The Game
During the game children wear a Bee puppet wrist band with embedded electronics to allow for game play.  The children have a finite amount of time (45 seconds) to collect and deposit nectar and a finite storage capacity of nectar (3 units). During the allotted time, a child runs from flower to flower and tries to collect nectar. A child can collect one unit of nectar from any given flower (if the flower is not empty) and will also be informed as to how much nectar remains inside the flower (via LED Array 1). A child may collect nectar from the same flower more than once. Once the child’s nectar stomach (represented via a LED array 2) has been filled, he or she returns to the hive and deposits the stored nectar. If time runs out prior to depositing nectar, the nectar is lost and is not counted. When a child’s turn is over, marked either by running out of time or by making a successful deposit, the bee puppet is passed to a teammate. (Ultimately, we hope to provide each child with a puppet in the future implementations.) As the child relinquishes the puppet, the child may attempt to inform the next teammate, through nonverbal language, of the location of any high-yield flowers. After all children have had a turn, the team with the most nectar wins, as they are most prepared for winter.

Step 2: Setup and Foundations

The BeeSim game uses the LilyPad Arduino platform, a microcontroller board designed specifically for use with e-textiles, developed by Leah Buechley and made commercially available through SparkFun Electronics. The LilyPad, which can be programmed with the Arduino programming environment, features large conductive pads with holes through which conductive thread may be sewn and connected to wearable objects, such as LEDs, power supplies, and a variety of sensors.

The BeeSim puppet, called the “ForagerBee”, consists of one LilyPad Arduino Micro-Controller, one XBee 2.5 2mW Wireless Module and LilyPad XBee Breakout Board, two sets of 3 LEDs, one Tri-Colored LED, one regulated power supply, one resistor, and two pieces of conductive fabric shaped into a child-sized glove (see picture below). The XBee Wireless Module allows for wireless communication between the puppet and another XBee attached to a computer embedded within a giant cloth BeeHive. During gameplay, students wearing the bee puppets could monitor, through a set of three LEDs, the amount of nectar currently stored on the bee, while an accompanying set of LEDs displayed the amount of nectar in each flower. 

We represent the finite energy levels of bees as they travel between the hive and a flower as an RGB LED, moving from green to red to indicate to students when they needed to return to the hive. 

To simulate a field of flowers, a unique resistor was embedded in eight fabric flowers with two pieces of conductive fabric attached to the ends of the resistor. An additional resistor was placed at the BeeHive.  When the Bee Puppet comes into contact with the conductive fabric on the flower, the LilyPad on measures the voltage across the resistor. Each flower has a unique resistor and therefore a unique voltage. This voltage is used in our software to identify which flower the bee was touching. As the child collects nectar, the software notes the time and flower ID of the collection. If the child returns to the hive before time ran out, the total amount of nectar for the team increased by the amount of nectar currently stored on the bee. As the amount of total nectar increases, a web page displays the new changes.

Step 3: Construction of Bee Puppet

Let's start with some nice crafting!

For the Bee Puppet you will need:
Black Blizzard Fleece Fabric (bee head/body - JoAnn Fabric)
White Pearlized Sheer Crinkle Fabric ( bee wings - JoAnn Fabric)
Fusible Interfacing – Pellon JAS P44F (for inside wings – JoAnn Fabric)
Black Felt (8 ½” x 11 – battery holder & reinforce antennas and proboscis inside
½ of QuickShape Plastic Canvas 3” Globe (thorax shape)
8”- ¾” Wide Black Velcro (to secure to glove or wristband and battery holder)
1 - Darice #14 soft mesh perforated plastic canvas (8 ¼ x 11 sheet – abdomen shape
and to secure battery holder)
1 - Wright Iron On Hem Tape – White (to hold wire in wings for shape and stripes)
2’ - White wire (inside wings for shape)
2 - Darice Black Chenille Stems 12” x 6mm (pipe cleaners) (antennas & proboscis)

2 - DARICE Black 7mm pom pom (top of antennas)
2 - 18mm Sewable Google Eyes
Yellow Fabric Marker (to color white hem tape stripes)
Glue gun(glue on pom pom and to reinforce antennas and proboscis inside puppet)
White Thread
Black Thread
Polyfill (any type) (for head and end area)

The bee puppet was designed with young children in mind, starting with the large googley eyes, to the soft fabric material, the iridescent shimmering wings and the reinforced antennas and proboscis. The bee is made from two cut pieces of black fleece material, one for the head and another for the body. Use two strips of white iron on hem tape on the abdomen for the strips, then color with a yellow fabric marker. The heads shape is held by inserting fiberfill through the neck cavity. The head also has another opening on the top back for the insertion and easy removal of the RGB LED.

The body, although rounded on top, is hollow to allow for easy access to the Lilypad components on the glove. In order for the body to hold a round shape various forms of plastic are used, including half of an ornament globe for the round thorax, with slots cut for the three LEDs sewn on a 1 3/8” diameter black felt button, the ¾” RGB black felt button and the two wings. The abdomen shape is held by tacking in a piece of perforated plastic canvas (used in needlepoint). The holes are not only used for easy tacking to the fleece material to hold the shape, but also allows a quick and sturdy backing for the stitch tacking of the battery holder.

The wings are constructed with a layer of interface ironed onto the pearlized sheer material, then cut out in wing form, sewn together (except the open end). The wing shape can be reinforced by ironing in pieces o f white hem tape on the inside then running a small white wire through the opening in the hem tape’s two tacky strips and securing the wire at the base opening of the wing. This will allow for tacking the base wing opening through the hole in the plastic canvas that can then be tacked to the inside of the plastic canvas globe for a secure wing.

Lastly, the two antennas and proboscis were inserted through holes/seam, bent flat and sewn to the fleece material on the inside, then covered and supported by an additional small oval dot of felt secured with a low temperature glue stick. This type of layering holds the chenille sticks firmly in place even if the children bend the antenna or proboscis.

Step 4: Flower Construction

We used prefabricate fabric/plastic flowers and attached a hand embedded resistor.  To embed the resistor on the flower, first cut a circular piece of felt.  Next, attach two large pieces of conductive fabric tape.  Make a small curl on both legs of the resistor and using conductive thread, sew the resistor to the fabric tape.  Lastly, sew (using regular thread) around the felt and cinch the disc into a sphere.  Tie of the string and fix to the flower.  We made 7 flowers and 1 Hive Hexagon.  The flowers and hexagons all have a unique resistor.

Measuring the voltage of the resistor is accomplished by the well established 'voltage divider'.  Z1 in our case is a 10K  resistor soldered from the PLUS pin to a0 and Vin is 5V.  Z2 will be the resistor in each of the flowers and the hive.

Step 5: Electrical Connections

Although we soldered most of the electronics together, all components (with the exception of the finger-splints) can be sewn together.  We soldered due to inexperience and time constraints to finish the prototype.

The connections are not too complicated.  In the first image, notice the lines made up of circles attached to the RGB LED and the set of 3 LED that will rest on the Bees stomach.  These circles represent insulated lines.  The Bee puppet is designed to sit on top of the glove and hide the electronics from the user.  Therefore, the RGB LED and set of 3 LEDS that rest on the bee's stomach are free floating and must be insulated.  Because we used wire the lines were already insulated, however, if you are sewing, long cylindrical beads would also work.

Electronic Components:
2x Finger Splints
LilyPad MicroController 328
LilyPad XBee Breakout
XBee 2mW
LilyPad LiPower
Lithium Ion Battery
6xLilyPad white LEDs

First, connect the power lines.  Sew/Solder the PLUS and MINUS lines from the LiPower board to the LilyPad XBee Breakout as well as the LilyPad Arduino.  Next Connect RX (LilyPad) to TX (LilyPad XBee) and TX (LilyPad) to RX (LilyPad XBee).  Connect the positive side of three LEDs to pins 2,3, and 4. and then connect all the minus sides together and attach to the minus pin of the LilyPad.  Attach an RGB LED to pins 9 (green), 10 (blue), 11 (red), and attach the + pin to pin 12.  (Note: in software we can declare pin 12 always HIGH).  Almost done!  Next connect the last 3 LEDs to pins 5,6 and 7 and connect all the minus sides together and attach to pin 8.  (Note: again, in software we can declare pin 8 always LOW). 

To setup the voltage divider, solder a 10K resistor from a0 to plus.  Then solder two wires to pins a0 and 13.  (Note: again, in software we can declare pin 13 always LOW).  Finally, attach the wires, using conductive tape, on pins a0 and 13 to the finger splints.

Step 6: Code and Download

The software required for such a game is relatively simple:

Pseudo Code for Forager Bee:
  Start Timer Count Down
  Display Current Nectar Amount
  Read Voltage Value From Flower
  Send Voltage Value To BeeHive
  Receive Nectar Amount from BeeHive
  Display Nectar Amount for Flower and current amount of nectar in honey stomache using LEDs
  Check Time Left:
    If Time Left: Continue
    Else: Stop and Reset at BeeHive

Pseudo Code for BeeHive:
    Set Nectar Amounts For Flowers
  Get Flower Voltage Value From ForgarerBee

We used the XBee Java API developed by Andrew Rapp.  Please see our other instructable on configuring XBees for API Mode.

I have included zip files for both the BeeHive and the GathererBee.  The BeeHive was written with the JAVA API and uses SWING to display and allow editing of current nectar Values.  Instructors have the option at any time to cause drought or deluge. Lastly, I also included a small php script to display the data on a  web page.

Step 7: Movie and Screen Shots