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
13Cubed Residence
One common anxiety I often experience is in redundancy or static environments. Because of this, it is often difficult to wish to reside in one place before the walls begin to seemingly close in. Nomadic is a natural trait; pioneers are those who conquered and achieved greater than those who stayed behind. It is a gift and burden all the same.


A consequence of this aspiration, a residence for one's self is not a desirable design. If there were some way to perhaps incorporate this requisite for instability. Here we have so attempted a theory on a modular design, creating 13 by 13 foot independent foundations and segmentation that may be easily removed and replaced so as to accommodate what is currently coveted. Utilities would be segmented so as to attach and detach at will and adjoining segments would be anchored with coherence of possible removal.
TVShow S02E19X62 Lightning Man
TVShow S02E18X61 Arduino Umpire Mask #OneDayBuild
It is time for the MLB to join the modern era by translating the often unclear umpire muttering and connecting them to the rest of us at home. In our first #OneDayBuild comes the Arduino Umpire Mask that delivers an immediate visual response to that crucial life or death call.

Not a software designer, so simply close your eyes and imagine that the Counter App is also IoT and seamlessly updating several resources.

Shout out to umpires young and old who wear these bulbous masks; holy cripes!
Shout out to Leslie Nielsen -- you are missed.



Arduino Code
// Arduino Umpire Mask
// TVMiller

#include <Adafruit_NeoPixel.h>

// Neopixel Data Pins
#define PINSTRIP 3
#define PINPIXEL 4

// LED Count and Setup
Adafruit_NeoPixel strip = Adafruit_NeoPixel(15,
PINSTRIP, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(6,
PINPIXEL, NEO_GRB + NEO_KHZ800);

// Strike Count
int strikes = 0;
// Ball Count
int balls = 0;

// Bluetooth Data
char call = 0;

void setup() {

Serial.begin(9600);

strip.begin();
strip.show();
pixels.begin();
colorWipe(strip.Color(255, 0, 0), 50);
}

void loop() {

// Clear Strip
colorWipe(strip.Color(0, 0, 0), 50);

if (Serial.available() > 0) {
call = Serial.read();
if (call == '1') {
colorWipe(strip.Color(255, 0, 0), 50);
strike();
delay(1000);
}
else if (call == '2') {
colorWipe(strip.Color(0, 255, 0), 50);
ball();
delay(1000);
}
else if (call == '3') {
reload();
}
}
}

void strike() {
if (strikes == 0) {
// Red Strike Count
pixels.setPixelColor(5, pixels.Color(255, 0, 0));
strikes = 1;
}
else if (strikes == 1) {
pixels.setPixelColor(4, pixels.Color(255, 0, 0));
}
pixels.show();
}

void ball() {
if (balls == 0) {
// Green Ball
pixels.setPixelColor(0, pixels.Color(0, 255, 0));
balls = 1;
}
else if (balls == 1) {
pixels.setPixelColor(1, pixels.Color(0, 255, 0));
balls = 2;
}
else if (balls == 2) {
pixels.setPixelColor(2, pixels.Color(0, 255, 0));
}
pixels.show();
}

void reload() {
colorWipe(strip.Color(255, 0, 0), 50);
pixels.setPixelColor(0, pixels.Color(0, 0, 0));
pixels.setPixelColor(1, pixels.Color(0, 0, 0));
pixels.setPixelColor(2, pixels.Color(0, 0, 0));
pixels.setPixelColor(4, pixels.Color(0, 0, 0));
pixels.setPixelColor(5, pixels.Color(0, 0, 0));
strikes = 0;
balls = 0;
pixels.show();
}

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);
}
}

Archive
HackADay.io - Arduino Umpire Mask
TVShow S02E17X60 Home Depot
An abandoned Home Depot commercial from 2003(g)?


TVShow S02E16X59 ASMR Oncologist
Cancer is a serious diagnosis.
Allow Dr. Miller to trigger you in to a comforted demise.


The medicinal knowledge displayed is on par with other ASMR role play videos. Do not employ this method of advanced procedure to diagnosis your self.

(Notation)
Admittedly poorly paced and toned for a proper role play of an ASMR role play.

(Observation)
While constantly reminded how much it displeases me to be on camera, some lighting angles shove it in, deep, and break it off inside. I am not half asleep, merely victim to biology and misplaced fluorescence.
TVShow S02E15X58 Seagully
Clint Eastwood (Malpaso Productions) presented viewers with opposing perspectives with Flags of our Fathers and Letters From Iwo Jima. Now comes his follow up to the 2016 Tom Hanks film Sully...


