Hallo,
ich habe einen Arduino Uno und einen LED-Ring mit sieben Pixeln (WS2812, sh. https://funduinoshop.com/bauelemente/aktive-bauelemente/leds-und-leuchten/led-ring-mit-7-pixeln-ws2812 ).
Angeschlossen ist das ganze wie folgt:
IN -> D6
VCC -> 5V
GND -> GND
Ich habe die LEDs sowohl mit der NeoPixel Library als auch mit der FastLED Library getestet, bei beidem leuchtete keine der sieben LEDs.
Mein aktuell verwendeter Code funktioniert auch nicht:
/*
NeoPixel LEDs
modified on 7 May 2019
by Saeed Hosseini @ Electropeak
**This code is based on Adafruit NeoPixel library Example**
https://electropeak.com/learn/
*/
#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
#include <avr/power.h> // Required for 16 MHz Adafruit Trinket
#endif
#define PIN 6
#define NUMPIXELS 7
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
#define DELAYVAL 500 // Time (in milliseconds) to pause between pixels
void setup() {
pixels.begin();
}
void loop() {
pixels.clear();
pixels.setBrightness(100);
pixels.setPixelColor(0, pixels.Color(255, 255, 255));
pixels.setPixelColor(1, pixels.Color(255, 0, 0));
pixels.setPixelColor(2, pixels.Color(0, 255, 0));
pixels.setPixelColor(3, pixels.Color(0, 0, 255));
pixels.setPixelColor(4, pixels.Color(255, 0, 255));
pixels.setPixelColor(5, pixels.Color(255, 255, 0));
pixels.setPixelColor(6, pixels.Color(0, 255, 255));
pixels.show();
}
Was mache ich falsch? Oder sind vielleicht die LEDs kaputt?
LG, Richard
westfw
August 5, 2022, 8:55am
2
Did you mean to use that delay value you defined? Right now, immediately after the pixels.show(), your loop() function loops and does the clear. It may not stay on long enough to see…
I tried it without the pixels.clear(); and also with a delay after pixels.show(); but it still dont work.
agmue
August 5, 2022, 9:20am
4
richard-online:
Was mache ich falsch?
So blinkt es bei mir:
void loop() {
pixels.setBrightness(100);
pixels.setPixelColor(0, pixels.Color(255, 255, 255));
pixels.setPixelColor(1, pixels.Color(255, 0, 0));
pixels.setPixelColor(2, pixels.Color(0, 255, 0));
pixels.setPixelColor(3, pixels.Color(0, 0, 255));
pixels.setPixelColor(4, pixels.Color(255, 0, 255));
pixels.setPixelColor(5, pixels.Color(255, 255, 0));
pixels.setPixelColor(6, pixels.Color(0, 255, 255));
pixels.show();
delay(1000);
pixels.clear();
pixels.show();
delay(1000);
}
Hast Du zwischen UNO und Ring einen Widerstand? Wenn nicht, hast Du Dir eventuell den ersten Pixel zerschossen.
agmue:
void loop() {
pixels.setBrightness(100);
pixels.setPixelColor(0, pixels.Color(255, 255, 255));
pixels.setPixelColor(1, pixels.Color(255, 0, 0));
pixels.setPixelColor(2, pixels.Color(0, 255, 0));
pixels.setPixelColor(3, pixels.Color(0, 0, 255));
pixels.setPixelColor(4, pixels.Color(255, 0, 255));
pixels.setPixelColor(5, pixels.Color(255, 255, 0));
pixels.setPixelColor(6, pixels.Color(0, 255, 255));
pixels.show();
delay(1000);
pixels.clear();
pixels.show();
delay(1000);
Habe ich ausprobiert, geht aber immer noch nicht. Vielleicht ein Problem mit der Bibliothek?
Ein Widerstand habe ich nicht benutzt, angegeben ist eine Betriebsspannung von 4 bis 7V.
agmue
August 5, 2022, 9:47am
6
richard-online:
Widerstand
Der Widerstand gehört zwischen UNO Pin 6 und DIN vom Ring. Ohne diesen kann der Eingang zerstört werden.
Betriebsspannung 5 V.
Sind die Leds bei dir auf der Rückseite alle verdrahtet ?
uwefed
August 5, 2022, 3:51pm
9
Wenn man Masse (Minuspol) und Datenpin anschließt aber Versorgungsspannung (5V) wegläßt geht die erste LED kaputt. Ein 330 Ohm Widerstand zwischen D6 und Din des Ringes verhindert das.
Wenn Du die erste LED kaputtgemacht hast kannst Du diese auslöten und die zweite ansteuern.
Grüße Uwe
Alles klar, danke für den Hinweis.