Obiettivo didattico: passaggio di parametri a funzioni e procedure
Obiettivo dell’ esercitazione: far accelerare lo stepper motor al variare del segnale analogico in input dal potenziometro
Elenco attrezzature e materiali:
- scheda arduino
- potenziometro
- stepper motor
- driver L298N
- cavi di collegamento
- breadboard
- cavo usb per collegare arduino con il pc
Codice pseudolinguaggio/flowchart:
includo libreria stepper
dichiaro costante StepPerRivoluzioni=200
-inizializzo la libreria stepper e gli passo come parametri i pin
utilizzati e il numero di step per rivoluzioni
fai una sola volta { }
fai sempre
{
leggo valore analogico su A0 e lo metto nella variabile sensor reading
-effettuo la mappatura del valore analogico da 0 a 100 e assegno il valore
alla variabile motorSpeed
se la velocita’ del motore e’ > 0 allora
{
imposta velocita’ (motorSpeed)
aspetta finche’ il motore finisca di muoversi
}
}
Codice Arduino:
#include <Stepper.h>
const int stepsPerRevolution = 200; // cambia per incrementare il numero di passi per rivoluzione
// inizializzo la libreria stepper da pin 8 a 11
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);
void setup() {}
void loop()
{
// leggo valore analogico da potenziometro
int sensorReading = analogRead(A0);
// map it to a range from 0 to 100:
int motorSpeed = map(sensorReading, 0, 1023, 0, 100);
if (motorSpeed > 0)
{
// step da 1/100 rivoluzioni:
myStepper.setSpeed(motorSpeed);
myStepper.step(stepsPerRevolution / 100);
}
}
Schema collegamenti elettronici:
Descrizione top-down dei passi realizzativi:
- Realizzare il circuito
- Scrivere il codice arduino
- Collegare la scheda arduino al pc tramite il cavo usb
- Caricare il programma cliccando sul pulsante “carica” dell‘ambiente software arduino
Test finale:
Osservare l’ incremento della velocita’ del motore a step girando il potenziometro.
Commenti recenti