Hallo Serenifly,
danke - das erklärt, warum nur die ersten beiden LED leuchten. Und shiftOut kann nur 8 LED, muss also verdoppelt werden (bzw. die Anzahl der LED auf 8 begrenzt). Aber wie bekomme ich die Zustände aus dem Array in leuchtende/nicht leuchtende LED übersetzt?
Ich lasse mir die so ermitteln
RawValue = analogRead(potIn); //Auslesen Poti - Eingang
int LEDlevel = map (RawValue, 0, EndWert, 0, ledCount); //Mapping Rohwert auf LEDs
int ledArray[ledCount] = {}; // Array für die LED-Zustände
//Wenn der Index des Array kleiner ist als das dem Rohwert entsprechende Led-Level, dann setze Wert auf 1, sonst 0:
for (int aktLED = 0; aktLED < ledCount; aktLED++) {
if (aktLED < LEDlevel) {
ledArray[aktLED] = 1;
}
else {
ledArray[aktLED] = 0;
}
}
Dann hab ich nun versucht, die ohne die Schleife zu übergeben:
digitalWrite(speicherPin, LOW);
shiftOut(datenPin, taktPin, MSBFIRST, ledArray);
digitalWrite(speicherPin, HIGH);
delay(200);
Nun leuchten irgendwelche LED, unabhängig vom Rohwert am analogen Eingang.
Irgendwo hängts - aber wo?
Lutz