Errore durante la verifica

salve, sto cercando di comandare un motore passo passo tipo nema 17 con un arduino uno e un potenziometro, per poterne variare la velocità, ma in fase di verifica mi da sempre errore l’istruzione for come posso fare? grazie

const int pinDir = 13; // definisce direzione del Motore
const int pinStep = 12; // Comando di marcia di motore
int pot = A0; // potenziometro
int button = 2; // pulsante di direzione
int velocita; // velocita calcolata
int valbut; // stato pulsante
int valpot; // valoe potenziometro
const int numStepMotore = 200; // numero di step motore da 1.8gradi per giro


void setup() {
 
pinMode (pinStep, OUTPUT);
pinMode (pinDir, OUTPUT);
pinMode (button, INPUT);
Serial.begin(9600);

}

void loop() {

valbut = digitalRead (button);
valpot = digitalRead (pot);
velocita = map(valpot,0,1023,0,5000);
Serial.print(velocita);

if (valbut == HIGH);
{
 digitalWrite (pinDir, HIGH)

For (int x = 0; x <numStepMotore;x++)
{
 digitalWrite (pinStep, HIGH);
 delayMicroseconds (velocita);
 digitalWrite (pinStep, LOW);
 delayMicroseconds (velocita);
}
}
esle {
 digitalWrite (pinDir, LOW);
  for (int x = 0; x <numStepMotore;x++)
{
 digitalWrite (pinStep, HIGH);
 delayMicroseconds (velocita);
 digitalWrite (pinStep, LOW);
 delayMicroseconds (velocita);
 
 }

}
  }

“for”, not “For”

if (valbut == HIGH);

Oops

also line above is missing a ";"

"esle" is mispelled

>Enomis13: Prima di tutto ti segnalo che, nella sezione in lingua Inglese, si può scrivere SOLO in Inglese … quindi, per favore, la prossima volta presta più attenzione in quale sezione metti i tuoi post …

… poi in conformità al regolamento, punto 7, devi editare il tuo post (quindi NON scrivendo un nuovo post, ma utilizzando il bottone More → Modify che si trova in basso a destra del tuo post) e racchiudere il codice all’interno dei tag CODE (… sono quelli che in edit inserisce il bottone con icona fatta così: </>, tutto a sinistra).

In pratica, tutto il tuo codice dovrà trovarsi racchiuso tra due tag: [code] _il _tuo_ codice_ [/code] così da non venire interpretato e non dare adito alla formazione di caratteri indesiderati o cattiva formattazione del testo. Grazie.

Guglielmo

P.S.: Ti ricordo che, purtroppo, fino a quando non avrai sistemato il codice come richiesto, nessuno ti potrà rispondere, quindi ti consiglio di farlo al più presto. :wink:

gpb01:
>Enomis13: Prima di tutto ti segnalo che, nella sezione in lingua Inglese, si può scrivere SOLO in Inglese … quindi, per favore, la prossima volta presta più attenzione in quale sezione metti i tuoi post …

google translate makes this less of an issue and it seems to happen automatically sometimes

sometimes just trying to figure out what someone’s problem is is more of a hindrance

I apologize for the language update, I didn't realize that translate had sent me the page, I try to modify the other errors, thanks and again sorry,
about who gave me suggestions he was very kind, I managed to solve thanks

Mi scuso per l'aggiornamento della lingua, non mi ero reso conto che la translate mi aveva tradotto la pagina, cerco di modificare gli altri errori, grazie e ancora scusa,
su chi mi ha dato suggerimenti è stato molto gentile, sono riuscito a risolvere grazie

Adesso sei sulla parte italiana del sito.

Hai 4 errori:
"for" scritto con la F maiuscola
Se metti un a";" dopo il if finisce subito la condizione.

if (valbut == HIGH);
{
 digitalWrite (pinDir, HIGH)

Il digitalWrite() in questo caso non é condizionalto dal if ma viene eseguito sempre e poi manca il ";" alla fine.

poi "esle" non é "else"

Stai attenta come scrivi le parole perché C é pignolo.

Ciao Uwe

grazie della risposta e della correzione, provo subito a sistemare, mi ero basato un po sul manuale dello starter kit e un po su quello che ho trovato in rete

Grande!!! ora non ho piu' errori, nel pomeriggio lo provo , grazie ancora, la prossima volta staro piu attento
:smiley:

non ho resistito e l'ho provato subito, avevo fatto anche un altro errore:

valpot = digitalRead (pot);

andava analogRead
poi dopo tutto ok ;D
vorrei anche inserire un timer di funzionamento, che mi fermi la rotazione dopo un tempo variabile da potenziometro, , ma non ho idea di come fare :sweat_smile: