Controlar el motor paso a paso 28BYJ-48 con ULN2003
FunduinoÚltima actualización el
2048 Schritte pro Umdrehung – ohne externe Spannungsversorgung
Verkabelung am Arduino
1 / 2
Der Programmcode
Eine Umdrehung vor und zurück
#include <Stepper.h> // Hinzufügen der Programmbibliothek.
int SPU = 2048; // Schritte pro Umdrehung.
Stepper Motor(SPU, 3,5,4,6); // Der Schrittmotor erhält die Bezeichnung "Motor", dahinter stehen die Pins, an denen er angeschlossen ist.
void setup() // Hier beginnt das Setup.
{
Motor.setSpeed(5); // Angabe der Geschwindigkeit in Umdrehungen pro Minute.
}
void loop() {
Motor.step(2048); // Der Motor macht 2048 Schritte, das entspricht einer Umdrehung.
delay(1000); // Durch diese Pause bleibt der Motor nach der Drehung eine Sekunde stehen.
Motor.step(-2048); // Durch das Minuszeichen dreht der Motor 2048 Schritte in die andere Richtung.
delay(1000); // Wieder eine Sekunde Pause.
}Drehung ohne große Schrittmengen
Drehen, bis ein Taster gedrückt wird
#include <Stepper.h>
int SPU = 2048;
Stepper Motor(SPU, 3,5,4,6);
int Taster = 7; // Taster an Pin 7
int Tasterstatus = 0; // Variable für den Status des Tasters
void setup()
{
Motor.setSpeed(4);
pinMode(Taster, INPUT);
}
void loop()
{
Tasterstatus = digitalRead(Taster); // Zunächst wird der Taster abgefragt.
while(Tasterstatus == HIGH) // Solange der Taster gedrückt ist …
{
delay(1); // … springt der Sketch in diese Klammer und verbleibt hier.
Tasterstatus = digitalRead(Taster); // Innerhalb der Schleife muss der Taster immer wieder abgefragt werden, damit der Mikrocontroller eine Änderung erkennt. Nur so lässt sich die Schleife beim Loslassen wieder verlassen.
} // Ist der Taster nicht mehr gedrückt, springt der Sketch in den regulären Loop zurück.
Motor.step(1); // … drehe den Motor um einen einzigen Schritt.
} // Jetzt beginnt der Sketch von vorn. Solange der Taster nicht gedrückt ist, läuft die while-Schleife nicht und der Motor dreht sich Schritt für Schritt weiter.Calificar la guía