TVShow 3X37 Coin Cell Challenge (1) Shower Battery Charger
The entirety of projects in the Hackaday.com Coin Cell Challenge are removing energy from coin cell batteries with out giving back. Thievery! Being the kind, fair and generous human being that I am not - and instead out of spite - this project makes use of the abundance of unused kinetic energy in the bath room to recharge your coin cell battery.


Ingredients
1. LR2032 Rechargeable Coin Cell Battery
2. PVC Threaded Nipple
3. PVC Threaded Couple
4. Acrylic (Picture Frame)
5. (2) DC Motors
6. (2) Diodes

Notation(s)
1. 3D printing, efficient motors and just about every thing else - and perhaps this would be a more practical concept -- then expand that to the theory of every plumbing joint housing a generator.
2. One point not quite enough volts - motors were to blame - followed in close second by inferior glue and acrylic. It is the thought that counts [wink]
3. Per (2) - the motors were scavenged from vibrating tooth brushes - which one may presume drive very little current while operating at 1.5V - thus removing your plaque is not nearly as an aggressive of a task as is generating electricity to charge a coin cell battery.
4. Always diffuse lighting - especially when you did not.

Archive
https://hackaday.io/project/28972-coin-cell-challenge-shower-battery-charger
https://www.youtube.com/watch?v=PnTIEWQ48zw
https://hackaday.io/contest/28283-coin-cell-challenge
Orbital Clock OTC Packed Extension
Now made available for down load (open source) is our Orbital Clock browser extension - so that you may subvert extension or add-on store fronts and load the packed or unpacked extension in to any developer enabled browser that permits - tested on FF/Chrome/Opera

Packed Extension (.zip) - otcext.zip
Resistance Theory - Excited State Density
Relative to the abstract of Resistance Theory - all matter is a balanced confinement of wave(s) collision. Light is the state of residual wave refraction from these collisions - spilled thru less dense wave lengths (matter). What this then concludes is that all matter has effectively an ethereal layer that is in a transition between denser wave forms and refraction - i.e. when you are touching an object - you are not touching the visual exterior of the object - but the state just below the visualized state - as is well the density of the finger touching the object - on an infinitesimally minute level of course.


Resistance Theory [Search]
Arduino Proximity Bubbler Not Bubbler


Ingredients
1. Arduino MKR1000
2. Arduino Uno
3. Ultrasonic Module
4. Motion Sensor Module
5. Neopixel RGB Strip
6. Picture Frame Acrylic
7. 1000pf Capacitor
8. 330 Resistor
9. 10K Potentiometer

Notation(s)
1. More or less, this was to reacquaint my self with the MKR1000(s) I had been given at MakerFaire NY -- Thx Arduino's Arturo and Christina! -- using scraps being thrown out while in the process of moving [again] -- before the great war. #Project47
2. Learning to prefer to self-host IoT streams -- if better positioned, I would implore and collaborate with some one to create open-source privately hosted IoT software for your own domain - so as to permit more flexibility of function.
3. As said, only scraps -- no digital potentiometer or transistor? Hold my Don Julio -- wanting to thread 120V, we [me] improvised with a servo and hot glue. https://hackaday.io/project/27578/log/68403-no-digital-pot-or-transistor-hold-my-don-julio #Hackcycling
4. Shelved, bcz - meh.
5. The scavenged motion sensor and a-to-be-abandoned-Arduino-Uno were then applied to an entrance way motion triggered random Neopixel display.

