Entdecken Sie eBooks
Kategorien
Entdecken Sie Hörbücher
Kategorien
Entdecken Sie Zeitschriften
Kategorien
Entdecken Sie Dokumente
Kategorien
- Kontrollstrukturen 1 -
Einfache Kontrollstrukturen
− Verzweigungen, Vergleichsoperatoren
[https://de.wikipedia.org/wiki/Programmiersprache]
void setup() {
Anweisungen; // Kommentar
}
void loop() {
Anweisungen; // Noch ein Kommentar
}
Wichtige Sprachkonstrukte in C:
- Verzweigungen if … then
switch … case
- Schleifen for()
while()
// Deklaration
int a;
byte b = 25;
// Wertzuweisung
a = 5;
byte i=1;
void setup() {
Serial.begin(115200);
}
void loop()
{
Serial.print(“Ausgabe ”);
Serial.println(i++);
delay(1000);
}
t
Physikalisch technische Grundlagen Wintersemester 2020/2021
Technische Hochschule Brandenburg · University of Applied Sciences 9
Zum warm werden
void setup() {
pinMode(13, OUTPUT); // rote LED
pinMode(12, OUTPUT); // grüne LED
}
void loop() {
digitalWrite(13, HIGH); // rote LED an
digitalWrite(12, LOW); // grüne LED aus
delay(500);
void setup() {
pinMode(ROT, OUTPUT); // rote LED
pinMode(GRUEN, OUTPUT); // grüne LED
}
void loop() {
digitalWrite(ROT, HIGH); // rote LED an
digitalWrite(GRUEN, LOW); // grüne LED aus
delay(500);
Start
• Prüft ob eine Bedingung erfüllt ist.
• Wenn ja, wird die nachfolgende
Anweisung ausgeführt. nein
?
ja
Boole‘scher
Ausdruck !!! Bedingte
Beispiel in C:
Anweisung
Beispiel in C:
Beispiel in C:
if (Temperatur < 20) {
HeizungEinschalten();
}
else {
HeizungAusschalten();
}
Physikalisch technische Grundlagen Wintersemester 2020/2021
Technische Hochschule Brandenburg · University of Applied Sciences 15
Einfache Kontrollstrukturen: if-then-else
Ja
if (i != 3)
fkt_a
{
fkt_A();
}
Ende
if (i != 3)
Ist i ungleich
{
Nein
3?
fkt_b()
fkt_a();
}
Ja
else fkt_a
{
fkt_b();
}
Ende
Physikalisch technische Grundlagen Wintersemester 2020/2021
Technische Hochschule Brandenburg · University of Applied Sciences 17
Anwendung von if-then: Aufgabe
Schließen Sie die rote LED am Pin D13 und die grüne LED
am Pin D12 an.
Warten
int i = 0;
void setup()
{
pinMode(ROT, OUTPUT); // rote LED
pinMode(GRUEN, OUTPUT); // grüne LED
Serial.begin(115200);
}
void loop() {
Serial.print("Ausgabe ");
Serial.println(++i); // i++ separat wäre besser
if (i < 128) {
digitalWrite(ROT, LOW); // rote LED aus
digitalWrite(GRUEN, HIGH); // grüne LED an
}
else {
digitalWrite(ROT, HIGH); // rote LED an
digitalWrite(GRUEN, LOW); // grüne LED aus
}
delay(100);
}
Physikalisch technische Grundlagen Wintersemester 2020/2021
Technische Hochschule Brandenburg · University of Applied Sciences 21
Anwendung von if-then: Erweiterung der Aufgabe
Ist der aktuelle Wert von i gerade, dann soll die rote LED
leuchten, hingegen die grüne LED bei ungeraden Werten
leuchten soll:
void loop() {
i++;
Serial.print("Ausgabe ");
Serial.println(i);
if ((i % 2) == 0) {
digitalWrite(ROT, HIGH); // rote LED an
digitalWrite(GRUEN, LOW); // grüne LED aus
}
else {
digitalWrite(ROT, LOW); // rote LED aus
digitalWrite(GRUEN, HIGH); // grüne LED an
}
delay(100);
}
Physikalisch technische Grundlagen Wintersemester 2020/2021
Technische Hochschule Brandenburg · University of Applied Sciences 24
Wiederholung: if-then-else
Beispiel in C:
if (Temperatur < 20) {
HeizungEinschalten();
}
else {
HeizungAusschalten();
}
Physikalisch technische Grundlagen Wintersemester 2020/2021
Technische Hochschule Brandenburg · University of Applied Sciences 25
Suchbild: Haben sich Fehler versteckt?
void loop()
{
i++;
delay(100);
}
Physikalisch technische Grundlagen Wintersemester 2020/2021
Technische Hochschule Brandenburg · University of Applied Sciences 26
Suchbild: Haben sich Fehler versteckt?
void loop()
{
i++;
if (i >= 128)
{
digitalWrite(ROT, HIGH);
}
else (i < 128)
{
digitalWrite(ROT, LOW);
}
delay(100);
}
Physikalisch technische Grundlagen Wintersemester 2020/2021
Technische Hochschule Brandenburg · University of Applied Sciences 27
Suchbild: Haben sich Fehler versteckt?
void loop()
{
i++;
Semantischer Fehler!
if (i >= 128);
{
digitalWrite(ROT, HIGH);
} Syntaktischer Fehler, da keine direkte
else Verbindung zu einer if-Anweisung!
{
digitalWrite(ROT, LOW);
}
delay(100);
}
Physikalisch technische Grundlagen Wintersemester 2020/2021
Technische Hochschule Brandenburg · University of Applied Sciences 28
Vielen Dank für Ihre Aufmerksamkeit