#include <Servo.h>
#define pinLDR A1
#define pinServo 9
unsigned long proximaLeitura=0;
unsigned long somaLeitura = 0;
unsigned long quantLeitura = 0;
unsigned long mediaAnterior =0;
byte posiServo =90;
char charDirecao = 1;
Servo meuServo;
void setup() {
Serial.begin(9600);
pinMode(pinLDR, INPUT);
delay(500);
somaLeitura = analogRead(pinLDR);
quantLeitura=1;
mediaAnterior = somaLeitura;
meuServo.attach(pinServo);
meuServo.write(90);
}
void loop() {
int valorLido = analogRead (pinLDR);
if (millis() > proximaLeitura){
proximaLeitura += 125;
Serial.println ();
Serial.println(valorLido);
Serial.println ("");
unsigned long mediaLeituras = somaLeitura / (unsigned long)quantLeitura;
Serial.println (mediaLeituras);
Serial.println ("");
quantLeitura= 0;
somaLeitura= 0;
if (mediaLeituras < mediaAnterior ){
charDirecao *= -1;
}
posiServo+=charDirecao;
mediaAnterior = mediaLeituras;
}
somaLeitura += valorLido;
quantLeitura++;
}