Pages: 1 [2] 3   Go Down
Author Topic: Einfache if-Abfrage  (Read 2837 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 31
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

immer noch das gleiche verhalten
Logged

Switzerland
Offline Offline
Faraday Member
**
Karma: 108
Posts: 5144
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Dann vereinfachen wir mal radikal:

Code:
#include <Stepper.h>

Stepper stepper(100, 8, 9, 10, 11);


void setup(){
    stepper.setSpeed(1);
 
}

void loop(){
  stepper.step(1);
}

Dreht sich der Motor mit diesem Sketch?
Logged

Offline Offline
Edison Member
*
Karma: 21
Posts: 1419
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Eine Frage. Die Pins 8,9,10 und 11 sind ja die Anschlüsse für den Stepper.
Ich verstehe, das der Stepper einen Schritt machen soll. Aber warum setzt Du die Pins 8,9,10 und 11 in jedem anderen Fall auf LOW? Damit pfuscht Du im schlimmsten Fall der Stepper-Lib ins Handwerk.
Also, welchen Sinn hat der else-Zweig in deinem if-Konstrukt?

Ansonsten schliesse ich mich erstmal "pylon" an. Funktioniert denn der Stepper überhaupt wie gewünscht?
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 31
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ja der Sketch von pylon funktioniert..

Ich muss die ausgänge auf low setzen damit ich den schrittmotor abschalten kann, da er sonst heiß wird.
Logged

Switzerland
Offline Offline
Faraday Member
**
Karma: 108
Posts: 5144
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Dann haben wir hier Testcode für den Taster. Funktioniert dieser auch?

Code:
void setup() {
  Serial.begin(9600);
}


void loop() {
  if (digitalRead(4) == HIGH) {
    Serial.println("Taster gedrückt");
  }
}
Logged

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 263
Posts: 21587
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Der Sketch von pylon gilt für einen Pulldown-Widerstand und den Taster zwischen Eingang und +5V.
Wenn Du einen Pullup-Widerstand oder den internen Pullup verwendest dann ist folgender Sketch richtig.
Grüße Uwe

Code:
void setup() {
  Serial.begin(9600);
}

void loop() {
  if (digitalRead(4) == LOW) {
    Serial.println("Taster gedrückt");
  }
}
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 31
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Das lustige ist bei beiden Sketches gibt er permanent "Taster gedrückt" aus, egal ob der Taster betätigt wurde oder nicht.
Logged

Germany
Offline Offline
Edison Member
*
Karma: 47
Posts: 2320
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Code:
pinMode (4, INPUT);
konnte ich noch nicht entdecken... smiley-wink
Logged

Mein Arduino-Blog: http://www.sth77.de/ - letzte Einträge: Teensy 3.0 - Teensyduino unter Window 7 - Teensyduino unter Windows 8

Switzerland
Offline Offline
Faraday Member
**
Karma: 108
Posts: 5144
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Dann stimmt etwas mit Deiner IDE nicht, denn das heisst, dass LOW==HIGH ist bei Dir. Kannst Du das nochmals überprüfen mit den zwei Sketches und wenn es wirklich so ist, dass er in beiden Sketches permanent "Taster gedrückt" auf die Serielle Schnittstelle schreibt, würde ich dringend zu einer Neuinstallation der IDE raten.

Die andere Möglichkeit wäre ein Floating Pin gewesen (also beim Taster weder Pull-Up noch Pull-Down installiert), aber dann hätte zumindest bei einem der Sketche durch Drücken des Tasters ein Zustandswechsel eintreten müssen.

Quote
konnte ich noch nicht entdecken...

Alle GPIO sind beim ATmega per Default auf Eingang geschaltet, der pinMode() ist also nicht zwingend.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 31
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Also ein Pull Down Widerstand ist definitiv verbaut, der auch funktioniert.
Logged

Germany
Offline Offline
Edison Member
*
Karma: 47
Posts: 2320
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

vielleicht doch ein Fehler in der Beschaltung? Hast du mal ein Foto der Schaltung?
Logged

Mein Arduino-Blog: http://www.sth77.de/ - letzte Einträge: Teensy 3.0 - Teensyduino unter Window 7 - Teensyduino unter Windows 8

Offline Offline
Newbie
*
Karma: 0
Posts: 31
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Also das rote Kabel links vom Taster ist Plus.
Der Widerstand rechts davon geht auf Ground.
und das gelbe Kabel geht auf Pin 4.


* 2012-11-21 16.49.19.jpg (2417 KB, 1936x2592 - viewed 32 times.)
Logged

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 263
Posts: 21587
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Also das rote Kabel links vom Taster ist Plus.
Der Widerstand rechts davon geht auf Ground.
und das gelbe Kabel geht auf Pin 4.
[seufz]Schön, daß mal einer nicht ein Gpixel großes Bild hochläd. [/seufz]
stock95 bitte ein bißchen größeres Bild und auch einen Größeren Ausschnitt, so etwa 800 mal 600 px.
Danke, Grüße Uwe
Logged

Switzerland
Offline Offline
Faraday Member
**
Karma: 108
Posts: 5144
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Also ein Pull Down Widerstand ist definitiv verbaut, der auch funktioniert.

Hmmm, wenn er funktioniert, sollte digitalRead(4) ohne Druck auf den Taster ein LOW zurückliefern und somit in meinem Testsketch keine serielle Ausgabe auftreten.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 31
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Also der taster war kaputt.

Wenn ich es mit einer statischen variable löse dann funktioniert es.
Logged

Pages: 1 [2] 3   Go Up
Jump to: