

Nach einem Druck auf einen Taster soll eine LED entsprechend der gewürfelten Zahl blinken. Im Seriellen Monitor soll die Augenanzahl angezeigt werden.


🔗 Geometrische Symbole (externer Link abgerufen am 24.4.22)
Genau wie bei einer ➨Methode kann eine Funktion einen häufig verwendeten Befehl zur Nutzung bereitstellen. Im Unterschied zur Methode gibt die Funktion mit return einen Wert zurück.

Eine Funktion steht immer außerhalb von setup oder loop.

Beispiel einer int-Funktion
Im Beispiel sollen zwei zufällig ermittelte Zahlen miteinander multipliziert werden.
Zunächst werden die Variablen definiert:
// die Zahlen, die multipliziert werden
int Zahl1;
int Zahl2;
// das Ergebnis der Multiplikation
int Ergebnis;
// Minimum/Maximum der beiden Zahlen
int Minimum = 1;
int Maximum = 20;
Das Ergebnis soll im seriellen Monitor angezeigt werden.
void setup()
{
Serial.begin(9600);
// auf serielle Verbindung warten
while (!Serial) {;}
// Zufallsgenerator starten
randomSeed(analogRead(0));
}
void loop()
{
// Aufruf der Funktion
Ergebnis = Multiplikation();
// das Ergebnis wird im seriellen Monitor angezeigt
Serial.println(Ergebnis);
delay(500);
}
In der Funktion Multiplikation wird der Rückgabewert als int-Variable definiert. Die beiden Zufallszahlen werden miteinander multipliziert und in die Variable RueckgabeWert geschrieben. Diese wird dann mit return an das Hauptprogramm übergeben.
int Multiplikation()
{
int RueckgabeWert;
Zahl1 = random(Minimum, Maximum);
Zahl2 = random(Minimum, Maximum);
RueckgabeWert = Zahl1 * Zahl2;
return RueckgabeWert;
}

➨Weitere Informationen zu Funktionen
Benötigte Bauteile:
- rote LED
- Widerstand > 100 Ω
- Taster
- Leitungsdrähte
Baue die Schaltung auf.
(Fahre mit der Maus über das Bild, um die Bezeichnungen der Bauteile zu sehen)
Lege die Variablen fest und starte den ➨Zufallsgenerator.
int TASTER = 6;
int LED = 7;
int TasterLesen;
int Zahl;
int Minimum = 1;
// der Zufallsgenerator rundet nach unten → Maximum = 7
int Maximum = 7;
void setup()
{
Serial.begin(9600);
// auf serielle Verbindung warten
while (!Serial) {;}
// Zufallsgenerator starten
randomSeed(analogRead(0));
pinMode(TASTER, INPUT_PULLUP);
pinMode(LED, OUTPUT);
}
Eine Funktion bestimmt die Zufallszahl.
int ZufallsZahl()
{
Zahl = random(Minimum, Maximum);
return Zahl;
}
Nachdem der Druck des Taster abgefragt wurde, wird die Funktion aufgerufen, die gewürfelte Zahl im Seriellen Monitor dargestellt und die LED blinkt entsprechend der gewürfelten Zahl.
void loop()
{
// Taster lesen
TasterLesen = digitalRead(TASTER);
// Taster gedrückt
if (TasterLesen == LOW)
{
delay(200);
// Zufallszahl ermitteln
Zahl = ZufallsZahl(); Zahl = ZufallsZahl();
// Ausgabe im Seriellen Monitor
if (Zahl == 1)
{
Serial.println();
Serial.println(" ● ");
Serial.println();
}
if (Zahl == 2)
{
Serial.println("●");
Serial.println();
Serial.println(" ● ");
}
if (Zahl == 3)
{
Serial.println(" ● ");
Serial.println(" ● ");
Serial.println("●");
}
if (Zahl == 4)
{
Serial.println("● ●");
Serial.println();
Serial.println("● ●");
}
if (Zahl == 5)
{
Serial.println("● ●");
Serial.println(" ● ");
Serial.println("● ●");
}
if (Zahl == 6)
{
Serial.println("● ●");
Serial.println("● ● ");
Serial.println("● ●");
}
// Eine for-Schleife sorgt dafür,
// dass die LED entsprechend der Zufallszahl blinkt.
for (int i = 0; i < Zahl; i ++)
{
digitalWrite(LED, HIGH);
delay(500);
. . .
. . .
}
}
}
Verwandte Aufgaben:
- Einmaleinsreihen anzeigen
- Fußballtipp
- Geldautomat
- Lottozahlen - Anzeige im Seriellen Monitor
- Primzahlen ermitteln
- Satzmaschine
- Schneckenrennen
- Städte-Info
- Taschenrechner Grundrechenarten
- Teiler bestimmen
- Vokale zählen
- Vollkommene Zahlen
Letzte Aktualisierung: