PWM liefert beim Arduino ja leider nur eine feste Frequenz.
https://www.arduino.cc/en/Reference/AnalogWrite
Was in einer festen Drehzahl des Steppers resultieren würde.
Es gibt schon fertige Stepper Libraries, das ist der einfachste Weg.
Oder mit DigitalWrite in einer ISR die per TimerInterrupt aufgerufen wird. Der Timerwert (die Häufigkeit des ISR Aufrufs) bestimmt dann die Drehzahl.
Natürlich geht es auch wie beim LED Beispiel mit Delay, aber dann macht das Teil auch nichts mehr anderes als warten und den Pin Status zu ändern.
https://www.arduino.cc/en/tutorial/blink
Code:
void setup() {
// initialize digital pin 13 as an output.
pinMode(13, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(13, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
https://www.arduino.cc/en/Reference/HomePage
Ist ganz empfehlenswert als Infoquelle.
Und wenn es darum geht einen PIN zu togglen, dann dort:
https://www.arduino.cc/en/Reference/Boolean
Da dann !(not)
Tip: Boolean Hilfsvariable.
hilfsvariable = !hilfsvariable
Ausgang setzten auf Zustand der hilfsvariable.
Lesezeichen