< Arduino N° 56 | > Arduino N° 58 |
Esempio di pilotaggio di un motore a passo.
Il motore effettua una rotazione completa avanti/indietro.
Nell'esempio viene ipotizzato un motore con 200 passi/giro.
// ----------------------- Inizio programma -----------------------------------------------------
/* Stepper Motor Control - one revolution
* This program drives a unipolar or bipolar stepper motor.
* The motor is attached to digital pins 8,9,10,11 of the Arduino.
* The motor should revolve one revolution in one direction,
* then one revolution in the other direction.
* Created 11 Mar. 2007
* Modified 30 Nov. 2009 by Tom Igoe
* Modified 1 june 2020 by Achille De Santis
*/
#include <Stepper.h>
const int stepsPerRevolution = 200; // change this to fit the number of steps per revolution
// for your motor
// -------- I/O ----------------------------------------
#define P1 8
#define P2 9
#define P3 10
#define P4 11
// ------------------------------------------------------
Stepper myStepper(stepsPerRevolution, P1, P2, P3, P4); // initialize the stepper library on pins 8 through 11:
void avanti() { myStepper.step(stepsPerRevolution); } // step one revolution in one direction
void indietro() { myStepper.step(-stepsPerRevolution); } // step one revolution in the other direction
void setup()
{
myStepper.setSpeed(60); // set the speed at 60 rpm
Serial.begin(9600); // initialize the serial port
}
void loop()
{
// step one revolution in one direction:
Serial.println("clockwise");
avanti();
delay(500);
// step one revolution in the other direction:
Serial.println("counterclockwise");
indietro();
delay(500);
}
// --------------------- Fine programma ----------------------------------------------
Simulazione:
Argomenti correlati:
Nessun commento:
Posta un commento