Motore Passo Passo e Arduino

Buona sera , sono un nuovo utente , beh leggendo il nickname si può intuire il mio nome e una delle mie serie preferite. :slight_smile:
Sono venuto a conoscenza del forum , perchè sono uno studente del quarto anno di un istituto tecnico , indirizzo elettrotecnica/elettronica , e da novembre stiamo usando Arduino( in sistemi e automazione) , trovandolo molto interessante , ma ahimè sono una capra , anche perchè non ho mai scritto una riga di codice in nessun linguaggio.
Fino ad adesso ho dovuto sudare anche per le cose più semplici , siccome mi sono iscritto alla metà di novembre saltando tutta l'introduzione più i primi programmi.
Non mi sarei rivolto al forum se prima non avessi effettuato qualche ricerca sui problemi che sto per esporvi (probabilmente per alcuni di voi saranno davvero banali , ma io putroppo non riesco a cavare nulla)
Vorrei chiedervi cos'è una funzione?
e come faccio ad assegnare a questa uno o più parametri collegati ad essa.
Provo a spiegarmi meglio , attualmente stiamo comandando un motore Passo Passo con Arduino, le prime lezione lo abbiamo fatto girare in senso orario , poi in antiorario , infine nello stesso programma in entrambi i sensi con diverse velocità.
Ora viene chiesto di comandare il motore con un unica funzione : velocità , passi e intervallo.
Non riesco a scrivere nulla senza che vengano mille errori ,vi posto il codice

int tempo=100;
void setup(){
  pinMode(22,OUTPUT);
  pinMode(23,OUTPUT);
  pinMode(24,OUTPUT);
  pinMode(25,OUTPUT);
  pinMode(26,INPUT);
}
void loop(){
   if (digitalRead(26)== LOW){
      orario(tempo);
      }
   if (digitalRead(26)== HIGH) {
      antiorario(tempo);
      }
             
   }





void orario(int tempo){
  digitalWrite(25,HIGH);
  delay(tempo);
  digitalWrite(25,LOW);
  delay(tempo);
  digitalWrite(23,HIGH);
  delay(tempo);
  digitalWrite(23,LOW);
  delay(tempo);
  digitalWrite(24,HIGH);
  delay(tempo);
  digitalWrite(24,LOW);
  delay(tempo);
  digitalWrite(22,HIGH);
  delay(tempo);
  digitalWrite(22,LOW);
  delay(tempo);
}

void antiorario(int tempo){
  digitalWrite(22,HIGH);
  delay(tempo);
  digitalWrite(22,LOW);
  delay(tempo);
  digitalWrite(23,HIGH);
  delay(tempo);
  digitalWrite(23,LOW);
  delay(tempo);
  digitalWrite(24,HIGH);
  delay(tempo);
  digitalWrite(24,LOW);
  delay(tempo);
  digitalWrite(25,HIGH);
  delay(tempo);
  digitalWrite(25,LOW);
  delay(tempo);
}

Come dovrei modificare?

PS: Sono uno studente del serale , durante il giorno lavoro (per fortuna x D) , e purtroppo il tempo per provare da autodidatta è misero (full time , in un negozio= schiavitù :grinning: )

Probabilmente ripeto , sono io che alle 22 di sera non sono più così sveglio ,spero di non seccare nessuno.
Una persone che non ha mai programmato come dovrebbe fare ?
(La risposta iniziare a programmare non è valida x D)

Buonasera,
essendo il tuo primo post, nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con MOLTA attenzione tutto il su citato REGOLAMENTO ... Grazie. :slight_smile:

Guglielmo

P.S.: Ti ricordo che, fino a quando non sarà fatta la presentazione, nessuno ti potrà rispondere, quindi ti consiglio di farla al più presto. :wink:

Chiedo scusa per l'innosservanza .
Vado a presentarmi alla community.

EDIT: Presentato!
Ci ho messo tempo , sono stato un pò impegnato in questi giorni.

Hai provato a studiare QUESTO proseguire con QUESTO e acquistare un buon libro (es. QUESTO) ?

Fammi sapere ... :slight_smile:

Guglielmo