Problema Codice per usare motorshield Adafruit

Salve ragazzi,

vorrei controllare un motore passo passo e poter utilizzare alcuni pin di arduini per dei pulsanti e uno schermo LCD

ho alcuni problemi però.

ho un pulsante sul pin 8 il quale non fa altro che aumentare un numero di secondi sul display.

#include <LiquidCrystal.h>
#include <AFMotor.h>
unsigned long a=5000;
// this constant won't change:
const int  buttonPin = 8;    




int buttonPushCounter = 0;   
int buttonState = 0;

int lastButtonState = 0; 

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
AF_Stepper motor(200,1);
void setup() {
  motor.setSpeed(50);
  pinMode(buttonPin, INPUT);
  
 

  Serial.begin(9600);
}


void loop() {
  motor.step(5,FORWARD,SINGLE);
  
  buttonState = digitalRead(buttonPin);

 
  if (buttonState != lastButtonState) {
    
    if (buttonState == HIGH) {
      
      buttonPushCounter++;
      lcd.begin(16, 1);
      lcd.print("Secondi  ");
      lcd.print(buttonPushCounter);
 

    }
    else {
      }
 delay(50);

}
  lastButtonState = buttonState;

}

il motore non gira o meglio se inserisco un PIN inesistente es.14 allora il motore gira se invece inserisco pin8 dove c’è un pulsante collegato il motore è come morto .

perchè ???

la mia idea sarebbe di comandare un DELAY di uno step e l’altro tramite un pulsante e far visualizzare il tutto sul display.

Grazie per l’aiuto in anticipo

Che ne dici di correggere il titolo del Thread con uno più consono ... ... visto che i problemi sono nel TUO codice e non con la società Adafruit ... ::)

Guglielmo

giusta intuizione, corretto

... devi correggerlo editando il PRIMO tuo post .... altrimenti non lo cambia ;)

Guglielmo

ho cliccato modifica e modificato il titolo ....

Forse la motor shield usa il pin 8 e percui non ti funziona. Controlla la documentazione.

Il pin 14 esiste. È il pin A0. Le entrate analogiche possono essere usati come pin digitali e perndono i numeri da 14 a 19.

Ciao Uwe