Carmel Halloween costume

Here is my final Halloween costume:

Process:

First I sewed the base of the mask, with channels for the pixel strip and the top seam. Once The strip was completely wired to the Gemma, I attached it to a flexible metal strip and hot glued the ends of the metal strip to make it easier to feed though the channels I sewed. Once it was fed through I sealed the sides of the mask/veil.

Code/tinkercad circuit:

include

define PIN 6

define NUM_LEDS 4

define BRIGHTNESS 50

// Parameter 1 = number of pixels in strip
// Parameter 2 = pin number (most are valid)
// Parameter 3 = pixel type flags, add together as needed:
// NEO_RGB Pixels are wired for RGB bitstream
// NEO_GRB Pixels are wired for GRB bitstream, correct if colors are swapped upon testing
// NEO_RGBW Pixels are wired for RGBW bitstream
// NEO_KHZ400 400 KHz bitstream (e.g. FLORA pixels)
// NEO_KHZ800 800 KHz bitstream (e.g. High Density LED strip), correct for neopixel stick
Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LEDS, PIN, NEO_GRBW + NEO_KHZ800);

void setup() {

strip.setBrightness(BRIGHTNESS);
strip.begin();
strip.show(); // Initialize all pixels to ‘off’
}

void loop() {
// Some example procedures showing how to display to the pixels:
colorWipe(strip.Color(255, 0, 0), 50); // Red
colorWipe(strip.Color(0, 255, 0), 50); // Green
colorWipe(strip.Color(0, 0, 255), 50); // Blue
colorWipe(strip.Color(0, 0, 0, 255), 50); // White

whiteOverRainbow(20,75,5);

pulseWhite(5);

// fullWhite();
// delay(2000);

rainbowFade2White(3,3,1);

}

// Fill the dots one after the other with a color
void colorWipe(uint32_t c, uint8_t wait) {
for(uint16_t i=0; i<strip.numPixels(); i++) {
strip.setPixelColor(i, c);
strip.show();
delay(wait);
}
}

void pulseWhite(uint8_t wait) {
for(int j = 0; j < 256 ; j++){
for(uint16_t i=0; i<strip.numPixels(); i++) {
strip.setPixelColor(i, strip.Color(0,0,0, j ) );
}
delay(wait);
strip.show();
}

for(int j = 255; j >= 0 ; j–){
for(uint16_t i=0; i<strip.numPixels(); i++) {
strip.setPixelColor(i, strip.Color(0,0,0, j ) );
}
delay(wait);
strip.show();
}
}

void rainbowFade2White(uint8_t wait, int rainbowLoops, int whiteLoops) {
float fadeMax = 100.0;
int fadeVal = 0;
uint32_t wheelVal;
int redVal, greenVal, blueVal;

for(int k = 0 ; k < rainbowLoops ; k ++){

for(int j=0; j<256; j++) { // 5 cycles of all colors on wheel

  for(int i=0; i< strip.numPixels(); i++) {

    wheelVal = Wheel(((i * 256 / strip.numPixels()) + j) & 255);

    redVal = red(wheelVal) * float(fadeVal/fadeMax);
    greenVal = green(wheelVal) * float(fadeVal/fadeMax);
    blueVal = blue(wheelVal) * float(fadeVal/fadeMax);

    strip.setPixelColor( i, strip.Color( redVal, greenVal, blueVal ) );

  }

  //First loop, fade in!
  if(k == 0 && fadeVal < fadeMax-1) {
      fadeVal++;
  }

  //Last loop, fade out!
  else if(k == rainbowLoops - 1 && j > 255 - fadeMax ){
      fadeVal--;
  }

    strip.show();
    delay(wait);
}

}

delay(500);

for(int k = 0 ; k < whiteLoops ; k ++){

for(int j = 0; j < 256 ; j++){

    for(uint16_t i=0; i < strip.numPixels(); i++) {
        strip.setPixelColor(i, strip.Color(0,0,0, j ) );
      }
      strip.show();
    }

    delay(2000);
for(int j = 255; j >= 0 ; j--){

    for(uint16_t i=0; i < strip.numPixels(); i++) {
        strip.setPixelColor(i, strip.Color(0,0,0, j ) );
      }
      strip.show();
    }

}

delay(500);

}

