Iceland has already accomplished as much as I could have wanted in the #WorldCup ... by embarrassing Tiger Woods commentators ... shit ... I meant Lionel Messi commentators.
0:29:22 91 018
Miter
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 3X23 New York City Fire Hydrant Prank


In this episode, I commit a crime, to prevent a crime -- and in the process steal thousands of dollars from NYC Mayor Bill de Blasio [beat] and I would do it again. [Keyser Soze-ing Intensifies]

"Parking tickets accounted for 55% of all fines, bringing in $545 million for city coffers, a $32 million spike since 2012." NY Daily News 2017(g) (Source: http://www.nydailynews.com/new-york/nyc ... -1.3134591)
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 3X21 Ancestry DNA


Notation(s)
1. Focus solo is bogus.
2. I could care less for any linguistic errors.
Spanish is a ridiculous antiquated language.
3. "Privacy is important" [beat] "Send my DNA for fun" - idiots.
TVShow 3X20 Oh Baby Boy
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
TVShow 3X18 13 Inches Deep Trailer
Sequel to the Mandy Moore thriller 47 Meters Down and Alexandra Park's terrifying 12 Feet Deep comes the next aquatic dread, 13 Inches Deep. That's what she said.


Alternate Titles
1. 13 Inches Below
2. 13 Inches Depth
3. 13 Inches
4. 13
5. Tub
TVShow 3X17 LeBogue for Men by Repel


Get your special Repel gift bag with any purchase of LeBouge for Men.
Available at CVS, Riteaid and Golden Corral.

Notation(s)
1. A cordial cease fire on TVShow end tag.
TVShow 3X16 Flashing Light Prize (5) IoT Pacing
Stress shd be more stressful.
Button(s) to NodeMCU ESP8266 to Al Gore to .php to .txt to
Processing to Arduino to Relay to Alligator Clips to the Future...


Ingredients
1. NodeMCU ESP-12E
2. Arduino Uno
3. HC-06 Bluetooth Module
4. (2) Momentary Buttons
5. 5V Relay
6. NPN Transistor
7. 1K Resistor
8. Alligator Clips

Notation(s)
1. Originally intended on bluetooth communication between Processing and Arduino Uno with HC-06 module -- how and ever, Processing consistently stalled despite a perceived stable port of call and there is suspicion this was as result of an incompatible native bluetooth.

2. 'status' and 'state' are not like the other. Check your values! Sigh. Thx, Jason Harper.

3. TVShow is shot before no live studio audience...or crew. Often times focus is considered a victory -- here, there is one scene in defeat. We are not DC, we reshoot nothing!

4. A few necessary corrections to the dialog followed by an abundance of totally unnecessary changes in order to preserve the perception that there was no careless thievery. Even the impression could hardly be considered professional -- sigh.

NodeMCU Sktepch
// Flashing Light Prize (5) IoT Pacing
// Step Code
// VijeMiller

// NodeMCU ESP-12E 1.0
#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>

// WIFI Network Access
const char* ssid = "networkID";
const char* password = "networkpassword";
WiFiServer server(80);

// Buttons
const int left = D2;
const int right = D3;

// Buttons State
int lstate;
int rstate;
int state = 0;
int led = D0;

void setup() {

pinMode(left, INPUT);
pinMode(right, INPUT);
pinMode(led, OUTPUT);

Serial.begin(9600);
while (WiFi.status() != WL_CONNECTED) {
WiFi.begin(ssid, password);
delay(5000);
}
Serial.println("Connected");
digitalWrite(led, HIGH);
server.begin();
}

void loop() {
// Read Buttons
lstate = digitalRead(left);
rstate = digitalRead(right);

// Declare Task
HTTPClient http;
int httpCode;

if (lstate == HIGH && rstate == LOW) {
// Prevent Excess
if (state == 0) {
Serial.println("L");
// Load .php that writes to .txt
http.begin("http://website.com/flp/flp.php?state=1");
httpCode = http.GET();
http.end();
state = 1;
} else {
// Nothing
}
} else if (rstate == HIGH && lstate == LOW) {
if (state == 1) {
Serial.println("R");
http.begin("http://website.com/flp/flp.php?state=0");
httpCode = http.GET();
http.end();
state = 0;
} else {
// Nothing
}
} else if (lstate == HIGH && rstate == HIGH) {
// Zilch
} else if (lstate == LOW && rstate == LOW) {
// Nope
}

delay(100);
}

Arduino Doodle
// Flashing Light Prize (5) IoT Pacing
// VijeMiller

// Relay Pin
int relay = 2;
// Serial Data
char data;

void setup() {
Serial.begin(9600);
pinMode(relay, OUTPUT);
}

void loop() {
// Communication?
if (Serial.available() > 0) {
// Whad' It Say?!
data = Serial.read();
// Off?
if (data == 'F') {
digitalWrite(relay, HIGH);
}
// On?
if (data == 'U') {
digitalWrite(relay, LOW);
}
}
}

Processing Process
// Flashing Light Prize (5) IoT Pacing
// Processing to Bluetooth
// VijeMiller

import processing.serial.*;
Serial port;

void setup() {
println(Serial.list());
port = new Serial(this, "COM3", 9600);
frameRate(4);
}
void draw() {
// Internet Address .txt File
String onoroff[] = loadStrings("http://website.com/flp/flp.txt");
// Prints .txt File Contents
print(onoroff[0]);
if (onoroff[0].equals("1") == true) {
println("Flash");
port.write('F');
} else if (onoroff[0].equals("0") == true) {
println("Unflash");
port.write('U');
} else {
}
}

PHP-p-ing
<?php
$onoroff = $_GET["state"];
$textfile = "flp.txt";
$fileLocation = "$textfile";
$fh = fopen($fileLocation, 'w ') or die("Crap!");
$stringToWrite = "$onoroff";
fwrite($fh, $stringToWrite);
fclose($fh);
?>

Archive
https://hackaday.io/project/26022-flashing-light-prize-5-iot-pacing
http://flashinglightprize.com
https://sindrelindstad.com/projects/how-to-led-arduino-php-proc/
https://vid.me/vUrEh