Monica’s Mood Tracker Blog Submissions

Group project by: Nihaarika & Monica

Short project description

The IoT mood tracker is a device that provides feedback to student advisors on how a group of students is feeling. Graduate school can be extremely challenging. Sometimes it gets so bad that students get burned out. What if student advisors knew that students were not doing well before they reached the burnout stage?

The IoT Mood tracker uses a suite of Adafruit products, Adafruit IO and IFTTT to invite passersby to hit a physical thumbs up, thumbs down, or thumb level that represents the mood they are feeling. When any one thumb has been pressed a certain amount of times, the device sends an email to a student advisor.

Watch the IoT Mood Tracker in action here:

Link to Instructables:

https://www.instructables.com/PoD-Mood-Tracker/

A sample social media message:

Have you ever got burnt out with schoolwork? This IoT Mood Tracker helps student advisors know how a student cohort is doing through out the semester in order to keep burnout at bay. The device uses thumb-shaped buttons, electronics and the internet to record student moods and relay the information to school administrators.

Blogs we sent our Pitch to

Hackaday
Hackaday
Arduino Education
Arduino Education
Adafruit Blog
Adafruit

https://www.hackster.io/news/icon-based-student-mood-tracker-adecc1431de1

Monica and Niha’s Final Project Progress

Story board

Circuit Prototype

Questions for Becky:

  • How do we wire the Ultrasonic distance sensor? (Don’t see 5V nor the data pin)
  • Where is the 5V pin in the Huzzah?
  • Couldn’t find the normal NeoPixel strip in Fritzing.org, only found this weird one. Do you know where to download the normal NeoPixel strip Fritzing library?
  • Couldn’t find a simple LED strip on Fritzing.org. Do you know were these might be?
  • Why is the code not connecting to WiFi? It doesn’t even show up on the Serial Monitor
  • Can we cut a metallic breadboard into smaller parts? Or are the smaller metallic breadboards?

Coding Progress

I set out to get the Huzzah+pushbutton+LED+NeoPixel circuit from Lesson 5, but couldn’t make it work, so I had to rewind all the way back to the simple Huzzah+pushbutton+LED sketch. After a long time I figured out the issue and got the simple sketch to work on a fresh breadboard. I also successfully had it connect to WiFi and got it to send data to Adafruit IO.

However, when moving on to the sketch with the NeoPixel, the LED turns on fine but it doesn’t connect to WiFi anymore. This shows on the Serial Monitor.

Prototype Form

3D render made by Niha

Step-by-step tutorial draft

Link to google doc

Instructables profile

https://www.instructables.com/member/monacacha/

Monica’s IoT #2 and Bill of Materials for Final Project

IoT Homework

My Huzzah is connecting to the internet now! I also successfully got the Adafruit IO feed working when I pressed the switch in the LED circuit.

and then the IFTTT part also worked and I got an email!

Still gotta figure out the copy, lol.

Tilt switch

Succeeded, though not without some trouble obviously.

Oops, spammed myself. Clearly working though.

PIR sensor

Note: learned in class that it’s not really a distance sensor but an infrared sensor. So gotta test it again inside a box.


Final Project: Mood tracker

Concept

Niha and I will be working on this project together. We want to create a mood tracker for all the POD students to record how they are feeling at the beginning of each day. Our board will have an LED strip light embedded in it that lights up each time you walk past it with the PIR motion sensor to prompt you to record your response. The board will have a thumbs up, thumbs middle or thumbs down that students can press to record how they are feeling with the feedback of a lite button.

Circuit diagram

We will make the circuit on fritzing.org later on

Bill of materials

Breadboard (In our Kit)
3 push buttons
PIR Motion sensor (In our Kit)
LED strip lights 
Soft Neo pixels
PLA white filament 
Poplar Wood (VFL)
Power adapter (In our Kit)
Silicone coated wires (VFL)
Huzzah (In our Kit)
Solder(VFL)

Monica’s IoT homework and final project ideas

Ideas for the final

1. “Have a meal” display

This is a display on your snack pantry/drawer door that screams at you to go have a meal when you try to open the pantry during meal times.

