INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Stepper Motor mit zwei Taster bedienen / Fehler ohne Fehlermeldung
20.03.2020, 11:42
Beitrag #1
Stepper Motor mit zwei Taster bedienen / Fehler ohne Fehlermeldung
Hallo zusammen,

ich bin gerade dabei mit dem Arduino Motor Shield l293d meine beiden Stepper Motoren via Taster links bzw. rechts bewegen zu lassen. Der Taster nach links funktioniert nur der nach rechts nicht. Der Sketch geht ohne Fehlermeldung durch. Ich habe den nicht funktionierende Taster bereits ausgetauscht sowie auch den 10k Wiederstand. Kann vielleicht der Code falsch sein auch wenn keine Fehlermeldung kommt ?

Würde mich über ein Feedback freuen....

Gruß Patrick

Code:
#include <AFMotor.h>

AF_Stepper motor1(200, 1);
AF_Stepper motor2(200, 2);


int tasterAUF = 13;
int tasterAB = 2;
int tasterStatus;


void setup() {
  pinMode(tasterAUF, INPUT);
  motor1.setSpeed(50);  // 10 rpm
  motor2.setSpeed(50);  // 10 rpm


  pinMode(tasterAB, INPUT);
  motor1.setSpeed(50);  // 10 rpm
  motor2.setSpeed(50);  // 10 rpm


}

void loop() {
  tasterStatus = digitalRead(tasterAUF);
  if (tasterStatus == LOW) {
    motor1.step(FORWARD, INTERLEAVE);
    motor2.step(FORWARD, INTERLEAVE);

    tasterStatus = digitalRead(tasterAB);
    if (tasterStatus == LOW)
      motor1.step(BACKWARD, INTERLEAVE);
      motor2.step(BACKWARD, INTERLEAVE);


    }
  }
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.03.2020, 11:55
Beitrag #2
RE: Stepper Motor mit zwei Taster bedienen / Fehler ohne Fehlermeldung
(20.03.2020 11:42)Milano schrieb:  Kann vielleicht der Code falsch sein auch wenn keine Fehlermeldung kommt ?
Bei den meisten - vor allem den kniffligen - Fehlern im Code kommt keine Fehlermeldung vom Compiler Wink

So wie ich das sehe, hast Du die Abfrage des 'tasterAB' innerhalb des if-Blocks für den tasterAUF gemacht. D.h. Wenn der Taster 'AUF nicht gedrückt wird, wird der andere gar nicht abgefagt. Ausserdem fehlen beim 2.If die Klammern für den if-Block.So sollte es funktionieren ( ungetesteter Auszug ):
Code:
void loop() {
  tasterStatus = digitalRead(tasterAUF);
  if (tasterStatus == LOW) {
    motor1.step(FORWARD, INTERLEAVE);
    motor2.step(FORWARD, INTERLEAVE);
  } else {
    tasterStatus = digitalRead(tasterAB);
    if (tasterStatus == LOW) {
      motor1.step(BACKWARD, INTERLEAVE);
      motor2.step(BACKWARD, INTERLEAVE);
    }
  }
}
Das else verhindert Probleme, wenn Du beide Tasten gleichzeitig drückst.

Gruß, Franz-Peter
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.03.2020, 13:27
Beitrag #3
RE: Stepper Motor mit zwei Taster bedienen / Fehler ohne Fehlermeldung
Hi, erstmal besten Dank dafür...Der Code läuft :-D

Ich traue mich ja schon gar nicht zu fragen, aber woran kann das liegen das obwohl ich Backward und Forward eingetragen habe die Motoren sich immer im Uhrzeiger drehen ? Habe mir die Beispiel Codes von der Libary mal angeschaut, kann da aber nicht so wirklich ein Fehler finden bei mir. Den Code habe ich auch mal ohne Taster ausprobiert und dort funktioniert es komischer weise mit dem vor und zurück.

Wäre echt super, falls du da nochmal ein Lösungsansatz für mich hast :-D