void whiteOverRainbow(uint8_t wait, uint8_t whiteSpeed, uint8_t whiteLength ) {

if(whiteLength >= strip.numPixels()) whiteLength = strip.numPixels() – 1;

int head = whiteLength – 1;
int tail = 0;

int loops = 3;
int loopNum = 0;

static unsigned long lastTime = 0;

while(true){
for(int j=0; j<256; j++) { for(uint16_t i=0; i= tail && i <= head) || (tail > head && i >= tail) || (tail > head && i <= head) ){
strip.setPixelColor(i, strip.Color(0,0,0, 255 ) );
}
else{
strip.setPixelColor(i, Wheel(((i * 256 / strip.numPixels()) + j) & 255));
}

  }

  if(millis() - lastTime > whiteSpeed) {
    head++;
    tail++;
    if(head == strip.numPixels()){
      loopNum++;
    }
    lastTime = millis();
  }

  if(loopNum == loops) return;

  head%=strip.numPixels();
  tail%=strip.numPixels();
    strip.show();
    delay(wait);
}

}

}
void fullWhite() {

for(uint16_t i=0; i<strip.numPixels(); i++) {
    strip.setPixelColor(i, strip.Color(0,0,0, 255 ) );
}
  strip.show();

}

// Slightly different, this makes the rainbow equally distributed throughout
void rainbowCycle(uint8_t wait) {
uint16_t i, j;

for(j=0; j<256 * 5; j++) { // 5 cycles of all colors on wheel
for(i=0; i< strip.numPixels(); i++) {
strip.setPixelColor(i, Wheel(((i * 256 / strip.numPixels()) + j) & 255));
}
strip.show();
delay(wait);
}
}

void rainbow(uint8_t wait) {
uint16_t i, j;

for(j=0; j<256; j++) {
for(i=0; i<strip.numPixels(); i++) {
strip.setPixelColor(i, Wheel((i+j) & 255));
}
strip.show();
delay(wait);
}
}

// Input a value 0 to 255 to get a color value.
// The colours are a transition r – g – b – back to r.
uint32_t Wheel(byte WheelPos) {
WheelPos = 255 – WheelPos;
if(WheelPos < 85) {
return strip.Color(255 – WheelPos * 3, 0, WheelPos * 3,0);
}
if(WheelPos < 170) {
WheelPos -= 85;
return strip.Color(0, WheelPos * 3, 255 – WheelPos * 3,0);
}
WheelPos -= 170;
return strip.Color(WheelPos * 3, 255 – WheelPos * 3, 0,0);
}

uint8_t red(uint32_t c) {
return (c >> 8);
}
uint8_t green(uint32_t c) {
return (c >> 16);
}
uint8_t blue(uint32_t c) {
return (c);
}

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

Kuan: Phone buster

This is a project that can prevent people from touching their phone during the work .

that’s how it gonna work :

  1. set time on the computer
  2. put the phone on the input device
  3. if someone remove the phone from the device, the output device will be trigger and shoot a “bullet” .

main parts:

Out put: a nerf gun, a motor and a rubber band

in put: weight sensor, phone holder .

Final Project Proposal

For my final project I am tossing us either further develop my door bell or starting with a new idea.

1 – The new idea – Physical controls for a digital world.

This idea adds physical elements reminiscent of the typewriter to the laptop. Intended for writing, the physical interface slows down the writing process and forces us to move.

This project would require an Arduino capable of inputting information into the computer, such as the Arduino Mini. I believe this is called a gpio breakout board. When pulled the level would trigger a switch and trigger the return key of the computer.

dsc_0005editdsc_0022editSketch.jpg

2 – The old idea – Ding Dong Knock Knock Door Bell

As there is limited time to refine the project before needing to produce a video and instructable I may be better off refining my door bell this would include.

  • Connecting it the internet and use IFTTT to trigger an email when the door in knocked
  • Miniaturising the circuit to fit within a case. This would allow me to create a instructable article around a more refined design.

IMG_0982.gif

Secret Garden-Manako’s proposal for final project

My final project will be on the same trajectory as the stroking porcupine, my last project.  Using a capacitive sensing system, I want to create a vertical garden that represents one’s emotional wall.

Everyday, in our interactions with others, we gauge/warm up to/distance/trust/close off/let in others.  Similarly, pods of grass loosen/appear with a nice gentle stroke and hide behind the  with hard slaps.

Steps:

  1. Build a 12″x 12″ frame for a “wall” that stands upright
  2. Make a square insert of grass that would become the capacitive sensor
  3. Run conductive copper tapes in the back of the square and fill with dirt&grass
  4. Complete the circuit by connecting the copper tapes to Arduino shield
  5. Determine whether it’s a slap or a stroke by measuring the length of the touch with capacitive sensing grass
  6. Use a motor for pulling in the squares of grass when they’re slappedgrasstrolley

 

Grass wall retracts:

 

 

 

 

 

 

 

 

 

Still need to define how to make the grass square slide back and forward (servo? belt?).

 

 

 

 

 

 

 

 

