Secuencia Potenciometro

Buenas tardes, estoy intentando hacer una secuencia de 3 led controlados por un potenciometro que se vayan encendiendo escalonadamente, pero además quiero que estos led no se enciendan de golpe, si no aumentando la intensidad.
Adjunto lo que de momento he conseguido hacer a partir de información que he obtenido


// El LED estará conectado al pin 3, 5  que admite control analógico PWM
// El potenciómetro está conectado a 5V y GND, y al puerto analógico Nº 0.

void setup()
{
   pinMode(3, OUTPUT) ; 	// El pin Analógico 3 será el pin de salida.
   pinMode(5, OUTPUT) ; 	// El pin Analógico 5 será el pin de salida.
   pinMode(6, OUTPUT) ; 	// El pin Analógico 6 será el pin de salida.
   pinMode(A0, INPUT) ; 	// El pin Analógico A0 será el pin de entrada.
}

void loop()
{
   int adc = analogRead(A0);
   int Led1 = map(adc, 0, 1024, 1, 255);
   int Led2 = map(adc, 0, 1024, 1, 255);
   int Led3 = map(adc, 0, 1024, 1, 255);

}

Al girar el potenciometro en vez de intentar que se enciendan de uno en uno, hacen una cosa un tanto extraña.
Muchas gracias

Moderador:
Por favor, lee las Normas del foro y edita tu código/error usando etiquetas de código.
Ve a edición, luego selecciona todo el código que has publicado, lo cortas y click en </>


1 Like

Así está bien?

NO se ve nada, por ende no estuvo del todo bien.
Mira otros hilos para entender lo que te digo.
El foro ahora permite previsualizar a la derecha. No hay forma de equivocarse. Si aún asi ocurre vuelve a editar.
Te he explicado como se hace. No es dificil.

Ya esta perfecto

Yo no veo en tu código ninguna sentencia que encienda algún led.

Para que hagan lo que se te pidió debes usar analogWrite().

Vas bien encaminado pero falta.

Saludos

Otra cosa, porque de 1 a 255. Debe ser de 0 a 255.
Sigue además el consejo de @gatul

Ademas algún que otro if haria falta. Prueba esto y me cuentas, no tengo ganas de montar una protoboar a estas horas.

void loop() {
  int adc = analogRead(A0);
  if ( adc <= 341 ) {
    analogWrite (3, map(adc, 0, 341, 0, 255);
  }
  if ( adc > 341 && adc < 682) {
    analogWrite (5, map(adc, 342, 681, 0, 255);
  }
  if ( adc >= 682 ) {
    analogWrite (6, map(adc, 682, 1023, 0, 255);
  }
}

@gonpezzi la idea era que este muchachito, que por lo visto no prestó mucha atención en clases, haga él mismo el trabajo, no hacérselo nosotros y que "zafe" del asunto sin esfuerzo. Fijate en su otro tema.

Saludos

No me habia dado cuenta que era el mismo tipo, bueno ya le conteste alli y tiene pistas para las otras dos.

Esta perfecto, lo único es que faltaban por cerrar unos paréntesis
Muchas gracias