Welche Pins als Outputs wählen?

Gast #3124045
Lesenswert?
• ▲
▼
Hallo!
Ich habe mir einen Arduino Mega 2560 und ein SainSmart L293D Motor Drive 
Shield bestellt, um einen bipolaren Schrittmotor zu betreiben. Den Motor 
habe ich an den M3 und M4- Pins angeschlossen. Mit der AFMotor-Library 
habe ich den Motor schon zum Drehen gebracht, jedoch möchte ich die 
Spulen nun von Hand ansteuern, was bisher noch nicht so ganz 
funktioniert. Ich vermute, dass der Fehler darin liegt, dass ich nicht 
die richtigen Pins als Output wähle. Kann mir das jemand bestätigen und 
mir sagen, welche ich sattdessen wählen muss und wie man darauf kommt? 
Hier ist mein Code:

int Pin0=8;
int Pin1=9;
int Pin2=10;
int Pin3=11;

void setup(){
pinMode(Pin0,OUTPUT);
pinMode(Pin1,OUTPUT);
pinMode(Pin2,OUTPUT);
pinMode(Pin3,OUTPUT);
}

void loop(){
digitalWrite(Pin0,HIGH);
digitalWrite(Pin0,LOW);
digitalWrite(Pin0,LOW);
digitalWrite(Pin0,LOW);
delay(100);

digitalWrite(Pin0,LOW);
digitalWrite(Pin0,HIGH);
digitalWrite(Pin0,LOW);
digitalWrite(Pin0,LOW);
delay(100);

digitalWrite(Pin0,LOW);
digitalWrite(Pin0,LOW);
digitalWrite(Pin0,HIGH);
digitalWrite(Pin0,LOW);
delay(100);

digitalWrite(Pin0,LOW);
digitalWrite(Pin0,LOW);
digitalWrite(Pin0,LOW);
digitalWrite(Pin0,HIGH);
delay(100);
}

Danke schonmal im Voraus für die Antwort! =)
Gruß, Lars
Gast #3124265
Lesenswert?
• ▲
▼
ohja klar, das habe ich etwas verplant beim Eintippen - war natürlich 
nicht richtig :-D aber jetzt:

int Pin0=8;
int Pin1=9;
int Pin2=10;
int Pin3=11;

void setup(){
pinMode(Pin0,OUTPUT);
pinMode(Pin1,OUTPUT);
pinMode(Pin2,OUTPUT);
pinMode(Pin3,OUTPUT);
}

void loop(){
digitalWrite(Pin0,HIGH);
digitalWrite(Pin1,LOW);
digitalWrite(Pin2,LOW);
digitalWrite(Pin3,LOW);
delay(100);

digitalWrite(Pin0,LOW);
digitalWrite(Pin1,HIGH);
digitalWrite(Pin2,LOW);
digitalWrite(Pin3,LOW);
delay(100);

digitalWrite(Pin0,LOW);
digitalWrite(Pin1,LOW);
digitalWrite(Pin2,HIGH);
digitalWrite(Pin3,LOW);
delay(100);

digitalWrite(Pin0,LOW);
digitalWrite(Pin1,LOW);
digitalWrite(Pin2,LOW);
digitalWrite(Pin3,HIGH);
delay(100);
}

aber weiß jetzt jemand, welche pins ich als Output wählen muss bzw. wie 
ich das rausfinde?
#3124324
Lesenswert?
• ▲
▼
Lars schrieb:
> Ja das habe ich schon beides versucht, wurde aber nicht wirkilch schlau
> daraus. :/

Dann musst du weiter 'schauen'.

Aus dem Schaltplan geht ja hervor, welche Leitung vom L293 auf welchen 
Arduino Anschlusspin geht. Die musst du dir halt mal raussuchen.

Und mit dem Code bzw. einer Codeanalyse kann man das dann sicher auch 
bestätigen. Im Code sieht man ja, wie die Klasse den Shield ansteuert.
Gast #3124368
Lesenswert?
• ▲
▼
Ok, vielen Dank für die schnelle Antwort! Ich bin jetzt nochmal die 
AFMotor.cpp Datei durchgegangen und habe aus z.b. "pinMode(5,OUTPUT) 
[...] //on arduino mega, pin 5 is now PE3" geschlossen, dass nun 9 als 
OUTPUT gesetzt werden muss. bei den anderen pins bin ich genauso 
vorgegangen und daher hab ich jetzt insgesamt 4,8,9 und 13 als OUTPUT 
gesetzt. Jedoch möchte der Motor immernoch nicht laufen. Weiß jemand, 
was ich jetz noch falsch gemacht haben könnte?
#3184701
Lesenswert?
• ▲
▼
Wenn's analytisch nicht geht, dann vielleicht empirisch.

Mit anderen Worten: Wenn du es dem Schaltplan und dem Code nicht 
entnehmen kannst, hilft vielleicht rumprobieren.

Kurzes Testprogramm, welches an einem Port langsam blinkt. Mit einem 
Messgerät gucken, ob einer (und welcher) der Motorshield-Eingänge 
blinkt.

Mit einem Oszilloskop geht das natürlich schneller.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.