Hallo miteinander,
Ich unterstütze einen Freund grade bei einem Projekt. Und zwar sollen mehrere Stripes mit einem Arduino gesteuert werden. Da ich aber 150 km weit weg wohne passiert das meiste per Post, Bildern, und Ferndiagnose.
Da ich überall nur Anleitungen finde wie man einen steuert und das Projekt weit größer wird, wollt ich hier nochmal fragen ob wir das so durchziehen können, oder ob ich wichtige Sachen übersehe.
Insgesammt werden 16 Stripes verbaut.
Das Ganze wird durch 2 5V 80A Netzteile gespeißt.
Diese gehen mit jeweils 3x6mm² auf Kupfer Schienen. Die Masse der beiden Netzteile geht auf eine große gemeinsame Schiene. Also 6 Kabel pro NT
Die einzelnen Stripes werden mit 2,5 mm² Kabel angeschlossen.
Jede 5V Leitung wird durch eine Sicherung geschützt.
Da hätte ich den verbrauch der einzelnen Stripes errechnet und 5A drauf geschlagen.
Die Steuerung übernimmt ein Mega für den ich ein einfaches Shield gebastelt hab mit 470 Ohm Widerständen und Klemmanschlüssen für die die Datenleitungen der Stripes und Strom.
Was ich nicht ganz verstehe ist der Kondensator den ich verbauen muß.
Braucht da jeder Stripe seinen eigenen, oder reicht es wenn jeweils ein großer zwischen den Stromschienen Hängt?
An den Spripes direkt kann ich sie nicht anbringen, da alles später auf ner Mechanik wasserdicht verbaut werden soll.
Daher müssen die im Steuerpult reichen.
Und reicht es wenn ich ein USB Kabel mit unterbrochener 5V leitung mache und das zum einspielen neuer Sketche nehm?
Und zu guter letzt mal ein Sketch den ich mir aus dem RGBWStrandtest gebastelt hab.
Erstmal nur um zu sehen, ob das so alles funktioniert.
#include <Adafruit_NeoPixel.h>
#define PIN1 2
#define PIN2 14
#define PIN3 15
#define PIN4 16
#define PIN5 17
#define PIN6 18
#define PIN7 19
#define PIN8 20
#define NUM_LEDS1 250
#define NUM_LEDS2 250
#define NUM_LEDS3 130
#define NUM_LEDS4 130
#define NUM_LEDS5 130
#define NUM_LEDS6 130
#define NUM_LEDS7 130
#define NUM_LEDS8 130
#define BRIGHTNESS 50
#define BRIGHTNESS 50
Adafruit_NeoPixel strip1 = Adafruit_NeoPixel(NUM_LEDS1, PIN1, NEO_GRBW + NEO_KHZ800);
Adafruit_NeoPixel strip2 = Adafruit_NeoPixel(NUM_LEDS2, PIN2, NEO_GRBW + NEO_KHZ800);
Adafruit_NeoPixel strip3 = Adafruit_NeoPixel(NUM_LEDS3, PIN3, NEO_GRBW + NEO_KHZ800);
Adafruit_NeoPixel strip4 = Adafruit_NeoPixel(NUM_LEDS4, PIN4, NEO_GRBW + NEO_KHZ800);
Adafruit_NeoPixel strip5 = Adafruit_NeoPixel(NUM_LEDS5, PIN5, NEO_GRBW + NEO_KHZ800);
Adafruit_NeoPixel strip6 = Adafruit_NeoPixel(NUM_LEDS6, PIN6, NEO_GRBW + NEO_KHZ800);
Adafruit_NeoPixel strip7 = Adafruit_NeoPixel(NUM_LEDS7, PIN7, NEO_GRBW + NEO_KHZ800);
Adafruit_NeoPixel strip8 = Adafruit_NeoPixel(NUM_LEDS8, PIN8, NEO_GRBW + NEO_KHZ800);
byte neopix_gamma[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2,
2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5,
5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10,
10, 10, 11, 11, 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 16, 16,
17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 24, 24, 25,
25, 26, 27, 27, 28, 29, 29, 30, 31, 32, 32, 33, 34, 35, 35, 36,
37, 38, 39, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 50,
51, 52, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68,
69, 70, 72, 73, 74, 75, 77, 78, 79, 81, 82, 83, 85, 86, 87, 89,
90, 92, 93, 95, 96, 98, 99,101,102,104,105,107,109,110,112,114,
115,117,119,120,122,124,126,127,129,131,133,135,137,138,140,142,
144,146,148,150,152,154,156,158,160,162,164,167,169,171,173,175,
177,180,182,184,186,189,191,193,196,198,200,203,205,208,210,213,
215,218,220,223,225,228,231,233,236,239,241,244,247,249,252,255 };
void setup() {
strip1.setBrightness(BRIGHTNESS);
strip1.begin();
strip1.show(); // Initialize all pixels to 'off'
strip2.setBrightness(BRIGHTNESS);
strip2.begin();
strip2.show(); // Initialize all pixels to 'off'
strip3.setBrightness(BRIGHTNESS);
strip3.begin();
strip3.show(); // Initialize all pixels to 'off'
strip4.setBrightness(BRIGHTNESS);
strip4.begin();
strip4.show(); // Initialize all pixels to 'off'
strip5.setBrightness(BRIGHTNESS);
strip5.begin();
strip5.show(); // Initialize all pixels to 'off'
strip6.setBrightness(BRIGHTNESS);
strip6.begin();
strip6.show(); // Initialize all pixels to 'off'
strip7.setBrightness(BRIGHTNESS);
strip7.begin();
strip7.show(); // Initialize all pixels to 'off'
strip8.setBrightness(BRIGHTNESS);
strip8.begin();
strip8.show(); // Initialize all pixels to 'off'
}
void loop() {
pulseWhite(5);
}
void pulseWhite(uint8_t wait) {
for(int j = 0; j < 256 ; j++){
for(uint16_t i=0; i<strip1.numPixels(); i++) {
strip1.setPixelColor(i, strip1.Color(0,0,0, neopix_gamma[j] ) );
strip2.setPixelColor(i, strip2.Color(0,0,0, neopix_gamma[j] ) );
strip3.setPixelColor(i, strip3.Color(0,0,0, neopix_gamma[j] ) );
strip4.setPixelColor(i, strip4.Color(0,0,0, neopix_gamma[j] ) );
strip5.setPixelColor(i, strip5.Color(0,0,0, neopix_gamma[j] ) );
strip6.setPixelColor(i, strip6.Color(0,0,0, neopix_gamma[j] ) );
strip7.setPixelColor(i, strip7.Color(0,0,0, neopix_gamma[j] ) );
strip8.setPixelColor(i, strip8.Color(0,0,0, neopix_gamma[j] ) );
}
delay(wait);
strip1.show();
strip2.show();
strip3.show();
strip4.show();
strip5.show();
strip6.show();
strip7.show();
strip8.show();
}
for(int j = 255; j >= 0 ; j--){
for(uint16_t i=0; i<strip1.numPixels(); i++) {
strip1.setPixelColor(i, strip1.Color(0,0,0, neopix_gamma[j] ) );
strip2.setPixelColor(i, strip2.Color(0,0,0, neopix_gamma[j] ) );
strip3.setPixelColor(i, strip3.Color(0,0,0, neopix_gamma[j] ) );
strip4.setPixelColor(i, strip4.Color(0,0,0, neopix_gamma[j] ) );
strip5.setPixelColor(i, strip5.Color(0,0,0, neopix_gamma[j] ) );
strip6.setPixelColor(i, strip6.Color(0,0,0, neopix_gamma[j] ) );
strip7.setPixelColor(i, strip7.Color(0,0,0, neopix_gamma[j] ) );
strip8.setPixelColor(i, strip8.Color(0,0,0, neopix_gamma[j] ) );
}
delay(wait);
strip1.show();
strip2.show();
strip3.show();
strip4.show();
strip5.show();
strip6.show();
strip7.show();
strip8.show();
}
}
Wäre super wenn jemand mit mehr Hintergrund im Thema was zu dem Projekt sagen kann.
Nächste Woche soll es nämlich alles ans laufen kommen.