#include <ESP32Servo.h>
const int servoPin = 5;
Servo servo1;
const int ledPin = 4;
const int prPin = 3;
bool dag = false;
int lux = 0;
const int dagLux = 2045;
int vinkel = 0;
int servoRetning = 1;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, ESP32-C3!");
servo1.attach(servoPin);
pinMode(prPin, INPUT);
pinMode(servoPin, OUTPUT);
pinMode(ledPin, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
//digitalWrite(ledPin, HIGH);
delay(10); // this speeds up the simulation
unsigned long timer = millis();
lux = analogRead(prPin);
int servoPos = servo1.read();
if ((lux < dagLux) && (servoPos < 90) && (servoRetning == 1)) {
digitalWrite(ledPin, LOW);
vinkel = ((servoPos+1)*servoRetning);
delay(5.0/90.0);
} else {
servoRetning = -1;
}
if ((lux < dagLux) && (servoPos >= 0) && (servoRetning == -1)) {
digitalWrite(ledPin, LOW);
vinkel = ((servoPos+1)*servoRetning);
delay(5.0/90.0);
} else {
servoRetning = 1;
}
if ((lux >= dagLux) && (servoPos < 90) && (servoRetning == 1)) {
digitalWrite(ledPin, HIGH);
vinkel = ((servoPos+1)*servoRetning);
delay(10.0/90.0);
} else {
servoRetning = -1;
}
if ((lux >= dagLux) && (servoPos >= 0) && (servoRetning == -1)) {
digitalWrite(ledPin, HIGH);
vinkel = ((servoPos+1)*servoRetning);
delay(10.0/90.0);
} else {
servoRetning = 1;
}
servo1.write(vinkel);
Serial.println(lux);
Serial.print(servoPos);
}