Aceli:
und lauflicht sollte dann damit es besser aussieht!?
Die 15 LEDs sind für ein Lauflicht etwas wenig. Möglicherweise meinst Du das aber auch nicht, sondern möchtest die LEDs einer Flasche heller werden lassen, dann wieder dunkler und dann die nächste Flasche. Das wäre dann eher nacheinender faden, könnte ich mir ganz gut vorstellen, besonders über das Farbspektrum eines Regenbogens verteilt. FastLED unterstützt das Farbmodell HSV, da geht das relativ einfach.
Das ist Alles nur durch Deine Fantasie begrenzt.
Selber würde ich die Variante mit Verkabelung nehmen - bei 18cm Abstand hast Du halt zwischen den Flaschen eine LED 'über' - Die kann ja das bereits genannte Sternenblitzen übernehmen.
Auch wirst Du wohl von einer zur anderen Reihe 'ein/zwei LEDs' frei liegend haben.
Wenn Du Diese irgendwie sinnvoll verbauen kannst, würde ich Das so lassen und diese Pixel eben zufällig aufblitzen lassen (oder so Zeug).
Sonst kannst Du auch die Kabel dort auftrennen und ein längeres Kabel dazwischen löten - hätte jetzt die vom Hersteller empfohlene Maximal-Entfernung aber nicht zur Hand!
Das 'Gruppieren', also welche LEDs Flaschen beleuchten (oder halt Welche genau) lässt sich nachher im Sketch in Arrays einarbeiten - denke aber, wenn Da Beratungsbedarf besteht, bist Du mit Deinem Problem hier immer wieder gerne gesehen.
Nimm nicht mehr als 10 kOhm, das passt am Besten zum Arduino-Analogeingang.
Wobei dann wohl ein LCD-Display (über I2C) sinnvoll wird und dann kannst Du auch gleich über ein Keypad oder einen Drehencoder nachdenken. Das läßt Dir nach oben mehr Möglichkeiten und die Begehrlichkeiten kommen mit den Erfolgen.
ja also ich werd wohl unten oder hinten dann Löcher bohren damit es besser Leuchtet.
Habe nun mal den einen oder anderen Sketch versucht.... aber so richtig was war noch nicht dabei.....
Versuche das jej erst einmal mit nur 15 LEDS.
aktuell läuft es mit diesem Sketch, ich weiß aber noch nicht wie ich ein Poti für die Geschwindigkeit einbinde...
#include <Adafruit_NeoPixel.h>
#define N_LEDS 22
#define PIN 4
Adafruit_NeoPixel strip = Adafruit_NeoPixel(N_LEDS, PIN, NEO_GRB + NEO_KHZ800);
void setup() {
strip.begin();
}
int pos = 0, dir = 1; // Position, direction of "eye"
void loop() {
int j;
// Draw 5 pixels centered on pos. setPixelColor() will clip any
// pixels off the ends of the strip, we don't need to watch for that.
strip.setPixelColor(pos - 2, 0x100000); // Dark red
strip.setPixelColor(pos - 1, 0x800000); // Medium red
strip.setPixelColor(pos , 0xFF3000); // Center pixel is brightest
strip.setPixelColor(pos + 1, 0x800000); // Medium red
strip.setPixelColor(pos + 2, 0x100000); // Dark red
strip.show();
delay(30);
// Rather than being sneaky and erasing just the tail pixel,
// it's easier to erase it all and draw a new one next time.
for(j=-2; j<= 2; j++) strip.setPixelColor(pos+j, 0);
// Bounce off ends of strip
pos += dir;
if(pos < 0) {
pos = 1;
dir = -dir;
} else if(pos >= strip.numPixels()) {
pos = strip.numPixels() - 2;
dir = -dir;
}
}
Farben und Geschwindigkeit muss ich gleich mal schauen wie ich das ändere
also hab es so versucht auch mit 0 anstatt A0 oder mit int potPin
aber leider ändert sich die Geschwindigkeit nicht.
#include <Adafruit_NeoPixel.h>
#define N_LEDS 15
#define PIN 6
Adafruit_NeoPixel strip = Adafruit_NeoPixel(N_LEDS, PIN, NEO_GRB + NEO_KHZ800);
const byte potPin = A0;
void setup() {
strip.begin();
}
int pos = 0, dir = 1; // Position, direction of "eye"
void loop() {
int j;
// Draw 5 pixels centered on pos. setPixelColor() will clip any
// pixels off the ends of the strip, we don't need to watch for that.
strip.setPixelColor(pos - 1, 0x696969); // Medium red
strip.setPixelColor(pos , 0xFFFFFF); // Center pixel is brightest
strip.setPixelColor(pos + 1, 0x696969); // Medium red
strip.show();
delay(analogRead(potPin));
// Rather than being sneaky and erasing just the tail pixel,
// it's easier to erase it all and draw a new one next time.
for(j=-2; j<= 2; j++) strip.setPixelColor(pos+j, 0);
// Bounce off ends of strip
pos += dir;
if(pos < 0) {
pos = 1;
dir = -dir;
} else if(pos >= strip.numPixels()) {
pos = strip.numPixels() - 2;
dir = -dir;
}
}
Jaaahaaa - war wieder zu langsam - bleibt jetzt (Mal wieder) trotzdem stehen - vll. findet ja Jemand nützliche Informationen hier drin.
Zum Sketch:
In setup() ein
serialBegin(9600); //startet die serielle Schnittstelle
Und in loop() für den analogRead():
uint16_t analogWert=analogRead(potPin);
serialPrint("Analog-Wert:"); //gibt Text/Variablen auf der Seriellen aus
serial.println(analogWert); //siehst Du im 'Terminal' - die Lupe in der IDE rechts oben
delay(analogWert);
Warum int?
Erwartest Du negative Pin-Nummern?
Bis in den Bereich -32768...32767 ??
Wäre Das nicht eher ein MAKRO-Kontroller?
Also: nicht negativ: unsigned
Bereich bis 255: Byte (ist eh unsigned, alternativ unsigned char (wenn Das geht) oder uint8_t - Alles das Gleiche).
Werden sich die Pin-Nummern während der Laufzeit ändern?
Nein? -> const
const byte potPin=0;
Kommt auf einen Versuch (oder Blick in die Referenz) an, ob diese 0 D0 oder A0 (=D14) beim analogRead interpretiert wird.
D0 und D1 werden vom USB-Anschluss / Serial benutzt - sind also pfui.