It would connect to the internet to know the time, and would have a motion sensor as an input. The output would be either a message that says “HAVE A REAL MEAL, NO SNACKING”, or a sound bit that says something fun like “Nah! Nope! You go to that fridge and have a real meal right now!”

2. Anti-overwhelm trash can

Every day we get at least a few things thrown onto our plates. What if we could off-set this continuous burden by literally throwing out something, anything, at the end of the day?

The anti-overwhelm trash can is a trash can with a smart scale at the bottom. The scale senses when a new piece of trash is thrown out, and notes down the weight of that piece of trash. The trash can will then connect to the internet and send a message to the user telling them how much weight they’ve gotten off of their shoulders that day!

3. Student mood clock-in

Students often don’t communicate how they are feeling to their teachers or academic advisors. Often it is out of shame, or because there is no system to give this feedback. Eventually, students get overwhelmed and begin getting sick. This is when the faculty starts noticing that things are off. What if we could shorten this delay in student-mood feedback and prevent burnout before it even happens?

The student mood clock-in is inspired by the now ancient act of clocking in at work. The students essentially clock-in their mood at the beginning of the day, and an internet-connected system then collects the data on a spreadsheet. This data can get get charted into graphs for easier visualization of unhappiness and burnout trends.

Arduino IoT homework

Note: Having issues connecting the huzzah to wifi. Will try again after our 5-8pm class ends!

Monica’s Halloween Costume

Let It Rain: A wearable vest for a rainy day

I’m tired of hearing all about ‘sunny LA’. I’m stuck in the concrete jungle and I wonder, how come rain never gets good press? This halloween I wanted to let rain take the stage and strike a pose. Hopefully this gets us more The Notebook, Singing in the Rain, and Shawshank Redemption moments. Plus, blue is the best color ever.

Materials

Polyfill, black velvet fabric , black translucent fabric (to conceal and protect LEDs) Adafruit GEMMA, Adafruit Soft flexible NeoPixel strip (50 NeoPixels), 1200 mAh LiPoly battery

Circuit and Soldering

To see the final code for the rain best, click here.

I would definitely add more light segments to the code as well as a button switch through them and turn the LEDS off altogether.

I would also separate the LED segments and have them connect with JST-connectors instead of soldering the entire circuit shut. This way I wouldn’t have to pull out the battery every time.

Circuit working!

Making it wearable

Sewing the silk fabric onto the velvety fabric was a huge challenge. Sewing is harder than I thought!

The vest is light, relatively comfortable and it’s gotten really good feedback. People like the velvety back and how the umbrella helps describe what the costume is about.

Because this project was done in such a short amount of time, I opted to staple the LED strip onto the fabric to keep them in place, instead of hand-stitching it. However, I did accidentally cut through one of data lines of the strip when stapling it. Yikes! I had to cut through my base fabric and carefully re-attach the data wire.

I was extremely happy when the sewing was done. YAY!

Before and after of this not-so-clear umbrella

Party Time!

The final photoshoot: bringing some joy to this rainy costume with a big smile!

Acknowledgements

Thanks to Becky Stern for her guidance with the coding program and for lending me her umbrella. Thanks to Nihaarika Arora for partnering up for some coding troubleshooting. Thanks to Helena Yang for lending her sewing tools and expertise. Thanks to all my classmates for raising up the bar very high!

Monica’s Halloween Costume Progress

Rain Costume

The intention of this costume it to go with the flow on a rainy day.

Circuit

I decided to simplify my code and just use the program I called ‘thunderous rain’. It is very similar to the ‘rain’ program from the Florabella.

The code on my Tinkercad doesn’t run properly so I’ve added it here.

// NeoPixel Ring simple sketch (c) 2013 Shae Erisson
// released under the GPLv3 license to match the rest of the AdaFruit NeoPixel library

#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
  #include <avr/power.h>
#endif

// Which pin on the Arduino is connected to the NeoPixels?
// On a Trinket or Gemma we suggest changing this to 1
#define PIN            A1

// How many NeoPixels are attached to the Arduino?
#define NUMPIXELS     50
#define BRIGHTNESS 30

// When we setup the NeoPixel library, we tell it how many pixels, and which pin to use to send signals.
// Note that for older NeoPixel strips you might need to change the third parameter--see the strandtest
// example for more information on possible values.
Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);


