Professional Documents
Culture Documents
Intensidad Encoder
Intensidad Encoder
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(swPin, INPUT_PULLUP);
pinMode(dtPin, INPUT);
pinMode(clkPin, INPUT);
digitalWrite(swPin, HIGH); // Habilitar resistencia pull-up interna
Serial.begin(9600);
}
void loop() {
int switchState = digitalRead(swPin); // Leer el estado del interruptor
if (buttonPressed) {
int encoded = readEncoder();
if (encoded != lastEncoded) {
brightness += encoded;
if (brightness < 0) {
brightness = 0;
} else if (brightness > 255) {
brightness = 255;
}
analogWrite(ledPin, brightness);
Serial.print("Brillo del LED: ");
Serial.println(brightness);
}
lastEncoded = encoded;
}
delay(10);
}
int readEncoder() {
int dtState = digitalRead(dtPin);
int clkState = digitalRead(clkPin);
if (dtState != clkState) {
return 1;
} else {
return -1;
}
}