Cat + Birdie = Meeting Time

Made by Dan Porter, lukem1, meilinz and Qiao

Display motion when the device owner has a calendar event beginning soon. 15 minutes prior to an event, a pendulum with a cat on the end begins to slowly move up toward a little bird in a tree. At the meeting start time, the cat will reach the bird and a Neo pixel ring illuminates bright red lights near the bird. It is glance-able and actively displays since it is synchronized to the owner's online calendar. Make sure you get to your meeting on time or you will see the

0

Device Description

Display motion when the device owner has a calendar event beginning soon. 15 minutes prior to an event, a pendulum with a cat on the end begins to slowly move up toward a little bird in a tree. At the meeting start time, the cat will reach the bird and a Neo pixel ring illuminates bright red lights near the bird. It is glance-able and actively displays since it is synchronized to the owner's online calendar. Make sure you get to your meeting on time or you will see the 

0
IoT Ambient Devices
Luke Miller - https://vimeo.com/203310198
0

Development Process

The design team conducted a brainstorm session on connected ambient device options.  Ultimately the team decided to develop a device that would give visual information about a person's calendar in a very creative way.  The team came up with the 'cat catching the bird' concept and went to work sketching, creating CAD, wiring up, and coding.



0

Storyboard

1. Add events on Google calendar

2. Automatically extracted into our device

3. IoT begins to work at 15mins before the event. Cat moves, NeoPixel turns white.

4." Hurry! I will be late!"

5. Meeting time! Cat catches the bird and NeoPixel turns red.

0

Bill of Materials

1- Neo pixel ring

1- 3001HB Servo Motor

1- Particle Photon

1- Breadboard 

1- Cardboard, paper, glue, construction materials

0
#include <neopixel.h>

// IMPORTANT: Set pixel COUNT, PIN and TYPE
#define PIXEL_PIN D0
#define PIXEL_COUNT 16
#define PIXEL_TYPE WS2812

Adafruit_NeoPixel strip = Adafruit_NeoPixel(PIXEL_COUNT, PIXEL_PIN, PIXEL_TYPE);

int servoPin = A5;
Servo myServo;
int servoPos = 0;
int pos = 0;
int count = 9000;
int ledPin = D1;

void setup() {


  // attaches the servo on the A5 pin to the servo object
  myServo.attach( A5 );

   //Register our Particle to control the servo
  Particle.function("servo", servoControl);

  // Keep a cloud variable for the current position
  Particle.variable(  "servoPos" , &servoPos , INT );

  Particle.subscribe("catdeath", catswing);

  strip.begin();
  strip.show();

}


void loop(){

/*if (servoPos == 15 )
  {
    catswing();

  }

}*/

void catswing (*const char *event, const char *data){
    pos = 78;
    //servoPos = 16;



    for(int i=0; i<65; i++)
    {
      uint32_t j;
       for(j=0; j< strip.numPixels(); j++)
       strip.setPixelColor(j, 255, 255, 255 );e
       strip.show();

      myServo.write(pos);
      delay(1000);
      pos++;



    }
    uint32_t k;
     for(k=0; k< strip.numPixels(); k++)
     strip.setPixelColor(k, 255, 0, 0 );
     strip.show();
    delay (5000);

    myServo.write( 78 );

    uint32_t l;
     for(l=0; l< strip.numPixels(); l++)
     strip.setPixelColor(l, 0, 0, 0 );
     strip.show();

    // return 1;
}


int servoControl( String command )
{
   servoPos = command.toInt();
   // Make sure it is in the right range
   // And set the position


   // Set the servo


   // done
   return 1;
}
Click to Expand
x
Share this Project


About

Display motion when the device owner has a calendar event beginning soon. 15 minutes prior to an event, a pendulum with a cat on the end begins to slowly move up toward a little bird in a tree. At the meeting start time, the cat will reach the bird and a Neo pixel ring illuminates bright red lights near the bird. It is glance-able and actively displays since it is synchronized to the owner's online calendar. Make sure you get to your meeting on time or you will see the

Created

February 9th, 2017