Ihr Lieben,
leider habe ich für mein Problem bei Google bislang keine Lösung gefunden, daher versuche ich es als absoluter Neuling hier mal.
Ich habe mir einen Ring mit 60 ws2812 gekauft und wollte als eines meiner ersten Prjekte überhaupt gerne eine digitale Uhr damit zaubern. Im Moment habe ich aber folgendes Problem:
Wenn ich den Beispielsketch "simple" hochlade und starte, leuchtet wie geplant jede halbe Sekunde eine weitere LED, bis der Ring voll ist. Aber: Zu Beginn leuchtet auch immer eine, selten auch zwei andere LEDs auf. Wenn ich den Code variiere und uploade, ist es eine andere LED, aber weder kann ich da ein System hinter erkennen, noch kann ich es abstellen. Nach einiger Zeit geht sie meist aus, und das Programm läuft normal durch, bis es mit dem gleichen Fehler wieder resettet wird. Bei anderen Beispielsketches habe ich das gleiche Problem.
Zusammengefasst also: Es liegt nicht an einer einzelnen LED oder dem dazugehörigen Chip, denn es ist ja bei jedem neuen Hochladen eines neuen Sketchs eine andere, die den Fehler aufweist. Auch gibt es im Code selbst, soweit ich sehe, keinen Grund, warum das angezeigt wird. Kurzum: Ich bin völlig ratlos. Habt Ihr vielleich eine Idee, was das Problem sein kann? Hab ich ggf. den Ring geschrottet? Oder übersehe ich war?
Hier einer der Codes:
// NeoPixel Ring simple sketch (c) 2013 Shae Erisson
// Released under the GPLv3 license to match the rest of the
// Adafruit NeoPixel library#include <Adafruit_NeoPixel.h>
#ifdef AVR
#include <avr/power.h> // Required for 16 MHz Adafruit Trinket
#endif// Which pin on the Arduino is connected to the NeoPixels?
#define PIN 26 // On Trinket or Gemma, suggest changing this to 1// How many NeoPixels are attached to the Arduino?
#define NUMPIXELS 60
// Popular NeoPixel ring sizeAdafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_BRG + NEO_KHZ400);
#define DELAYVAL 250 // Time (in milliseconds) to pause between pixels
void setup() {
pixels.begin(); // INITIALIZE NeoPixel strip object (REQUIRED)
}void loop() {
pixels.clear(); // Set all pixel colors to 'off'
delay(1000);
// The first NeoPixel in a strand is #0, second is 1, all the way up
// to the count of pixels minus one.
for(int i=0; i<NUMPIXELS; i++) { // For each pixel...pixels.setPixelColor(i, pixels.Color(0, 100, 0)); //rot, blau, grün
pixels.show(); // Send the updated pixel colors to the hardware.
delay(DELAYVAL); // Pause before next pass through loop
}
}