const int ldrPin = A0;
const int ledPin = 3;
const int potPin = A1;
const int buttonPin = 2;
bool automaticMode = true;
int lastButtonState = LOW;
unsigned long lastDebounceTime = 0;
unsigned long debounceDelay = 50;
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT_PULLUP);
Serial.begin(9600);
}
void loop() {
int ldrValue = analogRead(ldrPin);
int potValue = analogRead(potPin);
int reading = digitalRead(buttonPin);
if (reading == LOW && lastButtonState == HIGH && (millis() - lastDebounceTime > debounceDelay)) {
automaticMode = !automaticMode;
lastDebounceTime = millis();
}
lastButtonState = reading;
if (automaticMode) {
int brightness = map(ldrValue, 0, 1023, 255, 0);
analogWrite(ledPin, brightness);
} else {
int brightness = map(potValue, 0, 1023, 0, 255);
analogWrite(ledPin, brightness);
}
Serial.print("Modo: ");
Serial.println(automaticMode ? "Automático" : "Manual");
delay(100);
}