/*Naprogramujte ARDUINO tak,
aby ovládal 5 posuvných potenciometrov a jeden neo-pixel pás s 10 prvkami.
Prvé tri potenciometre budú nastavovať farebnú zložku R / G / B.
Pri minime potenciometra bude mať daná zložka hodnotu 0, pri maxime 255.
Kombináciou sa teda zvolí farba, ktorou má pásik svietiť.
Štvrtý posuvník určí rýchlosť blikania od 50ms po 1000ms.
Piaty posuvník určí, koľko z LED prvkov pásika má svietiť
(minimum = 0 a maximum = 10).*/
#include <Adafruit_NeoPixel.h>
Adafruit_NeoPixel blikatko(10, 12, NEO_GRB + NEO_KHZ800);
unsigned long previousMillis = 0;
void setup() {
blikatko.begin();
}
void loop() {
unsigned long currentMillis = millis();
int redMeter = analogRead(A0);
int colorRed = map(redMeter, 0, 1023, 0, 255);
int greenMeter = analogRead(A1);
int colorGreen = map(greenMeter, 0, 1023, 0, 255);
int blueMeter = analogRead(A2);
int colorBlue = map(blueMeter, 0, 1023, 0, 255);
int blinkMeter = analogRead(A3);
int blinkCooldown = map(blinkMeter, 0, 1023, 50, 1000);
int brightnessMeter = analogRead(A4);
int ledCount = map(brightnessMeter, 0, 1023, -1, 9);
if (currentMillis - previousMillis >= blinkCooldown)
{
if(ledCount == -1)
{
for(int x = 0; x <= 9 ; x++)
{
blikatko.setPixelColor( x, blikatko.Color(0,0,0) );
blikatko.clear();
blikatko.show();
}
}
else if(ledCount != -1)
{
for(int x = 0; x <= ledCount ; x++)
{
blikatko.setPixelColor( x, blikatko.Color(colorRed,colorGreen,colorBlue) );
blikatko.show();
}
}
previousMillis = currentMillis;
}
blikatko.clear();
}