ColorTalk Headphones

For my final project, I created wearable bluetooth enabled headphones that lets you communicate through color and led animations. Whether it’s to let someone know you’re busy or flirt with someone without using words.

The earbud component is 3D printed and attached to pre-existing bluetooth headphones. Using an Adafruit Feather nRF52 BLE micro controller with the Adafruit Bluefruit LE App, colors and animations for the LEDs can be changed using pre-programmed buttons and a color picker.

Here’s the instructables link for how to make your own!

https://www.instructables.com/id/ColorTalk-Earphones

Some in progress photos:

Headphone circuit diagramIMG_6472

 

 

Pomodoro Lamp

For my final project, I created a Pomodoro lamp, Lucee. You can turn on the light by creating a task on your IOS reminder app. The light is turned on for 40 minutes for you to focus and it turns itself off for the 10 minutes of break time. Once you complete the task, and by hitting the complete button on the app, the light would also turn off.

 

The biggest challenge was working with the servo motor. My original intent to move the light bulb up and down was challenged. I may have to work with a lever or gear chain system to support and trigger the motor.

I enjoyed working with Arduino and the internet of things. I learned how to use the Power Relay and connecting it to AC circuit.

For the next step, I would like to dig into the mechanical engineering of the movement and play with the idea of dimming of the light as the time goes on.

Here‘s the link to my instructable.

Dish Buddy!

Hi all, hopefully most of you are already in bed by now!

Say hello to Dish Buddy:

IMG_6476

Dirty dish buddy is a simple sink grid sitting on top of a push button. This is connected to a WiFi-enabled Arduino hidden within a modest enclosure. When someone places a dish on the sink grid, this presses the button. If the dish stays there for more than 5 minutes, whoever is looking after the sink will get an email alert. Once they see this email, they can track down the culprit before too many dishes pile up.

IMG_6472

IMG_6474

IMG_6464

Here is my video:

And how’s about a link to the instructable.

And my thoughts on the project:

As far as the Arduino aspect, learning about the WiFi capabilities and seeing it work without the aid of a computer was a magical moment. Additionally, I learned how to use a variable to track when the program is in different “states” enabling multiple processes to run in tandem and be intentionally affected when specific events trigger a state change. Also using the Sugru to waterproof the button was a handy tip.

With the video, I learned a lot about how a good, thorough storyboard can streamline the whole video shooting process, making it much more enjoyable when you know everything you have to do from the start. And it makes it much easier in general because you can edit many unnecessary shots before recording a second of footage. Additionally, I was able to experiment hands-on for the first time with high quality video lighting which made a huge difference.

Jumping off questions:

Is this too invasive of a solution?

Would anyone actually be willing to track down a dirty dish culprit if they got an email about it?

Does it increase or diminish feelings of respect in a shared environment?

 

 

 

Watchful Eye – Final

DSC_0033

For my final I designed a Watchful Eye. Taking inspiration from Evil Eyes that protect you from harm, this device is designed with the intent of helping friends and loved ones look-out for on another. It uses the Adafruit io and IFTTT platforms to active the device from your phone so that it can be looking for your safe return. Once you get home it will send a text to your friend that you have made it safely.

Watchful eye from Stephanie Gamble on Vimeo.

 

Please see my instructable below for more information:

https://www.instructables.com/id/Watchful-Eye/

IMG_0976IMG_0941IMG_0906Acrylic layout


#define LED_PIN 13
#define MOTION_PIN 23

//Including NeoPixel Library
#include

#define PIXELS_PIN 13
#define NUM_LEDS 16
#define BRIGHTNESS 50
#define PIXEL_TYPE NEO_GRB + NEO_KHZ800 // Type of the NeoPixels
Adafruit_NeoPixel strip = Adafruit_NeoPixel (NUM_LEDS, LED_PIN, NEO_GRB + NEO_KHZ800);

//Including WIFI configuration
#define WIFI_SSID “Wifi name”
#define WIFI_PASS “Wifi_password”
#define IO_USERNAME “IO_username”
#define IO_KEY “IO_key”

#include “AdafruitIO_WiFi.h”
#include
#include

AdafruitIO_WiFi io(IO_USERNAME, IO_KEY, WIFI_SSID, WIFI_PASS);
#include
#include

// Variables for sensor, arming, feed
int current = 0;
int last = 0;
int armedSensor = 0;
int message = 0;

//Color variables
uint32_t low = strip.Color(0, 0, 0);
uint32_t high = strip.Color(41,196,204);
uint32_t armed = strip.Color(20,20,20);

// set up the ‘Watchful’ feed
AdafruitIO_Feed *Watchful = io.feed(“Watchful”);

