Animationseffekte mit LEDs
Einfache Lichteffekte ohne PWM
#define NUMLED 6
const int pinsLED[] = {3, 5, 6, 9, 10, 11};
int ledStates[] = {0, 0, 0, 0, 0, 0}; // gibt an, ob eine LED an oder ausgeschaltet ist
unsigned long lastTime = 0;
unsigned long delayMillis = 100;
int activeLed = 0; // Index der aktiven LED, also jener LED, die angeschaltet ist.
void setup() {
Serial.begin(9600);
for (int i = 0; i < NUMLED; i++) {
pinMode(pinsLED[i], OUTPUT);
}
}
// Aktiviert die LEDs entsprechend dem Array 'ledStates'
void showLeds(int pLedStates[]) {
for (int i = 0; i < NUMLED; i++) {
digitalWrite(pinsLED[i], pLedStates[i]);
}
}
// Löscht alle LED
void clear() {
for (int i = 0; i < NUMLED; i++) {
ledStates[i] = 0;
}
}
void loop() {
if ( (millis() - lastTime) > delayMillis) {
clear();
/******************************************************************
Ändern sie mit einer for- Schleifen die Werte des Arrays `ledStates` so,
dass sich ein Lauflicht ergibt.
Nutzen Sie die Funktion 'setLeds()' zum An-/Ausschalten der LEDs.
*******************************************************************/
setLeds(ledStates); // Funktion zum Schalten der LEDs
lastTime = millis(); // Zeitstempel
}
}