Kaminfeuer
Ziel dieses Projektes ist es, ein Kaminfeuer zu simulieren. Dazu wird eine rote LED zum flackern gebracht.
Aufbau
Es wird nur die rote LED mithilfe eines JST-Adapterkabels an die senseBox MCU angeschlossen. Diese wird am langen Beinchen mit einem 470Ω Widerstand mit dem digitalen Port 1 verbunden. Das kurze Beinchen wird mit dem schwarzen Kabel (GND) verbunden.
Programmierung
Schritt 1
In diesem Schritt definierst du die globale Variable und die setup()-Funktion
// die LED ist an den digitalen Port 1 angeschlossen
int led = 1;
void setup() {
// der digitale Port 1 wird als OUTPUT definiert
// d.h.: es werden Signale herausgeschickt
pinMode(led, OUTPUT);
}
Du speicherst den digitalen Port 1 in einer Variable, damit du dir nur noch den aussagekräftigen Variablennamen merken musst und nicht die Portnummer. Das ist vorallem bei mehreren angeschlossenen LEDs hilfreich.
Schritt 2: loop()-Funktion
void loop() {
// generiert Zufallswert zwischen 0 und 1000 und speichert ihn in randomDelayAn
int randomDelayAn = random(1000);
digitalWrite(led, HIGH);
// Zufallswert wird eingesetzt, LED bleibt entsprechend lange an (in Millisekunden)
delay(randomDelayAn);
// generiert Zufallswert zwischen 0 und 500 und speichert ihn in randomDelayAus
int randomDelayAus = random(500);
digitalWrite(led, LOW);
// Zufallswert wird eingesetzt, LED bleibt entsprechend lange aus (in Millisekunden)
delay(randomDelayAus);
}
Die Funktion random(max) generiert Zufallszahlen von 0 bis max. Falls man ebenfalls ein Minimum angeben will, kann man die Funktion random(min, max) benutzen.
Damit ist die Programmierung abgeschlossen und du hast ein Kaminfeuer durch eine flackernde LED erzeugt.