void setup()
{
Serial.begin(9600);
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
pinMode(11, OUTPUT);
}
void loop()
{
float srednee = RunningAverage();
Serial.println(srednee);
if (srednee >= 900)
{
digitalWrite(13, LOW);
digitalWrite(12, LOW);
digitalWrite(11, LOW);
}
else if (srednee < 900 && srednee >= 600)
{
digitalWrite(13, HIGH);
digitalWrite(12, LOW);
digitalWrite(11, LOW);
}
else if (srednee < 600 && srednee >= 300)
{
digitalWrite(13, LOW);
digitalWrite(12, HIGH);
digitalWrite(11, LOW);
}
else if (srednee < 300)
{
digitalWrite(13, LOW);
digitalWrite(12, LOW);
digitalWrite(11, HIGH);
}
}
float RunningAverage()
{
static float filtredValue = 0.0;
float newValue = 0.0, koeff;
newValue = analogRead(A0);
if (abs(newValue-filtredValue) > 10)
{
koeff = 0.9;
}
else
{
koeff = 0.01;
}
filtredValue += (newValue - filtredValue) * koeff;
return filtredValue;
}