HackADay.io Links
17:45.5 285-16 OTC
With the recent cancellation of our hackaday.io/TVMiller account due to refuted censorship by HackADay.io dogmatist Sophi Kravitz, all hackaday.io links on existing project posts and YouTube and Vidme descriptions are now invalid.

Despite this surly affair, a sincere thank you to HackADay for the experiences.
TVShow S02E19X62 Lightning Man
22:30.44 283-16 OTC


TVShow S02E18X61 Arduino Umpire Mask #OneDayBuild
03:59.47 282-16 OTC
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
Thursday Throw Back - TVShow "McDuff"
17:11.5 271-16 OTC
While you unknowingly anxiously awake our next engineering project, TVShow episode and/or random cathartic verbal diarrhea -- as experimentation with our newer alternative internet platforms, here is a throw back to one of my personal favorite TVShow episodes from Series 1 that fed my silent motion picture kick and co-starred Maximus Dogralius. Enjoy, won't you?


vid.me/TVMiller
Verified Accounts 345 076
14:32.43 266-16 OTC
The following is a current accounting of internet locations that we verify as sourced by TVMiller.
All accounts not present on this list may be considered suspect.

tvmiller.com/gauhd/
gab.ai/TVMiller
twitter.com/TVMiller
youtube.com/user/vtyhw
vid.me/TVMiller
hackaday.io/TVMiller
liveleak.com/c/TVMiller