WS2812B LEDs flackern an Potisteuerung

Hallo, ich verwende in meinem 3d-Drucker WS2812B-LEDs mit einem Arduino NANO zur Beleuchtung. Diese können über einen Taster ein und ausgeschaltet werden (mit Pull-Down-Widerstand). Zusätzlich ist ein Poti mit 4,7k am A0 angeschlossen. Im Seriellen Monitor werden vom Arduino sehr starke Schwankungen am Eingang A0 gemessen.
Die Schaltung funktioniert wie gewünscht, nur dass eben die LEDs recht stark flackern. Die 5V vom Netzteil bleiben stabil und das Poti gibt feste Widerstandswerte aus, das habe ich schon nachgemessen. Ich füge mal ein Bild von der aufgebauten Schaltung bei.

Ich bin neu im Forum und weiß noch nicht so Recht, wie das hier alles funktioniert :raising_hand_man:. Tut mir Leid, wenn ich etwas nicht richtig gemacht habe.
Danke im Voraus

Schwer so aus der Ferne zu sagen, wo das Problem liegt.
Hast du mal probiert, statt des Potis, feste Werte zu übergeben ?
So könnte man schon einiges als Fehler ausklammern.
Um weiteres zu ermitteln, benötigen wir den Sketch, bitte in Code-Tags.
Dazu in der IDE rechte Maustaste und "Für Forum kopieren" klicken, danach hier einfügen. Dann können wir evtl. dein Problem erkennen

Hallo,

bist Du sicher das das Poti noch ganz ist. Wenn Du ein Messgerät hast mal den Widerstand zwischen den beiden Enden messen. Ich vermute es ist an einem Ende druchgebrannt. Die gemessene Spannung , Anzeige mit Monitor , sollte stabil sein.
Ein Schutzwiderstand 470Ohm -1K zwischen dem Ausgang D2 und dem Eingang des Streifens D wäre noch gut.
Heinz

Tja, wenn das alles korrekt ist, liegt es wohl an Deinem Sketch. Bitte hier mal mit Codetags reinstellen.

Gruß, Jürgen

Edit: Hoppla, das hat ja HotSystems ja auch schon gesagt. Habe ich überlesen...

Doppelt hält besser. :wink:

Das Programm ist was größer. und weil es in Zusammenarbeit mit jemand anderen geschrieben wurde, verstehe ich es noch nicht zu 100% :joy:
Ich habe aber ein vergleichbares kleineres Programm geschrieben, dass den Umfang beinhaltet, womit sich das Problem reproduzieren lässt.
Im Seriellen Monitor schwanken die Werte schon recht extrem (+-50, manchmal auch größere Ausschläge) Dadurch kommt es halt eben zum flackern.Am Poti hab ich gemessen, es kommen auch stabile Werte am A0 an.
Was ich noch zusätzlich erwähnen kann: Der Stromkreis für die Beleuchtung (Nano, LEDs, Potis, Taster) liegen zusammen mit einem 24V Stromkreis der den Drucker steuert im selben


Kabelkanal

[code]
#include <Adafruit_NeoPixel.h>

int taster = 3;
int data = 2;
int anzahl = 9;
float helligkeit;
int merker = 0;
int skaliert;

Adafruit_NeoPixel strip(anzahl, data, NEO_GRB + NEO_KHZ800);
void setup() {
  Serial.begin(9600);
  pinMode(taster, INPUT);
  pinMode(data, OUTPUT);
  pinMode(A0, INPUT);
  strip.begin();
  strip.show();
}

void loop() {
  while(digitalRead(taster) == HIGH && merker == 0) //"Ein" Tasten
{
    for(int i=0; i<anzahl; i++){                    //LEDs einschalten
   strip.setPixelColor(i, 0, 0, 255);
    }
    strip.show();
    
    while(digitalRead(taster) == LOW){              //Taster wird losgelassen
    merker = 1;
    helligkeit = analogRead(A0);                    //Poti auslesen
    skaliert = (helligkeit / 1023 * 254);           //Skalieren
    strip.setBrightness(skaliert);                  //Helligkeit regeln
    strip.show();
    Serial.print("Der Wert vom Poti lautet: ");     //Im Seriellen Monitor ausgeben
    Serial.println(helligkeit);
    }
    }
  
  
  while(digitalRead(taster) == HIGH && merker == 1) //"Aus" Tasten
{
    for(int i=0; i<anzahl; i++){                    //LEDs ausschalten
   strip.setPixelColor(i, 0, 0, 0);
    }
    strip.show();
    while(digitalRead(taster) == LOW)               //Taster wird losgelassen
    {
      merker = 0;
    }
    }
}
[/code]

Dann hast du vermutlich Störeinstrahlingen.
hast du mal das gemacht, was ich in Post #2 geschrieben habe ?

Wenn ich feste Werte für setBrightness() eintrage, dann flackert auch nichts mehr. ich könnte mal versuchen einen festen Widerstand einzubauen

Dann sind es Einstrahlungen von Störungen. Du solltest es mit abgeschirmten Kabeln für das Poti versuchen.