Archive
https://hackaday.io/project/27578-arduino-proximity-bubbler-not-bubbler
Kingdom of Gauhd Governance
Discovery Canada - Daily Planet - Arduino Licorice Launcher
Despite being rightly dubbed and the mispronunciation of my name [it's vi-jə], we [me] are much obliged to have Ziya Tong and Dan Riskin on Discovery Canada's Daily Planet present our Arduino Licorice Launcher.


Discovery's Daily Planet airs daily on this planet at 19EST/16PST
Full Episodes Available Online @ http://discovery.ca/Shows/Daily-Planet

Daily Planet 23X14 [Full Episode]
http://www.discovery.ca/Shows/Daily-Pla ... id=1208401

Arduino Licorice Launcher
http://tvmiller.com/index.php?entry=entry160910-131540
http://hackaday.com/2016/09/12/licorice ... our-voice/
https://hackaday.com/2017/09/13/hackaday-prize-entry-room-tracking-red-vines-flinger/
https://hackaday.io/project/12893-arduino-licorice-launcher
http://gizmodo.com/every-room-in-my-hou ... 1807574653
Gif'd on Gizmodo
TVShow 3X24 Arduino Decibel Spike Strip
The throaty roar of a big block thundering down a high way is to be admired - tho I prefer the more guttural growl of a Maserati. Where such a cacophony of noise and velocity is rather unwelcome is the more immediate where people live. At this point, your muscle becomes lunk. Imagine for a moment employing a device that gifts an appropriate measure of neighborly appreciation. Purely speculation, of course *sinister whisper* this time.


Ingredients
1. Arduino Uno
2. Sparkfun Sound Detector
3. Ultrasonic Module
4. Servo (2)
5. Cardboard faux Steel

Notation(s)
1. IF sound ≥ x AND distance ≥ y THEN destroy
2. IF sound ≥ x AND distance < y THEN safety

Archive
https://hackaday.io/project/27154-arduino-decibel-spike-strip
TVShow 3X22 Arduino Sand Matrix Printer (FAIL)
Unrivaled cardboard 1 pixel per square inch detail.
#Hackcycling


Ingredients
1. Arduino Uno
2. HC-06 Bluetooth Module
3. (5) Servos
4. (2) 360 Degree Servos
5. Cardboard
6. String
7. (4) AA Batteries
8. Silicon Dioxide
9. Calcium Carbonate

Notation(s)
1. Burned a 360 degree servo, effectively killing the automation.
Rather than giving a s#!t, I bought string.
2. NYC beaches are where tropical beaches addicted to meth go to die.
3. There are roughly 400,000 grains of sand (medium-coarse) in a hand full (1/4 cup).
4. Compression versus tension on the cardboard frame led to failure.
Preference would have been to CNC MDF *weeps* I miss thee Shapeoko.
5. This--this is how I learned I have a hole in my shirt.

Arduino SPFetch 150
// Arduino Sand Matrix Printer
// VijeMiller

#include <Servo.h>

Servo p1;
Servo p2;
Servo p3;
Servo p4;
Servo p5;

// Servo Angles
int up = 120;
int down = 180;

// Servo Print Delay
int pers = 250;

char data = 0;

void setup() {
Serial.begin(9600);

// Servo Pins
p1.attach(8); // Bcz 3 Went Wonky
p2.attach(4);
p3.attach(5);
p4.attach(6);
p5.attach(7);

p1.write(up);
p2.write(up);
p3.write(up);
p4.write(up);
p5.write(up);

}

void loop() {
if (Serial.available() > 0)
{
data = Serial.read();
Serial.println(data);
if (data == 'a') {
a();
} else if (data == 'b') {
b();
} else if (data == 'c') {
c();
} else if (data == 'd') {
d();
} else if (data == 'e') {
e();
} else if (data == 'f') {
f();
} else if (data == 'g') {
g();
} else if (data == 'h') {
h();
} else if (data == 'i') {
i();
} else if (data == 'j') {
j();
} else if (data == 'k') {
k();
} else if (data == 'l') {
l();
} else if (data == 'm') {
m();
} else if (data == 'n') {
n();
} else if (data == 'o') {
o();
} else if (data == 'p') {
p();
} else if (data == 'q') {
q();
} else if (data == 'r') {
r();
} else if (data == 's') {
s();
} else if (data == 't') {
t();
} else if (data == 'u') {
u();
} else if (data == 'v') {
v();
} else if (data == 'w') {
w();
} else if (data == 'x') {
x();
} else if (data == 'y') {
y();
} else if (data == 'z') {
z();
} else if (data == '1') {
one();
} else if (data == '2') {
two();
} else if (data == '3') {
three();
} else if (data == '4') {
four();
} else if (data == '5') {
five();
} else if (data == '6') {
next();
}
}
data = 0;
delay(10);
}

void next() {
// Next Column
// Original Design (360 Servo)
// Blew Out Servo, Manual Drag, Sigh
delay(500);
}

void space() {
// Next Column x 1.5
delay(1000);
}

void a() {
// ooxoo
// oxoxo
// xxxxx
// xooox
// xooox
p3.write(down); p4.write(down); p5.write(down); delay(pers);
p3.write(up); p4.write(up); p5.write(up);
next();
p2.write(down); p3.write(down); delay(pers);
p2.write(up); p3.write(up);
next();
p1.write(down); p3.write(down); delay(pers);
p1.write(up); p3.write(up);
next();
p2.write(down); p3.write(down); delay(pers);
p2.write(up); p3.write(up);
next();
p3.write(down); p4.write(down); p5.write(down); delay(pers);
p3.write(up); p4.write(up); p5.write(up);
space();
}

void b() {
// xxxxo
// xooox
// xxxxx
// xooox
// xxxxo
p1.write(down); p2.write(down); p3.write(down); p4.write(down);
p5.write(down); delay(pers);
p1.write(up); p2.write(up); p3.write(up); p4.write(up); p5.write(up);
next();
p1.write(down); p3.write(down); p5.write(down); delay(pers);
p1.write(up); p3.write(up); p5.write(up);
next();
p1.write(down); p3.write(down); p5.write(down); delay(pers);
p1.write(up); p3.write(up); p5.write(up);
next();
p1.write(down); p3.write(down); p5.write(down); delay(pers);
p1.write(up); p3.write(up); p5.write(up);
next();
p2.write(down); p3.write(down); p4.write(down); delay(pers);
p2.write(up); p3.write(up); p4.write(up);
space();
}

void c() {
// oxxxx
// xoooo
// xoooo
// xoooo
// oxxxx
p2.write(down); p3.write(down); p4.write(down); delay(pers);
p2.write(up); p3.write(up); p4.write(up);
next();
p1.write(down); p5.write(down); delay(pers);
p1.write(up); p5.write(up);
next();
p1.write(down); p5.write(down); delay(pers);
p1.write(up); p5.write(up);
next();
p1.write(down); p5.write(down); delay(pers);
p1.write(up); p5.write(up);
next();
p1.write(down); p5.write(down); delay(pers);
p1.write(up); p5.write(up);
space();
}

void d() {
// xxxxo
// xooox
// xooox
// xooox
// xxxxo
p1.write(down); p2.write(down); p3.write(down); p4.write(down);
p5.write(down); delay(pers);
p1.write(up); p2.write(up); p3.write(up); p4.write(up); p5.write(up);
next();
p1.write(down); p5.write(down); delay(pers);
p1.write(up); p5.write(up);
next();
p1.write(down); p5.write(down); delay(pers);
p1.write(up); p5.write(up);
next();
p1.write(down); p5.write(down); delay(pers);
p1.write(up); p5.write(up);
next();
p2.write(down); p3.write(down); p4.write(down); delay(pers);
p2.write(up); p3.write(up); p4.write(up);
space();
}

void e() {
// xxxxx
// xoooo
// xxxxo
// xoooo
// xxxxx
p1.write(down); p2.write(down); p3.write(down); p4.write(down);
p5.write(down); delay(pers);
p1.write(up); p2.write(up); p3.write(up); p4.write(up); p5.write(up);
next();
p1.write(down); p3.write(down); p5.write(down); delay(pers);
p1.write(up); p3.write(up); p5.write(up);
next();
p1.write(down); p3.write(down); p5.write(down); delay(pers);
p1.write(up); p3.write(up); p5.write(up);
next();
p1.write(down); p3.write(down); p5.write(down); delay(pers);
p1.write(up); p3.write(up); p5.write(up);
next();
p1.write(down); p5.write(down); delay(pers);
p1.write(up); p5.write(up);
space();
}

void f() {
// xxxxx
// xoooo
// xxxxo
// xoooo
// xoooo
p1.write(down); p2.write(down); p3.write(down); p4.write(down);
p5.write(down); delay(pers);
p1.write(up); p2.write(up); p3.write(up); p4.write(up); p5.write(up);
next();
p1.write(down); p3.write(down); delay(pers);
p1.write(up); p3.write(up);
next();
p1.write(down); p3.write(down); delay(pers);
p1.write(up); p3.write(up);
next();
p1.write(down); p3.write(down); delay(pers);
p1.write(up); p3.write(up);
next();
p1.write(down); delay(pers);
p1.write(up);
space();
}

void g() {
// oxxxx
// xoooo
// xooxx
// xooox
// oxxxx
p2.write(down); p3.write(down); p4.write(down); delay(pers);
p2.write(up); p3.write(up); p4.write(up);
next();
p1.write(down); p5.write(down); delay(pers);
p1.write(up); p5.write(up);
next();
p1.write(down); p5.write(down); delay(pers);
p1.write(up); p5.write(up);
next();
p1.write(down); p3.write(down); p5.write(down); delay(pers);
p1.write(up); p3.write(down); p5.write(up);
next();
p1.write(down); p3.write(down); p4.write(down); p5.write(down);
delay(pers);
p1.write(up); p3.write(down); p4.write(down); p5.write(up);
space();
}

void h() {
// xooox
// xooox
// xxxxx
// xooox
// xooox
p1.write(down); p2.write(down); p3.write(down); p4.write(down);
p5.write(down); delay(pers);
p1.write(up); p2.write(up); p3.write(up); p4.write(up); p5.write(up);
next();
p3.write(down); delay(pers);
p3.write(up);
next();
p3.write(down); delay(pers);
p3.write(up);
next();
p3.write(down); delay(pers);
p3.write(up);
next();
p1.write(down); p2.write(down); p3.write(down); p4.write(down);
p5.write(down); delay(pers);
p1.write(up); p2.write(up); p3.write(up); p4.write(up); p5.write(up);
space();
}

void i() {
// xxxxx
// ooxoo
// ooxoo
// ooxoo
// xxxxx
p1.write(down); p5.write(down); delay(pers);
p1.write(up); p5.write(up);
next();
p1.write(down); p5.write(down); delay(pers);
p1.write(up); p5.write(up);
next();
p1.write(down); p2.write(down); p3.write(down); p4.write(down);
p5.write(down); delay(pers);
p1.write(up); p2.write(up); p3.write(up); p4.write(up); p5.write(up);
next();
p1.write(down); p5.write(down); delay(pers);
p1.write(up); p5.write(up);
next();
p1.write(down); p5.write(down); delay(pers);
p1.write(up); p5.write(up);
space();
}

void j() {
// ooxxx
// oooox
// oooox
// xooox
// oxxxo
p4.write(down); delay(pers);
p4.write(up);
next();
p5.write(down); delay(pers);
p5.write(up);
next();
p1.write(down); p5.write(down); delay(pers);
p1.write(up); p5.write(up);
next();
p1.write(down); p5.write(down); delay(pers);
p1.write(up); p5.write(up);
next();
p1.write(down); p2.write(down); p3.write(down); p4.write(down);
delay(pers);
p1.write(up); p2.write(up); p3.write(up); p4.write(up);
space();
}

void k() {
// xooox
// xooxo
// xxxoo
// xooxo
// xooox
p1.write(down); p2.write(down); p3.write(down); p4.write(down);
p5.write(down); delay(pers);
p1.write(up); p2.write(up); p3.write(up); p4.write(up); p5.write(up);
next();
p3.write(down); delay(pers);
p3.write(up);
next();
p3.write(down); delay(pers);
p3.write(up);
next();
p2.write(down); p4.write(down); delay(pers);
p2.write(up); p4.write(up);
next();
p1.write(down); p5.write(down); delay(pers);
p1.write(up); p5.write(up);
space();
}

void l() {
// xoooo
// xoooo
// xoooo
// xoooo
// xxxxx
p1.write(down); p2.write(down); p3.write(down); p4.write(down);
p5.write(down); delay(pers);
p1.write(up); p2.write(up); p3.write(up); p4.write(up); p5.write(up);
next();
p5.write(down); delay(pers);
p5.write(up);
next();
p5.write(down); delay(pers);
p5.write(up);
next();
p5.write(down); delay(pers);
p5.write(up);
next();
p5.write(down); delay(pers);
p5.write(up);
space();
}

void m() {
// xooox
// xxoxx
// xoxox
// xooox
// xooox
p1.write(down); p2.write(down); p3.write(down); p4.write(down);
p5.write(down); delay(pers);
p1.write(up); p2.write(up); p3.write(up); p4.write(up); p5.write(up);
next();
p2.write(down); delay(pers);
p2.write(up);
next();
p3.write(down); delay(pers);
p3.write(up);
next();
p2.write(down); delay(pers);
p2.write(up);
next();
p1.write(down); p2.write(down); p3.write(down); p4.write(down);
p5.write(down); delay(pers);
p1.write(up); p2.write(up); p3.write(up); p4.write(up); p5.write(up);
space();
}

void n() {
// xooox
// xxoox
// xoxox
// xooxx
// xooox
p1.write(down); p2.write(down); p3.write(down); p4.write(down);
p5.write(down); delay(pers);
p1.write(up); p2.write(up); p3.write(up); p4.write(up); p5.write(up);
next();
p2.write(down); delay(pers);
p2.write(up);
next();
p3.write(down); delay(pers);
p3.write(up);
next();
p4.write(down); delay(pers);
p4.write(up);
next();
p1.write(down); p2.write(down); p3.write(down); p4.write(down);
p5.write(down); delay(pers);
p1.write(up); p2.write(up); p3.write(up); p4.write(up); p5.write(up);
space();
}

void o() {
// oxxxo
// xooox
// xooox
// xooox
// oxxxo
p2.write(down); p3.write(down); p4.write(down); delay(pers);
p2.write(up); p3.write(up); p4.write(up);
next();
p1.write(down); p5.write(down); delay(pers);
p1.write(up); p5.write(up);
next();
p1.write(down); p5.write(down); delay(pers);
p1.write(up); p5.write(up);
next();
p1.write(down); p5.write(down); delay(pers);
p1.write(up); p5.write(up);
next();
p2.write(down); p3.write(down); p4.write(down); delay(pers);
p2.write(up); p3.write(up); p4.write(up);
space();
}

void p() {
// xxxxo
// xooox
// xxxxo
// xoooo
// xoooo
p1.write(down); p2.write(down); p3.write(down); p4.write(down);
p5.write(down); delay(pers);
p1.write(up); p2.write(up); p3.write(up); p4.write(up); p5.write(up);
next();
p1.write(down); p3.write(down); delay(pers);
p1.write(up); p3.write(up);
next();
p1.write(down); p3.write(down); delay(pers);
p1.write(up); p3.write(up);
next();
p1.write(down); p3.write(down); delay(pers);
p1.write(up); p3.write(up);
next();
p2.write(down); delay(pers);
p2.write(up);
space();
}

void q() {
// oxxxo
// xooox
// xoxox
// xooxx
// oxxxx
p2.write(down); p3.write(down); p4.write(down); delay(pers);
p2.write(up); p3.write(up); p4.write(up);
next();
p1.write(down); p5.write(down); delay(pers);
p1.write(up); p5.write(up);
next();
p1.write(down); p3.write(down); p5.write(down); delay(pers);
p1.write(up); p3.write(up); p5.write(up);
next();
p1.write(down); p4.write(down); p5.write(down); delay(pers);
p1.write(up); p4.write(up); p5.write(up);
next();
p2.write(down); p3.write(down); p4.write(down); p5.write(down);
delay(pers);
p2.write(up); p3.write(up); p4.write(up); p5.write(up);
space();
}

void r() {
// xxxxo
// xooox
// xxxxo
// xooxo
// xooox
p1.write(down); p2.write(down); p3.write(down); p4.write(down);
p5.write(down); delay(pers);
p1.write(up); p2.write(up); p3.write(up); p4.write(up); p5.write(up);
next();
p1.write(down); p3.write(down); delay(pers);
p1.write(up); p3.write(up);
next();
p1.write(down); p3.write(down); delay(pers);
p1.write(up); p3.write(up);
next();
p1.write(down); p3.write(down); p4.write(down); delay(pers);
p1.write(up); p3.write(up); p4.write(up);
next();
p2.write(down); p5.write(down); delay(pers);
p2.write(up); p5.write(up);
space();
}

void s() {
// xxxxx
// xoooo
// xxxxx
// oooox
// xxxxx
p1.write(down); p2.write(down); p3.write(down); p5.write(down);
delay(pers);
p1.write(up); p2.write(up); p3.write(up); p5.write(up);
next();
p1.write(down); p3.write(down); p5.write(down); delay(pers);
p1.write(up); p3.write(up); p5.write(up);
next();
p1.write(down); p3.write(down); p5.write(down); delay(pers);
p1.write(up); p3.write(up); p5.write(up);
next();
p1.write(down); p3.write(down); p5.write(down); delay(pers);
p1.write(up); p3.write(up); p5.write(up);
next();
p1.write(down); p3.write(down); p4.write(down); p5.write(down);
delay(pers);
p1.write(up); p3.write(up); p4.write(up); p5.write(up);
space();
}

void t() {
// xxxxx
// ooxoo
// ooxoo
// ooxoo
// ooxoo
p1.write(down); delay(pers);
p1.write(up);
next();
p1.write(down); delay(pers);
p1.write(up);
next();
p1.write(down); p2.write(down); p3.write(down); p4.write(down);
p5.write(down); delay(pers);
p1.write(up); p2.write(up); p3.write(up); p4.write(up); p5.write(up);
next();
p1.write(down); delay(pers);
p1.write(up);
next();
p1.write(down); delay(pers);
p1.write(up);
space();
}

void u() {
// xooox
// xooox
// xooox
// xooox
// oxxxo
p1.write(down); p2.write(down); p3.write(down); p4.write(down);
delay(pers);
p1.write(up); p2.write(up); p3.write(up); p4.write(up);
next();
p5.write(down); delay(pers);
p5.write(up);
next();
p5.write(down); delay(pers);
p5.write(up);
next();
p5.write(down); delay(pers);
p5.write(up);
next();
p1.write(down); p2.write(down); p3.write(down); p4.write(down);
delay(pers);
p1.write(up); p2.write(up); p3.write(up); p4.write(up);
space();
}

void v() {
// xooox
// xooox
// xooox
// oxoxo
// ooxoo
p1.write(down); p2.write(down); p3.write(down); delay(pers);
p1.write(up); p2.write(up); p3.write(up);
next();
p4.write(down); delay(pers);
p4.write(up);
next();
p5.write(down); delay(pers);
p5.write(up);
next();
p4.write(down); delay(pers);
p4.write(up);
next();
p1.write(down); p2.write(down); p3.write(down); delay(pers);
p1.write(up); p2.write(up); p3.write(up);
space();
}

void w() {
// xooox
// xooox
// xoxox
// xxoxx
// xooox
p1.write(down); p2.write(down); p3.write(down); p4.write(down);
p5.write(down); delay(pers);
p1.write(up); p2.write(up); p3.write(up); p4.write(up); p5.write(up);
next();
p4.write(down); delay(pers);
p4.write(up);
next();
p3.write(down); delay(pers);
p3.write(up);
next();
p4.write(down); delay(pers);
p4.write(up);
next();
p1.write(down); p2.write(down); p3.write(down); p4.write(down);
p5.write(down); delay(pers);
p1.write(up); p2.write(up); p3.write(up); p4.write(up); p5.write(up);
space();
}

void x() {
// xooox
// oxoxo
// ooxoo
// oxoxo
// xooox
p1.write(down); p5.write(down); delay(pers);
p1.write(up); p5.write(up);
next();
p2.write(down); p4.write(down); delay(pers);
p2.write(up); p4.write(up);
next();
p3.write(down); delay(pers);
p3.write(up);
next();
p2.write(down); p4.write(down); delay(pers);
p2.write(up); p4.write(up);
next();
p1.write(down); p5.write(down); delay(pers);
p1.write(up); p5.write(up);
space();
}

void y() {
// xooox
// oxoxo
// ooxoo
// ooxoo
// ooxoo
p1.write(down); delay(pers);
p1.write(up);
next();
p2.write(down); delay(pers);
p2.write(up);
next();
p3.write(down); p4.write(down); p5.write(down); delay(pers);
p3.write(up); p4.write(up); p5.write(up);
next();
p2.write(down); delay(pers);
p2.write(up);
next();
p1.write(down); delay(pers);
p1.write(up);
space();
}

void z() {
// xxxxx
// oooxo
// ooxoo
// oxooo
// xxxxx
p1.write(down); p5.write(down); delay(pers);
p1.write(up); p5.write(up);
next();
p1.write(down); p4.write(down); p5.write(down); delay(pers);
p1.write(up); p4.write(up); p5.write(up);
next();
p1.write(down); p3.write(down); p5.write(down); delay(pers);
p1.write(up); p3.write(up); p5.write(up);
next();
p1.write(down); p2.write(down); p5.write(down); delay(pers);
p1.write(up); p2.write(up); p5.write(up);
next();
p1.write(down); p5.write(down); delay(pers);
p1.write(up); p5.write(up);
space();
}

void one() {
p1.write(down);
delay(pers);
p1.write(up);
}

void two() {
p2.write(down);
delay(pers);
p2.write(up);
}

void three() {
p3.write(down);
delay(pers);
p3.write(up);
}

void four() {
p4.write(down);
delay(pers);
p4.write(up);
}

void five() {
p5.write(down);
delay(pers);
p5.write(up);
}

Archive
https://hackaday.com/2017/08/31/fail-of-the-week-arduino-sand-matrix-printer/
https://hackaday.io/project/26204-arduino-sand-matrix-printer
https://vid.me/DoTpB
https://www.youtube.com/watch?v=Zos5wBH7Sbc
TVShow 3X19 Flashing Light Prize (6) Arduino 101 Break Up (FAIL)


Parting is such sweet elation.
Elevation change per 0.15 meters (0.5 foot) measured by BMP180 triggers relay state.
Good riddance, Arduino 101. May your gibberish never stain my IDE again.

Ingredients
1. Arduino 101 (34 gr)
2. BMP180 Module (4 gr)
3. TIP120 (1 gr)
4. 2.2K Resistor (<1 gr)
5. 5V Incandescent Bulb (<1 gr)
6. 9V Battery (42 gr)
7. Battery Holder (1 gr)
8. Latex Balloons (Helium)
9. String

Notation(s)
1. Project worked to perfection--right up until the balloons were purchased. After having not acquired enough balloons (12) for lift, a stripping down of materials and conversion to a lighter 12 volt battery resulted in an accidental overload and in brief - kaput! Secondary to this, let it be known that filming string hung peripherals and balloon flight at night with low budget production is as impractical as this whole venture.

2. 1 liter of Helium lifts 1 gram. 12" latex balloon volume is 15L. Horse shit!

Arduino Skyetch
// Flashing Light Prize (6) Arduino 101 Break Up
// BMP180 Code by Sparkfun
// VijeMiller

#include <SFE_BMP180.h>
#include <Wire.h>

// BMP180
SFE_BMP180 pressure;
double base;

// States
int last = 0;
int up = 0;
int state = 0;

// TIP120
int light = 7;

void setup()
{
Serial.begin(9600);

pinMode(light, OUTPUT);
digitalWrite(light, LOW);

// BMP180 Working?
if (pressure.begin())
Serial.println("BMP180 init success");
else {
Serial.println("BMP180 init fail (disconnected?)\n\n");
while (1);
}

// Create Base Line
base = getPressure();
Serial.print("Base Line Pressure: ");
Serial.print(base);
Serial.println(" mb");
delay(2000);
}

void loop()
{
double a, P;
// Get Pressure
P = getPressure();
// Different Between Base and New
a = pressure.altitude(P, base);

Serial.print(a * 3.28084, 1);
Serial.println(" feet");

// Higher by 0.5 Feet or More?
if (a >= up) {
if (state == 0) {
digitalWrite(light, HIGH);
state = 1;
} else if (state == 1) {
digitalWrite(light, LOW);
state = 0;
}
}

// Add 0.5 Feet
// Store Last
up = a + 0.1524;

delay(500);
}

double getPressure()
{
char status;
double T, P, p0, a;
status = pressure.startTemperature();
if (status != 0)
{
delay(status);
status = pressure.getTemperature(T);
if (status != 0)
{
status = pressure.startPressure(3);
if (status != 0)
{
delay(status);
status = pressure.getPressure(P, T);
if (status != 0)
{
return (P);
}
}
}
}
}

Archive
https://hackaday.io/project/26130-flashing-light-prize-6-arduino-101-break-up
http://flashinglightprize.com
https://vid.me/dQgsN