void setup() {
  strip.setBrightness(BRIGHTNESS);
  strip.begin(); // This initializes the NeoPixel library.
  strip.show(); // Initialize all pixels to 'off'
}

void loop() {
  rain();
  delay(20);

  delay (2);

}

void rain() {
// Create an array of 20 raindrops
  const int count = 40;
  int pos[count];
// Set each rain drop at the starting gate.
// Signify by a position of -1
for( int i=0; i < count; i++) {
pos[i]=-1;
}
// Main loop. Keep looping until we've done
// enough "frames."
boolean done=false;
int counter = 0;
while(!done) {
// Start by turning all LEDs off:
for(int i=0; i<strip.numPixels(); i++)
strip.setPixelColor(i, 0);
 
// Loop for each rain drop
for( int i=0; i < count; i++) {
// If the drop is out of the starting gate,
// turn on the LED for it.
if( pos[i] >= 0 ) {
strip.setPixelColor(pos[i], strip.Color(0,0,127));
// Move the drop down one row
pos[i] -= 7;
// If we've fallen off the strip, but us back at the starting gate.
if( pos[i] < 0 )
pos[i]=-1;
}
// If this drop is at the starting gate, randomly
// see if we should start it falling.
if ( pos[i] == -1 && random(40) == 0 && counter < 380 ) {
// Pick one of the 6 starting spots to begin falling
pos[i] = 143-random(6);
}
strip.show();
delay(2);
}
 
}
}

Vest

I found a pattern for a kid’s vest online, printed it at 140% and ta-da it’s my size!

I then made an outline of the vest on chipboard and laid out my NeoPixel strip on top. I could visualize where they would be inside the vest more easily. This also helped me realize that I need to make a little pocket to hold the Gemma and the battery within the costume.

Below is the final circuitry working!

Next Up

Next up is sewing the vest. After that, I will make the clouds out of poly-fill. I found this article online.

Step-by step to do’s:
  • Cut fabric: front, back, pocket
  • Sew LEDS to lining. Sew pocket to lining. Might have to make a hole to have the wire go thorough.
  • After testing circuit, sew the lining vest pieces to the see-through vest pieces
  • Sew complete vest pieces to back of vest
  • Make clouds and attach to vest
  • Take pictures
  • Go parade

Monica’s Halloween Costume WIP

Let It Rain: A wearable vest that emulates a rainy day

Sketches

Pseudo code

Six LED strips are laid out in parallel, three on each of the front sides of the vest. The LED strips turn and off in a manner that simulates a raindrop falling down. First LED turns on (blue color), a split second later, the second LED turns on, and the first LED turns off. Then the thirds LED turns on and the second turns off, and so on. When the light reaches the final pixel of the strip, it goes back to the top.

This happens on all 6 strips. The only difference is that they don’t all start the loop at the same time, so as the rain to look like it is falling organically.

Extra fun stuff (optional): the rain gets ‘heavier’ or ‘lighter’ with the turning of a sensor (a potentiometer?). Heavier means that the raindrops would fall faster, which in code would mean that the delay between the lighting of each subsequent LED would be less.

Materials

Polyfill, black velvet fabric (base), black transluscent fabric (to conceal and protect LEDs) Adafruit GEMMA, Adafruit Soft flexible NeoPixel strip (50 NeoPixels), 1200 mAh battery

Early Circuit Tinkering

Ideally the circuit has 6 independently pinned strips.
Version 1.0

After lots of research, I thought I needed something similar to the ‘simple’ sketch in the Adafruit NeoPixel library. I added a ‘pixels.clear’ function to the end of the code to make it look like rain. However, I then had trouble attaching more NeoPixel strips and having the same code run simultaneously, instead of having only one strip light up at a time. See the Tinkercad circuit here.

Version 2.0

The “Florabella” rain program kind of did the job for the 2-strip set up I had made. Then it completely stopped working when I added 6 strips. See new circuit with 6 strips here.

Monica’s NeoPixel Circuit and Halloween Kickoff

NeoPixel Exercise

Halloween Costume Ideas

Idea 1 – Dancer’s Magic Sleeves

