// pines
int LED = 2; // pin LED
int BOTON = 4;// pin boton
int POT = 35; // pin del potenciometro

// avriables 
int estado = 0; // estado del led
int brillo = 0; // brillo led

void setup() {
    pinMode(LED, OUTPUT);
    pinMode(BOTON, INPUT);
}

void loop() {
    // lee el boton
    if (digitalRead(BOTON) == HIGH) {
        delay(50);  // cada que presiones el boton no tenga un espacio 
        if (digitalRead(BOTON) == HIGH) {
            // falso o verdadero
            if (estado == 0) {
                estado = 1;
            } else {
                estado = 0;
        }
        }
    }
    // ajusta el brillo
    int valorPot = analogRead(POT);
    brillo = valorPot / 16;  // Convierte 0-4095 a 0-255
    // controla led
    if (estado) {
        analogWrite(LED, brillo);
    } else {
        analogWrite(LED, 0);
    }
}
esp:0
esp:2
esp:4
esp:5
esp:12
esp:13
esp:14
esp:15
esp:16
esp:17
esp:18
esp:19
esp:21
esp:22
esp:23
esp:25
esp:26
esp:27
esp:32
esp:33
esp:34
esp:35
esp:3V3
esp:EN
esp:VP
esp:VN
esp:GND.1
esp:D2
esp:D3
esp:CMD
esp:5V
esp:GND.2
esp:TX
esp:RX
esp:GND.3
esp:D1
esp:D0
esp:CLK
led1:A
led1:C
r1:1
r1:2
btn1:1.l
btn1:2.l
btn1:1.r
btn1:2.r
r2:1
r2:2
pot1:GND
pot1:SIG
pot1:VCC