#include <Adafruit_NeoPixel.h>
#include "GlowingPixels.cpp"
#define NUMLEDS 16
#define CHANGE_DELAY 16
#define BUTTON_PIN 12
#define PIXEL_PIN_1 25
#define PIXEL_PIN_2 27
#define LED_STRIP_PIN 50
#define RELAY_PIN 39
const uint32_t RED = Adafruit_NeoPixel::Color(255, 0, 0);
const uint32_t GREEN = Adafruit_NeoPixel::Color(0, 255, 0);
const uint32_t BLUE = Adafruit_NeoPixel::Color(0, 0, 255);
const uint32_t LED_STRIP_COLOUR = BLUE;
GlowingPixels pixel1(PIXEL_PIN_1, RED);
GlowingPixels pixel2(PIXEL_PIN_2, GREEN);
Adafruit_NeoPixel ledStrip(NUMLEDS, LED_STRIP_PIN, NEO_GRB + NEO_KHZ800);
void activateRelay() {
// Send signal to relay
digitalWrite(RELAY_PIN, HIGH);
}
void deactivateRelay() {
// Send signal to relay
digitalWrite(RELAY_PIN, LOW);
}
void update() {
int buttonPressed = digitalRead(BUTTON_PIN);
if (buttonPressed == LOW) {
pixel1.update();
pixel2.update();
}
}
void draw() {
int buttonPressed = digitalRead(BUTTON_PIN);
if (buttonPressed == LOW) {
pixel1.draw();
pixel2.draw();
ledStrip.fill(LED_STRIP_COLOUR, 0, ledStrip.numPixels());
ledStrip.show();
activateRelay();
} else {
pixel1.clear();
pixel2.clear();
ledStrip.clear();
ledStrip.show();
deactivateRelay();
}
}
void setup() {
Serial.begin(115200);
pixel1.begin();
pixel2.begin();
ledStrip.begin();
pinMode(BUTTON_PIN, INPUT_PULLUP);
}
void loop() {
update();
draw();
delay(CHANGE_DELAY);
}