Anfängerschwierigkeiten bei Schrittmotorensteuerung
hallo forum,
ich brauche eure hilfe bei meinem kleinem projekt, dem ich mangels wissen nicht weiter komme:
ich möchte eine teleskop-steuerung programmieren. hier erst einmal die grundfunktion:
motor 1 soll sich dauernd drehen (links herum)
taster 1 doppelte geschwindigkeit
taster 2 doppelte geschwindigkeit (rechts herum)
motor 2: nur wenn die taster 3 ( links herum) oder taster 4 (rechts herum) gedrückt werden.
meine hardware: arduino uno, adafruit motor shield v2, zwei stepper 12v.
mein erster versuch:
danke im voraus
sascha
ich brauche eure hilfe bei meinem kleinem projekt, dem ich mangels wissen nicht weiter komme:
ich möchte eine teleskop-steuerung programmieren. hier erst einmal die grundfunktion:
motor 1 soll sich dauernd drehen (links herum)
taster 1 doppelte geschwindigkeit
taster 2 doppelte geschwindigkeit (rechts herum)
motor 2: nur wenn die taster 3 ( links herum) oder taster 4 (rechts herum) gedrückt werden.
meine hardware: arduino uno, adafruit motor shield v2, zwei stepper 12v.
mein erster versuch:
code: [select]
#include <adafruit_motorshield.h>
#include <wire.h>
#include <accelstepper.h>
const int buttonpin1 = 2; // taster1 für motor1 positive rotation
const int buttonpin2 = 3; // taster2 für motor1 negative rotation
const int buttonpin3 = 4; // taster3 für motor2 positive rotation
const int buttonpin4 = 5; // taster4 für motor2 negative rotation
const int buttonpin5 = 6; // taster5 für doppelte geschwindigkeit
int buttonstate = 0;
adafruit_motorshield afms = adafruit_motorshield();
adafruit_steppermotor *mystepper1 = afms.getstepper(200, 1); // verbindet den schrittmotor mit anschluss #1 (m1 und m2)
adafruit_steppermotor *mystepper2 = afms.getstepper(200, 2); // verbindet den schrittmotor mit anschluss #2 (m3 und m4)
void setup()
{
afms.begin(); // mit der standardfrequenz 1,6 khz
}
void loop()
{
// motor1
buttonstate = digitalread(buttonpin1);
if (buttonstate == high)
{
mystepper1->onestep(forward, microstep);
}
buttonstate = digitalread(buttonpin2);
if (buttonstate == high)
{
mystepper1->onestep(backward, microstep);
}
// motor2
buttonstate = digitalread(buttonpin3);
if (buttonstate == high)
{
mystepper2->onestep(forward, microstep);
}
buttonstate = digitalread(buttonpin4);
if (buttonstate == high)
{
mystepper2->onestep(backward, microstep);
}
}
danke im voraus
sascha
hallo,
das stimmt fast alles hinten und vorne nicht.
hier gibt es etwas zu dem shield:
https://learn.adafruit.com/adafruit-motor-shield-v2-for-arduino/overview
hier die software dazu:
https://github.com/adafruit/adafruit_motor_shield_v2_library
bei den "examples" sollte man erkennen können, wie es funktioniert.
hier gibt es etwas über taster:
http://arduino.cc/en/pmwiki.php?n=tutorial/digitalreadserial
damit weißt du dann schon einmal, wie man "schalter" deklariert und die
ein- und ausgänge schaltet. dir fehlt ein wenig viel wissen.
gruß und spaß
andreas
das stimmt fast alles hinten und vorne nicht.
hier gibt es etwas zu dem shield:
https://learn.adafruit.com/adafruit-motor-shield-v2-for-arduino/overview
hier die software dazu:
https://github.com/adafruit/adafruit_motor_shield_v2_library
bei den "examples" sollte man erkennen können, wie es funktioniert.
hier gibt es etwas über taster:
http://arduino.cc/en/pmwiki.php?n=tutorial/digitalreadserial
damit weißt du dann schon einmal, wie man "schalter" deklariert und die
ein- und ausgänge schaltet. dir fehlt ein wenig viel wissen.
gruß und spaß
andreas
Arduino Forum > International > Deutsch (Moderator: uwefed) > Anfängerschwierigkeiten bei Schrittmotorensteuerung
arduino
Comments
Post a Comment