This repository has been archived on 2025-10-20. You can view files and clone it, but cannot push or open issues or pull requests.
Files
2bki21/INF/Seriell_04/Seriell_04.ino
2024-10-02 10:12:56 +02:00

35 lines
1.4 KiB
C++

/* Zahlen einlesen
* Zunächst wird eine kurze Anleitung ausgegeben, danach wartet das Programm
* auf das erste Zeichen (egal, was ihr da eintippt).
* Von da an wird die Eingabe auf Zahlen untersucht => parseInt()
* Die Zahl wird hier einfach wieder ausgegeben und die LED blinkt mit der Wartezeit
*/
//int MY_LED = 5; // LED an Pin 5
int LED_BUILTIN=32;
uint16_t Zeit, Zeit_neu; // Eingabe von 1 bis 65535 möglich
void setup() {
pinMode(LED_BUILTIN, OUTPUT); // funktioniert nur, wenn das richtige Board eingestellt ist!
//pinMode(MY_LED, OUTPUT); // LED an anderem Pin
Serial.begin(115200);
Zeit = 100; // Anfangswert für die Periodendauer
Serial.println("Zahlen einlesen, zuerst ein beliebiges Zeichen senden");
while (Serial.available()==0); // warte auf erstes Zeichen // Input
Serial.println("Jetzt nur noch Zahlen 0-65535 eingeben und Senden klicken"); // Weitere Anleitung
}
void loop() {
digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN)); // blinken
//digitalWrite(MY_LED, !digitalRead(MY_LED)); // blinken mit anderer LED
delay(Zeit);
if (Serial.available() > 0) { // ein oder mehrere Zeichen empfangen??
Zeit_neu = Serial.parseInt(); // gibt 0 zurück, wenn kein gültiges Zeichen empfangen wurde => stört hier
if(Zeit_neu !=0) {
Zeit = Zeit_neu; // nur übernehmen, wenn der Wert nicht 0 ist.
}
Serial.print("Neue Zeit: ");
Serial.println(Zeit);
}
}