Ich versuche, Benutzereingabe vom seriellen Monitor zu erhalten, um einen Schrittmotor entsprechend der Eingabe zu drehen. Mein Code gibt jedoch den ASCII-Wert und nicht die ursprüngliche Eingabe zurück.Konvertieren von ASCII in Int in Arduino
#include <Stepper.h>
Stepper small_stepper(steps_per_motor_revolution, 8, 10, 9, 11);
void setup() {
// Put your setup code here, to run once:
Serial.begin(9600);
Serial.println("Ready");
}
void loop() {
// Put your main code here, to run repeatedly:
int Steps2Take = Serial.read();
Serial.println(Steps2Take); // Printing
if (Steps2Take == -1)
Steps2Take = 0;
else {
small_stepper.setSpeed(1000); // Setting speed
if (Steps2Take > 0)
small_stepper.step(Steps2Take * 32);
else
small_stepper.step(-Steps2Take * 32);
delay(2);
}
}
https://www.arduino.cc/en/Serial/Read –
https://www.arduino.cc/en/Serial/ParseInt Blöcke, die einfach schön in Ihrem Demo Fall ist, wird aber stören in echten Szenarien ... – datafiddler
Weil du neu bist möchte ich anmerken, dass es möglich ist, wenn du willst, die Antwort zu akzeptieren. Es gibt einen kleinen "Tipp", der grün wird :) – Leos313