Buona sera , sono un nuovo utente , beh leggendo il nickname si può intuire il mio nome e una delle mie serie preferite.
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ù )
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)