#include <Adafruit_NeoPixel.h>
const byte pirPin = 13;
const byte ledPin = 15;
const byte ledNum = 16;
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(ledNum, ledPin, NEO_GRB + NEO_KHZ800);
void setup() {
Serial.begin(115200);
pinMode(pirPin, INPUT);
pixels.begin();
pixels.show();
}
void loop() {
Serial.println(digitalRead(pirPin));
if (digitalRead(pirPin)) {
generateRandomPattern();
};
delay(50);
}
void generateRandomPattern() {
byte pattern = random(1, 3);
if (pattern == 1) {
for (int i = 0; i < ledNum; i++) {
byte red = random(0, 256);
byte green = random(0, 256);
byte blue = random(0, 256);
pixels.setPixelColor(i, red, green, blue);
pixels.show();
}
} else if (pattern == 2) {
for (int c = 0; c <= 255; c++) {
for (int i = 0; i < ledNum; i++) {
pixels.setPixelColor(i, 0, c, c);
}
pixels.show();
delay(10);
}
for (int c = 255; c >= 0; c--) {
for (int i = 0; i < ledNum; i++) {
pixels.setPixelColor(i, 0, c, c);
}
pixels.show();
delay(10);
}
}
}