int SENSOR=0;
int LED=3;
int MODO_PWM=2;
int MODO_DIGITAL=4;
int VALOR;
int PWM;
bool ESTADO=LOW;
long TIEMPOPREVIO=0;
long INTERVALO=5000;

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

void loop() {    

  VALOR=analogRead(SENSOR);
  PWM=map(VALOR, 0,1023,0,255);
  if(digitalRead(MODO_PWM)==HIGH){
  analogWrite(LED, PWM );
  delay(1000);
  }
  else{
 digitalWrite(LED, LOW);
  }
  unsigned long currentMillir=millis();
 if(currentMillir>=INTERVALO){
   
 if(MODO_DIGITAL){
    if(VALOR>=200) {
     digitalWrite(LED, HIGH);
     ESTADO=HIGH;
     }
     else{
       digitalWrite(LED, LOW);
       ESTADO=LOW;
     }
 }
     }
     }