Go Down

Topic: Wieviel LEDs sind für ein Lauflicht möglich ? (Read 3111 times) previous topic - next topic

Aceli

#30
Mar 06, 2019, 08:53 pm Last Edit: Mar 06, 2019, 08:56 pm by Aceli
danke,

ja werde bestimmt noch etwas Beratung in anspruch nehmen ;) man lernt ja nie aus.

Bin selber gespannt wie es wird.

Natürlich wird das Projekt vorgestellt wenn fertig bzw in erprobung.


An einen Drehschalter hatte ich bereits auch gedacht. Das wäre mein Favorit.

n Poti wäre natürlich auch nochmal etwas. Welchen sollte man da nehmen? 3 Pin- welchen widerstand!?
Denke 3 oder 4 Effekte sollten dann auch reichen.

Aber erstmal eins nach dem anderen.

Tommy56

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.

Gruß Tommy
"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)

Aceli

Danke.

na ich möcht erstmal nicht zu viel.

ich freue mich schon wenn es funktioniert. Also schritt führ Schritt.

Erstmal die Teile ordern, bekommen und dann mal n normales lauflicht/Wave/faden üben.

Aceli

Netzteil, LED und Poti sind geordert.

Nun heisst es Warten.

Aceli

#34
Apr 04, 2019, 08:49 am Last Edit: Apr 04, 2019, 09:25 am by Aceli
so Netzteil, LEDs sind da.

allerdings nur 50 LEDS .... hab mich wohl verklickt....

Hab sie mal angeschlossen.... und wie fast befürchtet, ich glaube der Boden der flasche ist zu dick und d.h. die LED kommt nicht ganz durch :/

ElEspanol


Aceli

#36
Apr 16, 2019, 08:11 pm Last Edit: Apr 16, 2019, 08:19 pm by Aceli
moin

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...

Code: [Select]


#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

agmue

Farben und Geschwindigkeit muss ich gleich mal schauen wie ich das ändere
Geschwindigkeit: delay(30);

Aber delay() führt Dich in eine Sackgasse, besser wäre die Verwendung von millis().
Wahnsinn und Verstand trennt nur eine dünne Wand. (Daniel Düsentrieb)

Aceli

ja , das ist erstmal ein übernommener Sketch.

Mit Farbe und Delay hab ich das rausgefunden...

nun liegt mal die Herausforderung auf dem Sketch inkl Poti.....

agmue

nun liegt mal die Herausforderung auf dem Sketch inkl Poti.....
Erster Versuch:

Code: [Select]
delay(analogRead(A0));
Wahnsinn und Verstand trennt nur eine dünne Wand. (Daniel Düsentrieb)

Aceli

Also reicht es vorm setup

int potPin = 0;

Und dann

delay(analogRead(potPin));

?!

agmue

Ja, besser gefiele mir

const byte potPin = 0;

oder

const byte potPin = A0;
Wahnsinn und Verstand trennt nur eine dünne Wand. (Daniel Düsentrieb)

Aceli

also hab es so versucht auch  mit 0 anstatt A0 oder mit int potPin

aber leider ändert sich die Geschwindigkeit nicht.

Code: [Select]

#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;
  }
}


postmaster-ino

#43
Apr 17, 2019, 06:48 pm Last Edit: Apr 17, 2019, 06:55 pm by postmaster-ino
Hi

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.

MfG
anscheinend ist Es nicht erwünscht, einen Foren-internen Link als 'Homepage' einzubinden, damit JEDER nur einen Klick von combie's Liste zum Thema State-Maschine entfernt ist.
... dann eben nicht ...

Aceli

ja über Serial Print habe ich mir das auch schon anzeigen lassen, immer 1023....

wenn ich den Poti abziehe , geht der wert runter und die LEDS schneller.... pendelt sich +- bei 400 ein....

Go Up