/*****************************************************************
	 light & sound signal
                        by Steve Barth 2022
 *****************************************************************/
#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
#include <avr/power.h>
#endif

#define NUMPIXELS 12
#define startpin   3   // start button
#define stoppin    4   // stop button
#define sndPin    12   // piezo
#define ledPin    10

Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, ledPin, NEO_GRB + NEO_KHZ800);

int i= 0;
int delayval = 100;   // led delay 
byte val = 0;           // variable for reading the start pin status
int offState = 0;      // variable for off button status
int notes[] = {262, 294, 330, 349}; // piezo tones


void setup() 
{
  Serial.begin(9600);
  pinMode(ledPin, OUTPUT);  // declare LED as output
  pinMode(sndPin, OUTPUT);
  pinMode(startpin, INPUT); 
  pinMode(stoppin, INPUT); 
  pixels.begin(); //setPixelColor(i, pixels.Color(0, 0, 0)); 
  pixels.show();
}


void loop() 
{
  val = digitalRead(startpin);
   // read input value
  if (val == HIGH) 
  {         // (button pressed)
    Serial.println("start"); 
    SetPixels();
    //digitalWrite(ledPin, LOW);
  }
  /*offState = digitalRead(stoppin);
  if (offState == HIGH) 
  {
    Serial.println("stop"); 
    //digitalWrite(ledPin, LOW);
  }
  else {
    //digitalWrite(ledPin, HIGH);
  }*/
}

void SetPixels() 
{
  for (int i = 11; i <= NUMPIXELS; i--) 
  {
    pixels.setPixelColor(i, pixels.Color(random()+100, random()+50,random()+200)); 
    pixels.show(); // updated pixel color 
    delay(delayval); 
    //Serial.println(i);
    //pixels.setPixelColor(i, pixels.Color(0, 0, 0)); 
    pixels.show();

  if ( i < 1 )
    {
     i=12;
    }
  }
}
nano:12
nano:11
nano:10
nano:9
nano:8
nano:7
nano:6
nano:5
nano:4
nano:3
nano:2
nano:GND.2
nano:RESET.2
nano:0
nano:1
nano:13
nano:3.3V
nano:AREF
nano:A0
nano:A1
nano:A2
nano:A3
nano:A4
nano:A5
nano:A6
nano:A7
nano:5V
nano:RESET
nano:GND.1
nano:VIN
nano:12.2
nano:5V.2
nano:13.2
nano:11.2
nano:RESET.3
nano:GND.3
bz1:1
bz1:2
ring1:GND
ring1:VCC
ring1:DIN
ring1:DOUT
btn1:1.l
btn1:2.l
btn1:1.r
btn1:2.r
btn2:1.l
btn2:2.l
btn2:1.r
btn2:2.r
r1:1
r1:2
r2:1
r2:2