/*****************************************************************
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