ok wenn du da 1, 2, 3 auf der Tastatur eintippst kommen über die serielle Schnittstelle die ashii-code der gedrückten Tasten. im Falle von 1 2 3 die Zahlen 49, 50 und 51 (dezimal)
Der unten angeführte Sketch nimmt bis zu 5 Zahlen entgegen und wandelt sie in eine Zahl um. Damit auch kleinere Zahlen übertragen werden können ohne vor der Zahl Nullen zu schreiben wartet der Sketch 0,5 Sekunden für die Übertragung.
int Zahl;
char Data[5]; //Anzahl der max Ziffernzahl -1 in diesem Fall eine 4-stellige Zahl
int i; //Arbeitsvariable
unsigned long Tempo; // Startzeit für die Übertragung
void setup()
{
Serial.begin(9600);
}
void loop(){
do {
if (Serial.available()) {
Data[i] = Serial.read(); //liest die Zeichen nacheinander ein
i++;
}
if(i<1)Tempo = millis(); // Startzeit abspeichern
} while (i<4 && (millis()-Tempo) < 500); // schleife solange nicht 4 Zeichen übertragenoder 0,5 Sekunden vorbei sind
Data[i] = 0; // Abschluß der Zeichenkette mit Null für die Umwandlung
Zahl = atoi(Data); // Umwandlung Zeichenkette zu
i=0;
Serial.println(Zahl); // ausgabe der Zahl zu kontrolle
}
Grüße Uwe