//Wifi and IO set up code
void setup() {
//set up LEDs
strip.setBrightness(BRIGHTNESS);
for( int i = 0; i<NUM_LEDS; i++){
strip.setPixelColor(i, low);
}
strip.begin();
strip.show(); //Initialize all the pixels to “off”

//Set up sensor for reading
pinMode(MOTION_PIN, INPUT);
pinMode(LED_PIN, OUTPUT);

// start the serial connection
Serial.begin(9600);

//connect to Wifi
WiFi.begin(WIFI_SSID, WIFI_PASS);
while (WiFi.status() != WL_CONNECTED){
delay(500);
Serial.println(“Connecting to WiFi..”);
}

Serial.println(“Connected to the Wifi network”);
Serial.println(WiFi.localIP());
delay(500);
// connect to io.adafruit.com
Serial.print(“Connecting to Adafruit IO”);
io.connect();

// wait for a connection
while(io.status() < AIO_CONNECTED) { Serial.print(“.”); delay(500); } // we are connected Serial.println(); Serial.println(io.statusText()); } //Main functions void loop() { // io.run(); is required for all sketches. // it should always be present at the top of your loop // function. it keeps the client connected to // io.adafruit.com, and processes any incoming data. io.run(); // set up a message handler for the feed. // the handleMessage function (defined below) // will be called whenever a message is // received from adafruit io. Watchful->onMessage(handleMessage);

//Tells you device is on standby and pixels off
if(message == 0 && armedSensor == 0){
Serial.println(“Unarmed – Standby”);
for( int i = 0; i<NUM_LEDS; i++){
strip.setPixelColor(i, low);
//strip.show();
}
strip.show();
delay(10000);
}

//Arms sensor when widget button is pressed
if(message == 1 && armedSensor == 0){
Serial.println(“Arming sensor”);
for( int i = 0; i<NUM_LEDS; i++){
strip.setPixelColor(i, armed);
//strip.show();
}
strip.show();
armedSensor = 1;
delay(2000);
}

//If armed and senses motion, turn on LEDs
if(message == 1 && armedSensor == 1){
// grab the current state of the button.
if(digitalRead(MOTION_PIN) == HIGH){
current = 1;
Serial.println(“Motion detected!”);
for( int i = 0; i<NUM_LEDS; i++){
strip.setPixelColor(i, high);
//strip.show();
}
strip.show();
delay(5000);
Serial.println(“Disarming sensor”);
armedSensor = 0; //disarms
message = 0; //resets IO feed
for( int i = 0; i<NUM_LEDS; i++){ strip.setPixelColor(i, low); //strip.show(); } strip.show(); } delay(1000); armedSensor == 0; //Serial.println(“Unarmed”); } } // this function is called whenever a ‘Watchful’ message // is received from Adafruit IO. it was attached to // the Watchful feed in the setup() function above. void handleMessage(AdafruitIO_Data *data) { message = data->toInt();

//if (Watchful == 0){ //light up the LED
Serial.print(“received <- “);
Serial.println(message);
//}

}

GEOFF – the key reminder

https://www.instructables.com/id/GEOFF-Never-Forget-Your-Keys-Again/

So the key reminder is here. It combines the function of reed switch, distance sensor, speaker and IO provided by Adafruit. It simply reminds you when you open the door but forget to take the keys. More details can be found in the Instructables link above.

It’s a box (and Allan doesn’t like it) where you can put your keys on it. No it’s definitely not the best looking thing I have ever made, but hey, it means I have a lot of space to improve in the future. And giving more time (two weeks I spent on this project, one and half of them spent waiting for parts being delivered. Good job UPS!)

On Time Intelligent Light Switch

Presenting the final for my On Time Intelligent Light Switch. The process was a pretty fun ride with a few twists, turns, and mishaps along the way. The Code was more complex than I expected going in. I AM happy with how its functioning, but I am learning so many different ways of getting to the same result, that I believe this code could be written in a few different ways which would leave it more open to easier modifications and distinct separate states of operation.

The final cluster of components is also larger than I originally envisioned. A little too large to cleanly fit into the wall as an at home switch replacement. Have already been looking into some alternative boards to do the dimming which I hope will drive the next update to the concepts to actually find a home within the walls of my home.

My very first Instructable post can be found below.  : https://www.instructables.com/id/On-Time-Light-Switch

Some Photos from the construction process. :

Wiring Diagram.jpeg

Tools.jpg

Parts1.jpg

3b-Wired Breadboard.jpg

5-AC in Wallbox.jpg

6a-All Wired.jpg

6b-All Wired.jpg

9-Finished.jpg

 

 

Final project: Fridge Guard

Sometimes when I take a lot of things out of the fridge, I have no free hand to close the door and then the door is just left open for a long time. Sometimes when I use too much strength to close the fridge door, it bounces off but I can’t notice it. When I realize it is still open, several hours or maybe the whole night has passed by. The food went bad and a large amount of electricity was wasted.

IMG_1291

The Fridge Guard is a close door reminder designed for people who do not notice the fridge door is still slightly open or may forget to close the fridge door. The reminder can stick on the door and one of the polar bear’s hand will stick on the frame of the door, detecting whether the door is being left open and no one notices it.

It uses the Force sensor, IFTTT and Adafruit IO to gather the information from your fridge and sends a reminder to you through the message and piezo buzzer.

IMG_9744

Here is the link of Instructables tutorial.

Here is the video:

The whole process to making Fridge Guard was challenging and also interesting and I really enjoyed that. At the very beginning, I used temperature sensor to detect whether the door is open or closed. After I built the circuit and test it at fridge, it didn’t change the temperature when the fridge door was slightly open. So I changed to force sensor, I also met some problem here. Because the sensor is too thin, when the door is closed, there is no pressure on the sensor. Finally I found that I need to make it thicker so that the sensor can detect the pressure when door is closed.

For the shape of Fridge Guard, I made the design and shape to fit the context. Polar bears live in cold area, so I chose this shape. I used to put them outside the fridge at the side of door, but it not quite fit well. So I chose to put it inside the fridge.

For the future, I think I want to change the material of Polar bear to soft rubber which is more fit for the environment inside the fridge.

Final Project: Hey Pillow

 

For the final project, I have decided to design a pillow that you can give to that special someone that constantly struggle to get out of bed and is late to classes, meetings, and dates.

Introducing the HEY Pillow.

DSC06017

It uses the ESP8266 Board to connect to the Wi-fi so that you can receive a notification that someone is still on the pillow and also send a trigger back to the pillow to initiate the Buzzer that will wake that person up.

Screen Shot 2018-12-02 at 3.41.43 PM

Screen Shot 2018-12-02 at 3.41.21 PM

Here is the link to the Instructables of the steps it took to building the HEY Pillow Prototype

Instructables

Here is the Video

Overall I throughly enjoyed the whole process of building HEY Pillow. Definitely there were a lot of moment where I almost wanted to give up because the code just would not work the way I wanted it to. This project has taught me to be more confident in tackling in brand new areas such as Arduino and better problem solving techniques. I can confidently say that I can make a light blink and buzzer make noise and create a Hey Pillow. It was a lot of fun.

Going forward I want to make the branding and packaging more refined and through the story can bring out interest of the Pillow more.

DSC0603220181202_152613

DSC06031pillow.843

The Bonded Brothers

See the Instructable!

My project is a pair of brothers that can sense and reciprocate each other’s feelings, no matter how far they are apart.

If one of the brothers is touched, he expresses his feelings in the form of a light or a vibrate. Because the bond between siblings is so strong, however, those feelings get reci-procated on the other doll. In this way, whatever you do to one doll is felt by the other.

These little guys can be shared between any pair of people who share a bond like the brothers do, that way, no matter how near or far, you can always let them know you’re still bonded.

Supplies:

  • single-strand insulated wiring (get different colors)
  • 100-1K Ohm resistor
  • NPN transistor (PN2222)
  • heat shrink tubing
  • breadboard prototyping wires
  • solderless breadboard
  • perma-proto board
  • lipoly battery
  • usb cable
  • adafruit feather huzzah
  • flesh-colored felt (at least 1 yard)
  • cotton jersey fabric (at least 1 yard)
  • cotton twill fabric (at least 1 yard)
  • thread
  • sewing needle(s)
  • eye-colored buttons
  • hair-colored yarn

Tools:

  • pencil
  • compass
  • ruler
  • cutting mat
  • wire strippers
  • scissors
  • sewing machine
  • flush wire snips
  • solder
  • soldering iron
  • adjustable desk lamp
  • third hand tool
  • heat gun or lighter
  • tape

 

IMG_3487

 

IMG_3518

 

IMG_3488

 

IMG_2880

 

IMG_3489

 

IMG_3495

 

IMG_3491

 

IMG_3492

 

IMG_3499

 

IMG_3504

 

IMG_3506

 

IMG_3505

 

IMG_3509

 

IMG_3511

 

IMG_3490

 

IMG_3508

 

IMG_3507

 

IMG_3519

 

IMG_3513

 

IMG_3517

 

IMG_3525

 

IMG_3526

 

IMG_5939 2