Our kinetic plaything was a dinosaur that had coins in its mouth and would chomp on your hand when you got close to the coins. A photosensor inside the mouth triggered the swift chomp.

Our plaything in action

We were really happy about the reaction that the children had for our plaything. Most of them were very excited, exploratory or curious to what the machine did and almost all the children played with it for more than 2 minutes. I think this was due to:

  1. the machine looks attractive in its appearance The final product had vey nice textures, patterns and color.
  2. it was something easy to comprehend and recognize (dinosaur + coins), allowing the children to interact with it easily.
  3. it made dramatic movements and sounds with the chomping jaw, which triggers multiple senses and creates more interest.
  4. it was a game. Children love games!

Something things that we did not expect from what our device could do was:

  1. The children putting back the coins through the slit in the dino’s neck to prevent being chomped
  2. People were taking the coins from the side of the dino’s mouth to prevent getting chomped
  3. Some people put the coins back from putting their hands underneath the device, “into the dino”
  4. Some started to lift up the dino and play with it
  5. Some made us take the coins instead of doing it themselves
  6. A few kids were absolutely obsessed with just the coins. (A little boy just played with a handful of coins

Overall, there were many surprises on how the children interacted with our device and showing me again how creative their minds are (there are so many ways to approach the same thing!).

Kids intensely playing with our device
Taking coins from the side of the mouth

Our code:

#include <Servo.h&gt;

const int servoPin = 8;
int sensorPin = A0;

Servo Servo4;
int pos = 90;

void setup() {
  Servo4.attach(servoPin);
  Serial.begin(9600);
  Servo4.write(70);
}
void loop() {
  Serial.println(analogRead(sensorPin));
  delay(5);
    for (pos = 20; pos <= 70; pos = pos + 1) { 
    Servo4.write(pos);     
    delay(15);       
  }
  for (pos = 70; pos &gt;= 20; pos = pos - 1) { 
    Servo4.write(pos);   
    delay(15);
    if (analogRead(sensorPin) < 700) {
      Servo4.write(100);
      delay(500);
    }
  }
 }

Solidworks (body parts were mainly rectangles so did not keep):