#include <Servo.h>

const int lightSensorPin = A0;  // Pin voor de lichtsensor
const int servoPin = 9;         // Pin voor de servo
const int ledPin = 11;          // Pin voor het lampje

int lightValue;                 // Variabele om de lichtwaarde op te slaan
Servo servo;                    // Maak een servo-object aan

void setup() {
  Serial.begin(9600);   // Initialiseer de seriële communicatie
  servo.attach(servoPin); // Koppel de servo aan de juiste pin
  pinMode(ledPin, OUTPUT); // Zet de LED pin als output
}

void loop() {
  // Lees de lichtwaarde
  lightValue = analogRead(lightSensorPin);
  
  // Print de lichtwaarde naar de seriële monitor
  Serial.print("Light value: ");
  Serial.println(lightValue);

  // Als de lichtwaarde lager is dan 800, beweeg de servo snel heen en weer
  if (lightValue < 800) {
    digitalWrite(ledPin, HIGH); // Zet het lampje aan

    // Beweeg de servo naar de maximale positie (bijv. 180 graden)
    for (int angle = 0; angle <= 40; angle += 5) {
      servo.write(angle);     // Stuur de hoek naar de servo
      delay(80);              // Wacht 80 milliseconden
    }

    // Beweeg de servo terug naar de startpositie (bijv. 0 graden)
    for (int angle = 40; angle >= 0; angle -= 5) {
      servo.write(angle);     // Stuur de hoek naar de servo
      delay(80);              // Wacht 80 milliseconden
    }
  } else {
    // Als de lichtwaarde boven 800 ligt, plaats de servo in een neutrale positie (bijv. 90 graden)
    servo.write(20);
    digitalWrite(ledPin, LOW); // Zet het lampje uit
  }
}