Supplies

screen-shot-2016-11-21-at-12-16-22-pm     11435a12p1-h02d-abbr

 

OR ALTERNATIVELY….

nike-flyknit-collective

Heads up!

For my final project, I’d like to make a hidden Nerf/disc gun in an enclosure that looks like a speaker box. The speaker box would be able to shoot the disc and send audio, particularly to shout “Heads up”.

I have a few ideas of how/when to activate the gun and sound:

  1. Random!
    1. Shoots, then says heads up
    2. Heads up, then shoot (normal case)
    3. Shouts heads up, but nothing shoots.
  2. Productivity tool – monitors computer usage
    1. Spend too much time on Facebook, get shot
    2. Ignore emails, get shot
  3. Messaging – incorporated into Slack/Messenger
    1. 2 people can shoot each other
  4. Serious version… Shoots every time there is a gun death in the US
    1. Uses an IFTT to a website counter for gun deaths
  5. Nearby activated
    1. Add in sensor to shoot when nearby

img_4327

Depending on the activation method, the internal sensors will change. However, first step will be to create mechanics to shoot discs. I am planning to take apart a toy gun like below to utilize the mechanics and set it up into the enclosure and activate from arduino. Most likely a servo motor to activate a trigger/spring.

 

l_disk_shooter1

I will also need wave shield to generate audio inside the enclosure.

Wireless Arduino​ experiments

Fascinated by IoT and other wireless technology, I started with getting an HC-06 Bluetooth module.

fxht713hyzx8xs1-medium

Attaching the Bluetooth with the Arduino came next. I started by researching, building and applying codes to the Arduino circuitry. After a number of iterations with trials & errors, I started getting some headway with the connection.

Why stop at using an app when you can command by using voice, ‘Lights on’ and ‘Lights Off’ was what I was aiming at. Delving further into every instructable ever I finally managed to get to a workable point.

img_8653

After changing this circuit, making tweaks in the code and searching for more Instructables, I finally got it to react to my voice.

The video to show the same.(Even though google does not understand my voice.)

Now that I have a successfully connected Bluetooth module, I wanted to take it to the next level. One way could be attaching a relay transistor arrangement and connecting to a REAL device, say a light/fan/coffee machine. I wanted to take a different direction and tackle another issue.

I wanted to make a light go on, whenever I got a new e-mail on the school email, just cause I tend to miss those all the time and why not. This is where the actual fun started.

After much research and deliberation, one of the possible ways could be to use multiple platforms and ways to make this happen using the resources I already had at hand.

  • IFTTT is a tool which works on the basic if this then that principle, essentially I enabled the tool to; Whenever there is a new mail on anangia@sva.edu then send a web URL(through the maker for DIY projects) to change 0-1 on my host(antriksh.96.lt).

screen-shot-2016-11-17-at-14-57-41

  •  Hosting a webpage/ making a temporary domain is simple but delving into SQL databases/ writing the PHP script is something I have no experience at, a genius friend helped me with the same. This essentially meant that IFTTT could send a call to change variables on my domain every time it detected a new e-mail coming in. There is some stuff going on at the backend,some of which I understand and most I do not.
  • There is no existing application on the google marketplace that supports such a custom framework. So I started getting into making one. Using the MIT App Inventor(Only for android, IOS does not support app making like this).
  • After placing, replacing and then replacing code blocks I got to a prototype which I can use with the app. Getting into the basic of the emulator is easy, but you can make full blown complex apps on these. My thing was very basic(not for me, though).

screen-shot-2016-11-17-at-15-18-07

  • Now I will try and experiment with this App in use on an android phone.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Chicken level

For this assignment, i built an innovative switch, which is a level sensor. this sensor can sense imbalancement and give output under different circumstances.

That’s how  it works: the liquid in plastic ball is salt water, so every time it touches copper tape from above it creats an working circuit and light up the LED.

For the application of this device, the tack driver can install it on the top of the trunk, so it will alert the truck drive when the cargo in the trunk is unevenly distributed which can cause severe consequence during sharp turns.

 

 

 

Knock Knock Ding Dong Door Bell

The ‘Knock Knock Ding Dong Door Bell’ is an innovative switch that activates your home doorbell when someone comes-a-knocking. The current prototype is a working proof of concept that utilises an Arduino with wave shield to play the bell sounds and a piezo as a vibration sensor to detect knocks.

Future versions of the Knock Knock Ding Dong Door Bell will text you when someone knocks on your door and you are not home.

Knock Knock Ding Dong Door Bell. Coming this Spring. US$95.00

IMG_0982.gif

 

Process