Hallo,
ich versuche aktuell ein NodeMCU Motor Shield mit einem ESP32 und zwei
Motoren anzusteuern. Das Motor Shield besitzt einen L293D. Mein Problem
ist die Drehrichtung der Motoren.
Das Vorwärtsfahren mit folgendem Code funktioniert einwandfrei:
1
voidforward(void)
2
{
3
analogWrite(5,1023);
4
analogWrite(4,1023);
5
digitalWrite(D3,HIGH);
6
digitalWrite(D4,HIGH);
7
}
Wenn mich nicht alles täuscht und ich die Zuordnung der Pins richtig
verstanden habe, müsste ich doch mit folgendem Code rückwärts fahren
können:
1
voidbackward(void)
2
{
3
analogWrite(5,1023);
4
analogWrite(4,1023);
5
digitalWrite(D3,LOW);
6
digitalWrite(D4,LOW);
7
}
So passiert allerdings gar nichts mehr und keiner der beiden Motoren
bewegt sich. Wenn ich hingegen folgenden Code probiere, dreht immerhin
Motor A in die richtige Richtung, also rückwärts. Motor B dreht sich
vorwärts:
1
voidbackward(void)
2
{
3
analogWrite(5,1023);
4
analogWrite(4,1023);
5
digitalWrite(D3,LOW);
6
digitalWrite(D4,HIGH);
7
}
Was genau mache ich hier falsch?
Viele Grüße
Philipp
Stefan U. schrieb:> Warum benutzt du Schreibweisen gemischt?> 4 und 5 versus D3 (=0) und D4 (=2)?
Merkwürdigerweise kommt er damit nicht klar. Wenn ich D3 und D4 durch 0
und 2 ersetze, passiert ebenfalls nichts mehr.
Einen richtigen Schaltplan habe ich nicht gefunden, aber hier steht, auf
welchen GPIOs die Eingänge vom Motor Shield liegen:
https://hackaday.io/project/8856-incubator-controller/log/29291-node-mcu-motor-shield
Kein Schaltplan, das ist doch Käse!
Wenn diese Doku stimmt (was wir mangels Schaltplan nicht prüfen können),
müsste es so funktionieren. Hast du eventuell vergessen, D3 und D4 als
Ausgang zu konfigurieren?
Mach doch zur Kontrolle einfach LED's an diese Pins dran.
Eigentlich habe ich das gemacht. Nur der Vollständigkeit halber mal der
komplette Code. Sieht nicht schön aus und ist munter aus verschiedenen
Code-Beispielen zusammenkopiert.
Aber die Ausgänge sind doch korrekt konfiguriert, oder?