Guten Abend liebe Community,
ich durchforste nun seit stunden das Forum und werde nicht schlauer…..
ich habe mir für ein Halloweenprojekt eine art vitrine gebaut in der in den ecken jeweils ein led streifen mit 6 Leds kleben.
diese streifen haben einen gemeinsamen 24v Pluspol und werden jeweils über den “-” geschaltet.
Die pins am Streifen sind :
+24v
Din
C
W
GND
ich habe nun die 24v auf ein externes Netzteil gelegt und dauerhaft mit +24v versorgt.
nun zu meinem problem:
zum Schalten der verschiedenen Farben habe ich den Warmweissen und den GND (für die Farbe rot) negativen Pol des Streifens über ein Relais vom Arduino angesteuert.
(bei Knopfdruck soll Warmweiss ausgehen und rot an)
Bei weiss geht auch alles, nur wenn das Relais (das relais schaltet wurde gemessen) den minus für rot schalten soll macht der Streifen nichts, bis ich das kabel am Streifen abziehe und wieder anschliesse. (danach leuchten die Streifen rot bis zum nächsten durchlauf)
#include <Adafruit_NeoPixel.h>
#define PIN 2 // Anschluss der LED Streifen Vitrine
#define NUM_LEDS 1 //Anzahl der LED pro Streifen
int RELAIS1 = 4; // Anschluss Relais 1 LED Streifen Vitrine rot
int RELAIS2 = 5; //Anschluss Relais 2 LED Streifen Vitrine weiss
int RELAIS3 = 6; //Anschluss Relais 3 Motor Kopf Labubu
int TASTER = 3;
int PAUSE = 4650 ; //Pausenzeit zum drehen vom Kopf
int MINI = 500 ; //Pause für die Relais
Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LEDS, PIN, NEO_GRB + NEO_KHZ800);
void setup() {
pinMode(TASTER, INPUT);
pinMode(RELAIS1, OUTPUT);
pinMode(RELAIS2, OUTPUT);
pinMode(RELAIS3, OUTPUT);
strip.begin();
for (int i = 0; i < 6; i++) {
strip.setPixelColor(i,strip.Color(255, 0, 0));
strip.setBrightness(255);
strip.show();
}
}
void loop() {
if (digitalRead(TASTER)==HIGH) { //Bedingung für Start der Animatronic Sequenz //Einmal alle Relais auf "0"
digitalWrite(RELAIS2, HIGH);
digitalWrite(RELAIS1, HIGH);
digitalWrite(RELAIS3, HIGH);
strip.begin();
for (int i = 0; i < 6; i++) {
strip.setPixelColor(i,strip.Color(255, 0, 0));
strip.setBrightness(255);
strip.show();
}
delay(MINI);
digitalWrite(RELAIS1, LOW);
digitalWrite(RELAIS2, HIGH);
digitalWrite(RELAIS3, LOW);
delay(PAUSE);
} else { //Kein Startsignal, dann bleiben alle Relais auf "0"
digitalWrite(RELAIS1,HIGH);
digitalWrite(RELAIS2,LOW);
digitalWrite(RELAIS3,HIGH);
}
}
Vielen dank für eure Hilfe ![]()