Problema al presionar el pulsador

Hola estoy haciendo un proyecto

  • 8 LEDs
  • 8 resistencias (220 ohmios)
  • Pulsador (botón)
  • Resistencia pull-down (10k ohmios)
  • Obligatorio el uso de interrupciones
    Cuando inicio el simulador de mi proyecto en Tinkercad, inicia girando inicialmente en sentido antihorario pero cuando presiono el pulsador no me cambia a sentido horario.
    Este es el codigo:
    const int ledPins[] = {2, 3, 4, 5, 6, 7, 8, 9}; // Pines donde están conectados los LEDs
    const int buttonPin = 10; // Pin donde está conectado el pulsador
    volatile bool direction = false; // Variable que almacena la dirección de rotación

void setup() {
// Configurar pines de los LEDs como salida
for (int i = 0; i < 8; i++) {
pinMode(ledPins[i], OUTPUT);
}

// Configurar pin del pulsador como entrada
pinMode(buttonPin, INPUT);

// Configurar interrupción en el pin del pulsador
attachInterrupt(digitalPinToInterrupt(buttonPin), changeDirection, FALLING);
}

void loop() {
if (direction) {
rotateClockwise();
} else {
rotateCounterClockwise();
}
delay(100); // Retardo para observar el movimiento de los LEDs
}

void rotateClockwise() {
for (int i = 0; i < 8; i++) {
digitalWrite(ledPins[i], HIGH);
delay(100);
digitalWrite(ledPins[i], LOW);
}
}

void rotateCounterClockwise() {
for (int i = 7; i >= 0; i--) {
digitalWrite(ledPins[i], HIGH);
delay(100);
digitalWrite(ledPins[i], LOW);
}
}

void changeDirection() {
direction = !direction; // Cambiar la dirección de rotación
}

Su publicacion se MUEVE a su ubicacion actual ya que es mas adecuada.

Entonce que debo hacer

Por favor lee las Normas del Foro en Español , luego edita tu post y presenta el código de acuerdo a las mismas (ver punto 7). También usa la opción "Autoformato" de la IDE antes de copiar el código así nos facilitas la lectura.

Recuerda que los pines que están asociados a interrupciones son distintos para cada tablilla. ¿Que modelo de Arduino usas tú?

Y necesitamos ver tu diagrama de conexiones, especialmente cómo tienes conectado el pulsador. Puedes hacer un dibujo a mano y publicar una foto.


esta es la imagen

¿Te cuesta mucho corregir tu post y poner el código como corresponde?

El pin 10 no genera interrupciones hardware.

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 (<CODE/>)


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