/*Anschluss des Schrittmotors 17HS13-0404S (Schrittwinkel 1,8 Grad)an ESP8266 NodeMCU V2 L293D Motor Shield. Terminal-Klemmen A- A+ und B- B+. Anschluss Akkupack 7,2 V (tatsaechl.Spannung bis 8V) an VM und GND. Staendiges Drehen Schrittmotor in eine Richtung mit konstanter Drehzahl. Achtung: Kabel der Servos nicht anschliessen ! Einstellung Drehzahl in der Variablen "Schrittzeit". Einstellung der effektiven Spannung an den Wicklungen und damit Strom+Drehmoment ueber PWM-Ausgaenge Pins D1,D2(max mit Wert 1023). Der jeweilige Schrittstatus (Schaltzustand der Ausgaenge des L293D) wird auch im Serial Monitor angezeigt. Die interne LED ist mit D4 verbunden, blinkt deshalb mit 1/4 der Schrittfrequenz. */ int Schrittzeit=10; // Zeitdauer fuer einen Schritt, Variable fuer delay // Schrittzeit 10ms / Schrittfrequenz 100 Hz / Drehzahl 30 U/min byte Status; // Variable fuer den Schrittstatus // Korrelation Ausgaenge D3D4 zum Status: HH=1 LH=2 LL=3 HL=4 void setup() { pinMode(D1, OUTPUT); // ENA ; PWM fuer Wicklung A ; bei 1023 volle Spannung pinMode(D2, OUTPUT); // ENB ; ... Wicklung B ; ... pinMode(D3, OUTPUT); // Einschaltrichtung Strom fuer Wicklung A pinMode(D4, OUTPUT); // ... fuer Wicklung B Serial.begin(9600); // Initialisierung Serial Monitor (beachte: muss auf 9600 eingestellt sein) analogWrite (D1,1023); // wenn niedriger eingestellt wird - pfeifen durch PWM analogWrite (D2,1023); } void loop() { digitalWrite(D3,HIGH); digitalWrite(D4,HIGH); delay(Schrittzeit); Status=1; Serial.println(Status); // Der jeweilige Schrittstatus 1...4 wird im Serial Monitor angezeigt digitalWrite(D3,LOW); digitalWrite(D4,HIGH); delay(Schrittzeit); Status=2; Serial.println(Status); digitalWrite(D3,LOW); digitalWrite(D4,LOW); delay(Schrittzeit); Status=3; Serial.println(Status); digitalWrite(D3,HIGH); digitalWrite(D4,LOW); delay(Schrittzeit); Status=4; Serial.println(Status); }