The idea here is that the fairy lights or LED strips hidden underneath a mesh (ballerina-style sleeves) turn on when an accelerometer detects motion.

Shopping list: Accelerometer, sleeves, fairy lights (I already have some, must check that I have enough), TBD with Becky: battery pack needs and resistor needs

Idea 2 – Fairy wings

A similar idea here. A series of fairy lights or LED strips will be sewn onto fairy wings. The lights will light up when they detect light. The photo-sensor will be located on a tubular belt that is attached to the wings and through which any wires run.

Shopping list: Photometer (I already have one, but must test that it works), sleeves, fairy lights (I already have some, must check that I’ve enough), fairy wings, belt and straps. TBD with Becky: check battery pack needs and resistor needs

Idea 3 – Rain vest

Several fairy lights or LED strips will be hanging from the shoulders of a vest. Over the starting points of these lights will be some poly-fill or fluff that looks like clouds.

Shopping list: Black vest, alternatively I can make it myself, fairy lights (I already have some, must check that I’ve enough), poly-fill. TBD with Becky: check battery pack needs and resistor needs

Darkie – Monica’s Plush Night Light

Were you ever scared of the dark?

Chances are that you were. Fear of the dark is specially common in children ages 3-6 when “children are old enough to use their imagination but have not fully developed the ability to distinguish fantasy from reality” 1.

Source: Fear of Darkness Infographic
What if children could see the dark in a new light?

Enter Darkie, a night light plushy in the shape of a cute little monster. When on, Darkie reveals its lit big red heart, aimed at increasing feelings of comfort and trust with children. Darkie will be especially helpful in the early-childhood years when children are transitioning into sleeping independently from their parents.

Darkie loves to be hugged

Darkie can in used in bed with the user, or sit on the night stand and be ready to be grabbed when the child needs to run to the bathroom or a fluffy companion to go to the parents’ room.

While Darkie doesn’t claim to solve or prevent fear of darkness in children, it does aim to act as an approachable, positive and tangible representation of darkness and thus might ease feelings of fear in children.

Process

Diffusion experimentation with single LED
4-LED circuit for Darkie
Soldering and placing the shrink-tube in place
Soldered circuit working!
Cut loofah in the shape of a heart with inserted circuit
Machine-sewn plush body
Filling Darkie up

Specifications

Toy: Velvet upholstery fabric, mesh, stuffing, goggly eyes, sponge. Electronics: 4 soldered red LEDs with AAA battery pack

My Journey

I began wanting to make a toy in the shape of a person, but early prototyping wasn’t very successful. I decided to keep the idea of the lit heart. After a hard but ultimately successful time soldering the LED circuit, I discovered that I could get great light diffusion and make a heart shape by sticking the LEDs into a loofah. Then the question was how to get the heart into a plushy… I didn’t know what I was going to make.

It was only at the fabric store that I realized what my plush toy would actually be: a little darkness monster with a heart! This seemed like a much better and clear idea than my original.

Takeaways from this project
  • It was hard to get the LED to work, but when they do, it’s really fun!
  • Making, cutting and sew the pattern is not a quick gig. (I thought I would be able to do it in 40 mins but actually took me 2+ hours, at full productivity mode.
  • I realized I should have sewn the ears onto the main body before closing up the main body. That would have made the seam between parts way better.
  • Conveying the darkness int he final photos was hard, and I’m not sure if the choice of background was good.

Monica’s Plush Night Light Proposal

Sewing exercise from class

LED circuit and soldering exercise from class

The Story

A boy called Benjamin is waiting for his parents to come home after a day of work. Ben’s had a bad day at school and is feeling lonely. He is waiting, wondering when they’ll come home, wishing he could count down the minutes to see his loved ones.

This plush night light represents a person (a loved one) and has LEDs that draw the shape of a heart. The LEDs turn on and off in such a way that it reminds of a loading screen, or a loading animation. It means to signify that the love is coming.

Early Sketches

Pattern

Parts and Materials

diffussion Exploration

Control

Materials to use

  • Cosy fabric (main body)
  • Translucent fabric (to go above LEDs)
  • Thread
  • LED circuit with battery pack

Circuit Diagram

Tinkercad link here