TVShow S02E14X57 ASMR Wood Shop
TVShow S02E13X56 Arduino Beatdet
This 4 channel Arduino Beatdet (bidet) rocks your spots off. Select a beat on your phone and the Beatdet will jam out while it cleans you out. The Pirate Radio Bellagio of bidets. Authentic streaming music. Beatdet Pro allows you to choose any track on your phone to wipe with.



Notable thanks to MakerBar in Hoboken, New Jersey

It should be noted that this, as are most of our projects, a prototype, and surely demands several refinements; for example, superior nozzles for a more effective spray.

Arduino Speaky
// Arduino Beatdet Bidet | TVMiller
// MSGEQ7 Script | J Skoba
// WTV020-SD-16P | Diego J. Arevalo

#include <Servo.h>
#include <Wtv020sd16p.h>

// Servo
Servo sprayarm;
int pos = 45;

// Music Player
int resetPin = 14;
int clockPin = 15;
int dataPin = 16;
int busyPin = 17;
Wtv020sd16p wtv020sd16p(resetPin, clockPin, dataPin, busyPin);

// EQ Pins
int analogPin = A2;
int strobePin = 2;
int resetPin = 3;
int spectrumValue[7];

// LED Pins
int one = 8;
int two = 9;
int thr = 10;
int fou = 11;

// LED Variables
int ledone = 0;
int ledtwo = 0;
int ledthr = 0;
int ledfou = 0;

// Pump Pins
int pumpo = 4;
int pumpt = 5;
int pumph = 6;
int pumpf = 7;

// Pump Variables
int pmpone = 0;
int pmptwo = 0;
int pmpthr = 0;
int pmpfou = 0;

// BlueTeethes
char inbound = 0;

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

wtv020sd16p.reset();

sprayarm.attach(12);
sprayarm.write(pos);

pinMode(analogPin, INPUT);
pinMode(strobePin, OUTPUT);
pinMode(resetPin, OUTPUT);
analogReference(DEFAULT);

pinMode(one, OUTPUT);
pinMode(two, OUTPUT);
pinMode(thr, OUTPUT);
pinMode(fou, OUTPUT);

pinMode(pumpo, OUTPUT);
pinMode(pumpt, OUTPUT);
pinMode(pumph, OUTPUT);
pinMode(pumpf, OUTPUT);

digitalWrite(resetPin, LOW);
digitalWrite(strobePin, HIGH);
}

void loop()
{

// Clear Audio
wtv020sd16p.stopVoice();

// Wait for Track
if (Serial.available() > 0)
{
// Which Track Number
inbound = Serial.read();
if (inbound == '1') {
// Track 1
armout();
wtv020sd16p.playVoice(0);
spray();
wtv020sd16p.stopVoice();
armin();
}
else if (inbound == '2') {
// Track 2
armout();
wtv020sd16p.playVoice(1);
spray();
wtv020sd16p.stopVoice();
armin();
}
else if (inbound == '3') {
// Track 3
armout();
wtv020sd16p.playVoice(2);
spray();
wtv020sd16p.stopVoice();
armin();
}
}

}

// Arm Out
void armout() {
for (pos = 45; pos <= 97; pos += 1) {
sprayarm.write(pos);
delay(15);
}
}

// Arm In
void armin() {
for (pos = 97; pos >= 45; pos -= 1) {
sprayarm.write(pos);
delay(15);
}
}

