Parpadeo led con Potenciómetro

hola que tal estoy intentando controlar el tiempo de parpadeo con un potenciómetro
la cosa es que lo hice pero el problema es que parpadea lento .
se por que es , pero quería saber si había una manera para lo haga mas rápido

este es el codigo

int potencimetro = 0;
unsigned long tiempoActual;
unsigned long tiempoPrevio;

void setup()
{
  
  pinMode(13, OUTPUT);
}

void loop()
{
  potencimetro = analogRead(A0);
  
  for(int i=0;i<10;i++){
    
  if(Tiempo(&tiempoActual,&tiempoPrevio ,potencimetro) == 1){
  
  digitalWrite(13,!digitalRead(13));
  
  }
    
  if(Tiempo(&tiempoActual,&tiempoPrevio ,potencimetro) == 1){
  
  digitalWrite(13,!digitalRead(13));
  
  }
    
    
    
    
  }
  
}






int Tiempo(unsigned long* tiempoActual,unsigned long* tiempoPrevio ,unsigned int intervalo){
 
  int estado;
  
  estado = 0;
  
  *tiempoActual = millis();
  
 if (*tiempoActual - *tiempoPrevio >= intervalo)
    {
       *tiempoPrevio = millis();
        estado = 1;
    }
  
  
  return estado;
}

void loop()
{
  uint16_t fastest = 50;   // lo más rápido
  uint16_t slowest = 500;  // el más lento
  
  potencimetro = map(analogRead(A0), 0, 1023, fastest, slowest);
  

//for (int i = 0; i < 10; i++) {

  if (Tiempo(&tiempoActual, &tiempoPrevio , potencimetro) == 1)
  {
    digitalWrite(13, !digitalRead(13));
  }

  if (Tiempo(&tiempoActual, &tiempoPrevio , potencimetro) == 1)
  {
    digitalWrite(13, !digitalRead(13));
  }
//}
}
1 Like

Parpadea segun la lectura el potenciometro de 0 a 1023, es decir ente 0 segundos entre parpadeos y 1, 023 segundos entre parpadeos. ¿Que tiempos querias tener?, porque un parpadeo de 0,001 segundos ya es bastante rapido y no lo notas.
Lo que no le encuentro sentido es al "for", supongo qeue tendra sentido para algo mas que vas a añadir.
Lo que si te sobra es el segundo "if", ya que anula el intervalo impuesto por el primero, o te sobra el primero, segun como lo veas.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.