FamBam

Made by dbehof, Scarlett wu and Yifan ZHU

Found in DioT 2019: Social Objects - Part 2 · UNLISTED (SHOWN IN POOLS)

run relationships between long-distance family members

0
Introduction

Hmm, that smell of cookies coming out of the oven, fresh cut grass, or flowers in the garden. These are the smells that remind you vividly of specific memories relating to people you love.

Our creative project is one for family members to establish connection times between each other as well as create an olfactory signal. This device uses a scent to signal that the person on the other end is missing you, reminding you that you should probably call your mom and tell her you love her. It also has LEDs on the device to signal if the person is available or busy. A big problem from international families is that the time zones are so spread out, there is a small gap to connect with your loved ones without knowing exactly when they are available. Having these interactions be olfactory and at a glance gives you a sense of closeness to the other person and lets you know that they are thinking about you.

0
The Process


0

Code

0
Code for Fan
//To set up the fan for blowing the scent at a certain time after the essential oil is heated 

//Set up pins
int buttonPin = D3;
int fanPin = D2;
//This maintains the state of the button
int buttonLevel = 0;
//Keep the time of when the button was pressed for duration references
long startedAt = 0;
int pressed = 0;


void setup() {
   pinMode (fanPin, OUTPUT);
   pinMode (buttonPin, INPUT_PULLUP);
  

}

void loop() {

   int buttonState = digitalRead(buttonPin);
   if (buttonState==LOW) {
       startedAt = millis();
       pressed = 1;
   }
   else{
       
   }
   
   delay(100);
   
   if ((pressed == 1) && (startedAt + 10000 < millis())){
      digitalWrite(fanPin, HIGH);
      delay(5000);
      digitalWrite(fanPin, LOW);
      pressed = 0;
   }
   else{
       
   }

  
}
Click to Expand
0
Code for LEDs
// This #include statement was automatically added by the Particle IDE.
#include <neopixel.h>

#define PIXEL_PIN D2
#define PIXEL_COUNT 3
#define PIXEL_TYPE WS2812

Adafruit_NeoPixel strip = Adafruit_NeoPixel(PIXEL_COUNT, PIXEL_PIN, PIXEL_TYPE);
uint32_t n = strip.Color(0, 0, 0);
uint32_t R = strip.Color(200, 0, 0);
uint32_t G = strip.Color(0, 200, 0);
int redPin = D3;
int greenPin = D4;

void setup() 
{
    strip.begin();
    for( int i = 0; i < strip.numPixels(); i++ )
        {
        strip.setPixelColor(i, R); 
        }
    strip.show();
    pinMode(redPin, INPUT_PULLUP);
    pinMode(greenPin, INPUT_PULLUP);
}

void loop() 
{

  int redState = digitalRead( redPin );
  int greenState = digitalRead ( greenPin );
  if(redState == LOW)
  {
     strip.setPixelColor( 2, R);
     strip.show();
  }
  if(greenState == LOW)
  {
     strip.setPixelColor( 2, G);
     strip.show();
  }
delay(500);
}
Click to Expand
0

Final Results

Our proof of concept for the device is split up into the two main parts, the fan and the LEDs. Once these are integrated we will be able to create the final enclosure and further improve upon our design.

0
Use Button to Control the Fan
Yifan ZHU - https://youtu.be/jqiOVOXMo6Y
0
Use Buttons to Control LEDs
Yifan ZHU - https://youtu.be/Nosg9HdJz4c
x
Share this Project

This project is only listed in this pool. Be considerate and think twice before sharing.


Courses

49713 Designing for the Internet of Things

· 18 members

A hands-on introductory course exploring the Internet of Things and connected product experiences.


About

run relationships between long-distance family members

Created

February 12th, 2019