void spray() {
// Loop 15 Seconds
for (int t = 0; t < 5000000, t++) {

// EQ Reset
digitalWrite(resetPin, HIGH);
digitalWrite(resetPin, LOW);

// EQ Store Values and Print
for (int p = 0; p < 7; p++)
{
digitalWrite(strobePin, LOW);
delayMicroseconds(30);
spectrumValue[p] = analogRead(analogPin);
// Serial.print(" ");
// Serial.print(spectrumValue[p]);
digitalWrite(strobePin, HIGH);
}
// Serial.println();

// Map Audio to LED and Pumps
ledone = spectrumValue[0];
// Constrain Required to Limit Results
ledone = constrain(ledone, 400, 600);
// Lower Power to Lower Elevation
ledone = map(ledone, 400, 600, 0, 190);
analogWrite(fou, ledone); // 0
analogWrite(pumpf, ledone); // 0
// Serial.print(ledone);
// Serial.print(" ");

ledtwo = spectrumValue[1];
ledtwo = constrain(ledtwo, 550, 600);
ledtwo = map(ledtwo, 550, 600, 0, 190);
analogWrite(one, ledtwo); // 1
analogWrite(pumpo, ledtwo); // 1
// Serial.print(ledtwo);
// Serial.print(" ");

ledthr = spectrumValue[4];
ledthr = constrain(ledthr, 130, 160);
ledthr = map(ledthr, 130, 160, 0, 190);
analogWrite(two, ledthr); // 2
analogWrite(pumpt, ledthr); // 2
// Serial.print(ledthr);
// Serial.print(" ");

ledfou = spectrumValue[6];
ledfou = constrain(ledfou, 110, 150);
ledfou = map(ledfou, 110, 150, 0, 190);
analogWrite(thr, ledfou); // 4
analogWrite(pumph, ledfou); // 4
// Serial.print(ledfou);
// Serial.println();

}
}

Archive
HackADay.io - Arduino Beatdet
DC Motor Control - https://learn.adafruit.com/adafruit-arduino-...motors/breadboard-layout
MSGEQ7 - http://nuewire.com/info-archive/msgeq7-by-j-skoba/
BlueTooth - http://www.allaboutcircuits.com/project ... our-phone/
WTV020SD Module - http://electronics.stackexchange.com/qu ... 020sd-mini
MIT App Inventor - http://ai2.appinventor.mit.edu/
MakerBar Sign
The while awaiting for the 3D printer to complete the 1 hour and 15 minute run on a series of minute nozzles for another developing project, I had decided in my final days with in the MakerBar space to create a much needed front door sign utilizing the dreaded LEDs I have come to both despise and support...because ooh and ahh. CNC MDF RGB OMG Sigh.



Featuring "I Have No Idea" by Suzy Sellout (Kathrine Becker)

Archive
HackADay.io - MakerBar Sign
MakerFaire MakerBar Arduino Candy Box
Last (last-last) minute build for the MakerBar booth at NYC MakerFaire. Swipe for candy, the closer your hand, the angrier the box becomes (vibration) then proceeds to open, revealing an unexpected robot arm (false-bottom) that presents you a with piece of candy. All materials were constructed from MDF by way of CNC.



Notation
Limited time did not permit me to complete the build. A reloading system was to be applied to the under side; it was alternatively reloaded by hand as the effect was slow regardless.

Featuring "Lois' Lament" by Suzy Sellout (Kathrine Becker)

Arduino Gibberish
// False Bottom Arduino Candy Box
// TVMiller

#include <Stepper.h>

// Stepper
const int stepsPerRevolution = 200;
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);

// Stepper Limits
const int topstop = 6;
int topstate = 0;
const int botstop = 5;
int botstate = 0;

// Stepper State
int posstate = 0;

// Sensor Pins
const int trigPin = 4;
const int echoPin = 3;

// Vibration
int motorPin = 12;
int vibration = 0;

void setup() {
// Stepper Speed - Ugh
myStepper.setSpeed(210);

// Stepper Limiters
pinMode(topstop, INPUT);
pinMode(botstop, INPUT);

// Vibration Motor
pinMode(motorPin, OUTPUT);

Serial.begin(9600);
}

void loop() {
// Sensor Polling
long duration;
pinMode(trigPin, OUTPUT);
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
pinMode(echoPin, INPUT);
duration = pulseIn(echoPin, HIGH);
Serial.println(duration);

// Vibration Motor Map
vibration = map(duration, 300, 800, 255, 0);
analogWrite(motorPin, vibration);

// Trigger Candy
if (duration < 300) {
if (posstate == 1) {
up();
}
}
delay(100);
}

// Stepper To Limit
// IF button is LOW then run
// IF button is HIGH then stop
void up() {
while (botstate == LOW) {
botstate = digitalRead(botstop);
myStepper.step(-1);
posstate = 0;
}
// Delay then Return
delay(2000);
down();
}

void down() {
while (topstate == LOW) {
topstate = digitalRead(topstop);
myStepper.step(1);
posstate = 1;
}
}

Archive
HackADay.io - MakerFaire MakerBar Arduino Candy Box