Grüße, Patrick
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.03.2020, 14:57 (Dieser Beitrag wurde zuletzt bearbeitet: 20.03.2020 14:58 von MicroBahner.)
Beitrag #4
RE: Stepper Motor mit zwei Taster bedienen / Fehler ohne Fehlermeldung
Hallo Patrick,
ich habe dieses (uralte) Motorshield nicht, und kenne deshalb auch die dazugehörige Lib nicht. Wenn ich jetzt aber mal in die AFMotor.h hineinschaue, wundere ich mich, dass es überhaupt funktioniert. Auch in den Beispielen benötigt die step Methode immer 3 Parameter wobei als erstes die Zahl der auszuführenden Steps anzugeben ist. Es gibt dann nocht die Methode oneStep, die nur die 2 Parameter wie in deinem Sketch benötigt. Eine Methode 'step' mit 2 Paramtern - so wie bei Dir - sehe ich da nicht. Schau dir die Beispiele noch mal an, so wie Du es machst, kann es eigentlich nicht richtig sein.

Gruß, Franz-Peter
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.03.2020, 17:52
Beitrag #5
RE: Stepper Motor mit zwei Taster bedienen / Fehler ohne Fehlermeldung
Hey Franz-Peter,
ich hatte mir die Bibliothek auch schon mal angeschaut und mit den Befehlen gespielt, aber habe es leider nicht geschafft. Werde mich die Tage damit wohl weiter auseinander setzen. Aber vielen dank für deine nette Hilfe.
Ich wünsche ein schönes Wochenende und Virenfrei :-)

Gruß Patrick
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.03.2020, 19:40
Beitrag #6
RE: Stepper Motor mit zwei Taster bedienen / Fehler ohne Fehlermeldung
Ich wollte nur kurz bescheid geben das es jetzt funktioniert. Es fehlt tatsächlich die Angabe wieviel Steps er Pro Tastendruck machen soll.

Code:
#include <AFMotor.h>

AF_Stepper motor1(48, 2);
AF_Stepper motor2(48, 2);


int tasterAUF = 13;
int tasterAB = 2;
int tasterStatus;

void setup() {
  Serial.begin(9600);           // set up Serial library at 9600 bps
  Serial.println("Stepper test!");

pinMode(tasterAUF, INPUT);

  motor1.setSpeed(200);  // 10 rpm
  motor2.setSpeed(100);  // 10 rpm    
}

void loop() {


  Serial.println("Interleave coil steps");

  tasterStatus = digitalRead(tasterAUF);
  if (tasterStatus == LOW) {
  motor1.step(10, FORWARD, INTERLEAVE);
  motor2.step(10, FORWARD, INTERLEAVE);
  } else {
    tasterStatus = digitalRead(tasterAB);
    if (tasterStatus == LOW) {
      motor1.step(10, BACKWARD, INTERLEAVE);
      motor2.step(10, FORWARD, INTERLEAVE);
  

    }
  }
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
21.03.2020, 16:06
Beitrag #7
RE: Stepper Motor mit zwei Taster bedienen / Fehler ohne Fehlermeldung
Danke für die Rückmeldung und viel Spaß weiterhin.

Gruß, Franz-Peter
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Fehlermeldung beim Sketch hochladen heino_m 12 247 Gestern 18:25
Letzter Beitrag: Tommy56
  Fehler bei delay über 32767 Kleingärtner 5 280 07.05.2020 18:51
Letzter Beitrag: Kleingärtner
Question Sketch compilieren und testen ohne hochladen? Triax16 18 856 02.05.2020 12:48
Letzter Beitrag: Bitklopfer
  Betätigung d. Sensors soll Steuerung abschalten und nur über Taster einschalten Floydi 12 595 26.04.2020 07:47
Letzter Beitrag: MicroBahner
  Fehler bei eigener Library Samu_wo 4 269 20.04.2020 15:51
Letzter Beitrag: Samu_wo
  Funk Fernbedienung Taster Abfrage kurz oder lange gedrückt Michi_exe 15 580 16.04.2020 17:19
Letzter Beitrag: Tommy56
  Fehler beim Kompilieren Lunge 6 364 09.04.2020 14:07
Letzter Beitrag: MicroBahner
  Zwei Arduinos via Bluetooth koppeln schaarva 18 980 05.04.2020 16:17
Letzter Beitrag: Rainer2
  Menu funktioniert ohne Serial.println nicht GSA1150 7 388 30.03.2020 18:26
Letzter Beitrag: Tommy56
  Undefined reference-Fehler beim Kompilieren MdE 9 519 24.03.2020 21:39
Letzter Beitrag: Tommy56

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste