Eins vorweg: ich bin relativ unerfahren mit dem Programmieren, ist echt übel, ja sogar schlimm.
Mein Vorhaben : Ein Drucktaster startet den Sketch, welcher dann 2 Schrittmotoren ansteuern/starten soll. Wenn die Motoren Ihre Steps abgearbeitet haben, soll durch erneutes drücken des Schalters der Sketch wieder von vorne anfangen.
Wie kann ich hier den Sketch für Euch einfach abbilden, damit einer von Euch Profis mal ein Auge draufwirft?
Im englischen Teil des Forum müssen die Beiträge und Diskussionen in englischer Sprache verfasst werden. Deswegen wurde diese Diskussion in den deutschen Teil des Forums verschoben.
Kurz zu mir: ICH BIN ANFÄNGER, also haut bitte leicht zu ( klaaatsch ).
Zu meiner Frage/ Vorhaben: Ein Drucktaster soll einen Sketch starten, welcher 2 Schrittmotoren starten soll. Nachdem diese Ihre Steps abgearbeitet haben, soll durch erneutes drücken der Sketch wieder von vorne anfangen.
Arduino Uno mit Motorshield V3 , 2 Nema 17 Steppermotoren .
Wie kann ich hier den Sketch einbinden, damit ein Profi mal ein geübtes Auge drauf werfen kann? ( nicht wörtlich nehmen )
void setup(void) {
Serial.begin(9600); //Starten der seriellen Kommunikation mit 9600 baud
Serial.println("Temperatursensor - DS18B20");
sensors.begin(); //Starten der Kommunikation mit dem Sensor
sensorCount = sensors.getDS18Count(); //Lesen der Anzahl der angeschlossenen Temperatursensoren.
}
Zu den verwendeten Anschlüssen nach dem Anschlussplan
1 LED- negativ GND geht auf GND am Arduino
2 LED+ Positiv PWR geht auf 3,5 V am Arduino
C Common ( gemeinsam NO/NC geht auf A5 am Arduino
NO Normal Open geht auf Digital Pin 5 am Arduino.
Kannst Du mal etwas genauer beschreiben, welche HW Du einsetzt? Es gibt verschiedene Motorschields, und auch Stepper sind sehr unterschiedlich bezügl. ihrer elektrischen Eigenschaften ( 'NEMA17' ist da bei weitem nicht ausreichend zur Beschreibung - das bezieht sich nur auf die Mechanik ).
Nicht jeder Stepper passt zu jedem Shield - das muss man sorgfältig auswählen.
Hallo MicroBahner,
Das Motorshield ist das Hailege TB6612 FNG IIC I2C .
Ich denke nicht das es damit was zu tun hat, denn die Motoren laufen ohne Einbindung des Druckschalters.
Denke eher , es hat was mit der Verkabelung zu tun.
Den Sketch habe ich mittlerweile mit einem Pull-Up-Widerstand geschrieben.
Die Anschlüsse habe ich am Motorshiel angeschlossen , wie bereits weiter oben im Post beschrieben...
Wenn Du dir den Sketch mal anschauen möchtest ?
#include<Wire.h>
#include <Adafruit_MotorShield.h>
#include<AccelStepper.h>
// Objekt für Motorshield erzeugen
Adafruit_MotorShield AFMS =
Adafruit_MotorShield();
// Schrittmotor an MotorPort Nr1 ( M3 und M4)
Adafruit_StepperMotor
*myStepper =
AFMS.getStepper(200, 1);
Adafruit_StepperMotor
*myStepper1 =
AFMS.getStepper(200, 2);
//Eingänge
int starttaste = 5; // GPIO?
int start = HIGH;
void setup() {
pinMode(5,INPUT_PULLUP); // Eingang
// Schrittmotoren auf Geschwindigkeit setzen
myStepper->setSpeed(10); // mystepper für Z Achse
myStepper1->setSpeed(200); // myStepper1 für X Achse
//Motorshiel starten
AFMS.begin();
}
void loop(){
//Taster wird abgefragt
if (digitalRead(5)== HIGH){
//gedrückt
} else {
//nicht gedrückt
}
//nach oben Backward nach unten Forward
myStepper->step(100,BACKWARD,INTERLEAVE);
myStepper->step(100,FORWARD,INTERLEAVE);
myStepper1->step(500,BACKWARD,SINGLE);
myStepper1->step(500,FORWARD,SINGLE);
delay(10);
}