Guten Tag an alle,
ich habe eine Frage bezüglich eines Arduino R3 und der maximalen LED Anzahl.
Ich möchte gern eine Treppenstufenbeleuchtung programmieren.
Hier die Details:
Stufen 13 a 48 SK6812 LED´s = 624 LED
2 PIR (oben/unten)
1 LDR
Ich habe mit zum Testen der Stufen einen einfachen Code geschrieben der sequenziel jede Stufe ansteuern soll. Dies funftioniert auch bis zu einer LED Anzahl von 430 und danach leuchtet keine mehr. Ich habe mir zur "Überprüfung" einen ESP32 mit WLED fertig gemacht, dieser kann alle LED´s Problemlos ansteuern. Jetzt hätte ich 2 Fragen diesbezüglich.
1.Kann der Arduino nur eine begrenzte Anzahl an NeoPixel?
2. Wenn ja, ist es möglich (möchte kein Code oder ähnliches da ich es selber lernen möchte) den Arduino mit dem WLED ESP zu verbinden?
Mein Gedanke dahinter ist den Arduino mit dem Code für die PIR und den LDR zu beschreiben so das er nur ein Befehl an den ESP mit WLED sendet und dieser dann die Stufen zuschaltet in jeglicher Form.
Ich bedanke mich schonmal und hoffe,dass mir jemand bei dem Problem helfen kann.
Anbei der Code für den Funktionstest
#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
#include <avr/power.h>
#endif
#define PIN 5
#define NUMPIXELS 432
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRBW + NEO_KHZ800);
#define RED 0
#define GREEN 0
#define BLUE 10
#define WHITE 10
void setup()
{
pixels.begin();
}
void loop() {
//Stufe 1
for (int count = 0; count < 48; count = count + 1)
pixels.setPixelColor(count, pixels.Color(RED,GREEN,BLUE,WHITE));
pixels.show();
delay(500);
//Stufe 2
for (int count = 48; count < 96; count = count + 1)
pixels.setPixelColor(count, pixels.Color(RED,GREEN,BLUE,WHITE));
pixels.show();
delay (500);
//Stufe 3
for (int count = 96; count < 144; count = count + 1)
pixels.setPixelColor(count, pixels.Color(RED,GREEN,BLUE,WHITE));
pixels.show();
delay (500);
//Stufe 4
for (int count = 144; count < 192; count = count + 1)
pixels.setPixelColor(count, pixels.Color(RED,GREEN,BLUE,WHITE));
pixels.show();
delay (500);
//Stufe 5
for (int count = 192; count < 240; count = count + 1)
pixels.setPixelColor(count, pixels.Color(RED,GREEN,BLUE,WHITE));
pixels.show();
delay (500);
// Stufe 6
for (int count = 240; count < 288; count = count + 1)
pixels.setPixelColor(count, pixels.Color(RED,GREEN,BLUE,WHITE));
pixels.show();
delay (500);
//Stufe 7
for (int count = 288; count < 336; count = count + 1)
pixels.setPixelColor(count, pixels.Color(RED,GREEN,BLUE,WHITE));
pixels.show();
delay (500);
//Stufe 8
for (int count = 336; count < 384; count = count + 1)
pixels.setPixelColor(count, pixels.Color(RED,GREEN,BLUE,WHITE));
pixels.show();
delay (500);
//Stufe 9
for (int count = 384; count < 432; count = count + 1)
pixels.setPixelColor(count, pixels.Color(RED,GREEN,BLUE,WHITE));
pixels.show();
delay (500);
pixels.clear();
//Stufe 10
for (int count = 432; count < 480; count = count + 1)
pixels.setPixelColor(count, pixels.Color(RED,GREEN,BLUE,WHITE));
pixels.show();
delay (500);
pixels.clear();
//Stufe 11
for (int count = 480; count < 527; count = count + 1)
pixels.setPixelColor(count, pixels.Color(RED,GREEN,BLUE,WHITE));
pixels.show();
delay (500);
pixels.clear();
//Stufe 12
for (int count = 528; count < 576; count = count + 1)
pixels.setPixelColor(count, pixels.Color(RED,GREEN,BLUE,WHITE));
pixels.show();
delay (500);
pixels.clear();
//Stufe13
for (int count = 576; count < 624; count = count + 1)
pixels.setPixelColor(count, pixels.Color(RED,GREEN,BLUE,WHITE));
pixels.show();
delay (500);
pixels.clear();
}