#define EN_PIN 2 //enable #define DIR_PIN 4 //direction #define STEP_PIN 3 //step #include "CurieTimerOne.h" float temp=0; String tempstring; void setup() { pinMode(EN_PIN, OUTPUT); digitalWrite(EN_PIN, HIGH); //deactivate driver (LOW active) pinMode(DIR_PIN, OUTPUT); digitalWrite(DIR_PIN, LOW); //LOW or HIGH pinMode(STEP_PIN, OUTPUT); digitalWrite(STEP_PIN, LOW); digitalWrite(EN_PIN, LOW); //activate driver Serial.begin(9600); } void loop() { tempstring = Serial.readString(); if(tempstring=="stop"){CurieTimerOne.pwmStop();} temp = tempstring.toFloat(); if(temp){TMC2100(temp);} //silentstepstick //if(temp){A4988(temp);} //pololu temp=0; } void A4988( float n ) { Serial.print("neue Drehzahl A4988: "); Serial.print(n); Serial.print(" U/s"); Serial.print('\n'); n = 5000/n; CurieTimerOne.pwmStart(3, 25.0, n); } void TMC2100( float n ) { Serial.print("neue Drehzahl TMC2100: "); Serial.print(n); Serial.print(" U/s"); Serial.print('\n'); n = 312.5/n; CurieTimerOne.pwmStart(3, 25.0, n); }