So after banging my head on it for a while here is where I’m at. I currently have it running on an esp8266. It does what I want now, though I’m sure it could be better. I still have to add the distance or motion detector trigger to turn it on, but I’m pleased with the progress.
/*Adam Overman 8.16.2019 Stranger Things Wall Hanger code Currently running as expected
* I still need to add the activation sensor.
*
*/
//Pin connected to ST_CP of 74HC595
int latchPin = 13;
//Pin connected to SH_CP of 74HC595
int clockPin = 15;
////Pin connected to DS of 74HC595
int dataPin = 12;
//Pin connected to Y
int LEDpiny = 5;
//Pin connected to
int LEDpinz = 4;
void setup() {
//set pins to output because they are addressed in the main loop
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);
pinMode(LEDpiny, OUTPUT);
pinMode(LEDpinz, OUTPUT);
}
void loop() {
int whichMessage = 0;
whichMessage = random(1,3);
switch (whichMessage) {
case 1:
helloWorld();
break;
case 2:
helpMe();
break;
case 3:
itsSOdark();
break;
}
}
void helloWorld()
{ allLEDoff();
allLEDon();
allLEDoff();
LEDh();
LEDe();
LEDl();
allLEDoff();
LEDl();
LEDo();
allLEDoff();
allLEDon();
allLEDoff();
allLEDon();
LEDw();
LEDo();
LEDr();
LEDl();
LEDd();
allLEDoff();
allLEDon();
allLEDoff();}
void helpMe()
{allLEDoff();
allLEDon();
allLEDoff();
LEDh();
LEDe();
LEDl();
LEDp();
allLEDoff();
allLEDon();
allLEDoff();
allLEDon();
LEDm();
LEDe();
allLEDoff();
allLEDon();
allLEDoff();}
void itsSOdark()
{allLEDoff();
allLEDon();
allLEDoff();
LEDi();
LEDt();
LEDs();
allLEDoff();
allLEDon();
allLEDoff();
allLEDon();
LEDs();
LEDo();
allLEDoff();
allLEDon();
allLEDoff();
allLEDon();
LEDd();
LEDa();
LEDr();
LEDk();
allLEDoff();
allLEDon();
allLEDoff();
allLEDon();
LEDh();
LEDe();
LEDr();
LEDe();
allLEDoff();
allLEDon();
allLEDoff();}
//These are the functions that control the LEDs by shifting out 24 bits to the shift register and flipping the Y and Z pins
void allLEDoff()
{digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
digitalWrite(latchPin, HIGH);
digitalWrite(LEDpiny, LOW);
digitalWrite(LEDpinz, LOW);
delay(1500);}
void allLEDon()
{digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, B11111111);
shiftOut(dataPin, clockPin, MSBFIRST, B11111111);
shiftOut(dataPin, clockPin, MSBFIRST, B11111111);
digitalWrite(latchPin, HIGH);
digitalWrite(LEDpiny,HIGH);
digitalWrite(LEDpinz,HIGH);
delay(1500);}
void LEDa ()
{digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
shiftOut(dataPin, clockPin, MSBFIRST, B00000001);
digitalWrite(latchPin, HIGH);
digitalWrite(LEDpiny, LOW);
digitalWrite(LEDpinz, LOW);
delay(1500);}
void LEDb ()
{digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
shiftOut(dataPin, clockPin, MSBFIRST, B00000010);
digitalWrite(latchPin, HIGH);
digitalWrite(LEDpiny, LOW);
digitalWrite(LEDpinz, LOW);
delay(1500);}
void LEDc ()
{digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
shiftOut(dataPin, clockPin, MSBFIRST, B00000100);
digitalWrite(latchPin, HIGH);
digitalWrite(LEDpiny, LOW);
digitalWrite(LEDpinz, LOW);
delay(1500);}
void LEDd ()
{digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
shiftOut(dataPin, clockPin, MSBFIRST, B00001000);
digitalWrite(latchPin, HIGH);
digitalWrite(LEDpiny, LOW);
digitalWrite(LEDpinz, LOW);
delay(1500);}
void LEDe ()
{digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
shiftOut(dataPin, clockPin, MSBFIRST, B00010000);
digitalWrite(latchPin, HIGH);
digitalWrite(LEDpiny, LOW);
digitalWrite(LEDpinz, LOW);
delay(1500);}
void LEDf ()
{digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
shiftOut(dataPin, clockPin, MSBFIRST, B00100000);
digitalWrite(latchPin, HIGH);
digitalWrite(LEDpiny, LOW);
digitalWrite(LEDpinz, LOW);
delay(1500);}
void LEDg ()
{digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
shiftOut(dataPin, clockPin, MSBFIRST, B01000000);
digitalWrite(latchPin, HIGH);
digitalWrite(LEDpiny, LOW);
digitalWrite(LEDpinz, LOW);
delay(1500);}
void LEDh ()
{digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
shiftOut(dataPin, clockPin, MSBFIRST, B10000000);
digitalWrite(latchPin, HIGH);
digitalWrite(LEDpiny, LOW);
digitalWrite(LEDpinz, LOW);
delay(1500);}
void LEDi ()
{digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
shiftOut(dataPin, clockPin, MSBFIRST, B00000001);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
digitalWrite(latchPin, HIGH);
digitalWrite(LEDpiny, LOW);
digitalWrite(LEDpinz, LOW);
delay(1500);}
void LEDj ()
{digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
shiftOut(dataPin, clockPin, MSBFIRST, B00000010);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
digitalWrite(latchPin, HIGH);
digitalWrite(LEDpiny, LOW);
digitalWrite(LEDpinz, LOW);
delay(1500);}
void LEDk ()
{digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
shiftOut(dataPin, clockPin, MSBFIRST, B00000100);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
digitalWrite(latchPin, HIGH);
digitalWrite(LEDpiny, LOW);
digitalWrite(LEDpinz, LOW);
delay(1500);}
void LEDl ()
{digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
shiftOut(dataPin, clockPin, MSBFIRST, B00001000);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
digitalWrite(latchPin, HIGH);
digitalWrite(LEDpiny, LOW);
digitalWrite(LEDpinz, LOW);
delay(1500);}
void LEDm ()
{digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
shiftOut(dataPin, clockPin, MSBFIRST, B00010000);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
digitalWrite(latchPin, HIGH);
digitalWrite(LEDpiny, LOW);
digitalWrite(LEDpinz, LOW);
delay(1500);}
void LEDn ()
{digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
shiftOut(dataPin, clockPin, MSBFIRST, B00100000);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
digitalWrite(latchPin, HIGH);
digitalWrite(LEDpiny, LOW);
digitalWrite(LEDpinz, LOW);
delay(1500);}
void LEDo ()
{digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
shiftOut(dataPin, clockPin, MSBFIRST, B01000000);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
digitalWrite(latchPin, HIGH);
digitalWrite(LEDpiny, LOW);
digitalWrite(LEDpinz, LOW);
delay(1500);}
void LEDp ()
{digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
shiftOut(dataPin, clockPin, MSBFIRST, B10000000);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
digitalWrite(latchPin, HIGH);
digitalWrite(LEDpiny, LOW);
digitalWrite(LEDpinz, LOW);
delay(1500);}
void LEDq ()
{digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, B00000001);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
digitalWrite(latchPin, HIGH);
digitalWrite(LEDpiny, LOW);
digitalWrite(LEDpinz, LOW);
delay(1500);}
void LEDr ()
{digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, B00000010);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
digitalWrite(latchPin, HIGH);
digitalWrite(LEDpiny, LOW);
digitalWrite(LEDpinz, LOW);
delay(1500);}
void LEDs ()
{digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, B00000100);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
digitalWrite(latchPin, HIGH);
digitalWrite(LEDpiny, LOW);
digitalWrite(LEDpinz, LOW);
delay(1500);}
void LEDt ()
{digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, B00001000);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
digitalWrite(latchPin, HIGH);
digitalWrite(LEDpiny, LOW);
digitalWrite(LEDpinz, LOW);
delay(1500);}
void LEDu ()
{digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, B00010000);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
digitalWrite(latchPin, HIGH);
digitalWrite(LEDpiny, LOW);
digitalWrite(LEDpinz, LOW);
delay(1500);}
void LEDv ()
{digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, B00100000);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
digitalWrite(latchPin, HIGH);
digitalWrite(LEDpiny, LOW);
digitalWrite(LEDpinz, LOW);
delay(1500);}
void LEDw ()
{digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, B01000000);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
digitalWrite(latchPin, HIGH);
digitalWrite(LEDpiny, LOW);
digitalWrite(LEDpinz, LOW);
delay(1500);}
void LEDx ()
{digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, B10000000);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
digitalWrite(latchPin, HIGH);
digitalWrite(LEDpiny, LOW);
digitalWrite(LEDpinz, LOW);
delay(1500);}
void LEDy ()
{digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
digitalWrite(latchPin, HIGH);
digitalWrite(LEDpiny, HIGH);
digitalWrite(LEDpinz, LOW);
delay(1500);}
void LEDz ()
{digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
digitalWrite(latchPin, HIGH);
digitalWrite(LEDpiny, LOW);
digitalWrite(LEDpinz, HIGH);
delay(1500);}