Serieller Monitor
Beitrag vom 18. November 2020
Dateneingabe mit dem Seriellen Monitor
Dieses Thema scheint ja schon überall erschöpfend behandelt worden zu sein.
Aber so leicht ist es auch wieder nicht...
Ich wollte ein Zinsberechnungsprogramm mit Eingabe des Zinssatzes über den Seriellen Monitor schreiben.
Die Berechnung und Ausgabe der Zinsentwicklung bei einem fest vorgegebenen Zinssatz waren in 10 Minuten programmiert.
Aber wie kann man das Programm so lange "anhalten", bis etwas eingegeben wir?
Hier meine Lösung des Problems:
// Zinsberechnung mit Eingabe des Zinssatzes über Ser. Monitor // Entwicklung von anfänglich 1000 € in 10 Jahren
void setup() { Serial.begin(9600); Serial.flush(); // Seriellen Puffer löschen Serial.println("Zinsberechnung"); Serial.println("1000 € für 10 Jahre anlegen"); // Eingabe Serial.println("Bitte Zinssatz eingeben!"); String zinssatz="0"; while (zinssatz == "0") { while (Serial.available()) { zinssatz = Serial.readString(); // read the incoming data as string Serial.print("Zinssatz = "); Serial.println(zinssatz); delay(100); Serial.flush(); } } Serial.print("Gerundet auf "); Serial.print(zinssatz.toInt()); Serial.println(" %"); // Rekursive Lösung float Jahresergebnis = 1000; // Start mit 1000 € for (int i = 0; i < 10; i++) { Jahresergebnis = Jahresergebnis + Jahresergebnis * zinssatz.toInt() / 100; Serial.print(i + 1); Serial.print(". Jahr: "); Serial.print(Jahresergebnis); Serial.println(" Euro"); } }
void loop() {
} |
Meine Quellen für diesen Artikel:
https://www.instructables.com/Arduino-Function-Serialread-And-SerialreadString/
https://www.arduino.cc/reference/en/language/functions/communication/serial/readstring/
.