aufgabe von 24-9-26 und dinge von infp
This commit is contained in:
34
INF/Seriell_04/Seriell_04.ino
Normal file
34
INF/Seriell_04/Seriell_04.ino
Normal file
@@ -0,0 +1,34 @@
|
||||
/* 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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user