Guten Abend,
habe mich nun hier angemeldet in der Hoffnung ein bisschen Unterstützung zu erhalten, möchte aber nicht alles vergekaut bekommen. 8)
Ich habe 15 RGB SMDs (wird aber auf 50 aufgestockt), die jeweils einzeln
auf einer Platte befestigt sind (rund und 2cm durchmesser). Unter dieser
Platte ist eine Lochrasterplatine auf der jeweils 3 Widerstände
aufgelötet sind an den Kathoden und einmal eine gemeinsame Anode. Das beides zusammen
steckt in einer Röhre, oben kommt das Licht raus und unten das
Stromkabel. Das heißt also ich habe jede SMD-Farbe einzeln mit
Widerständen verbunden.
Nun möchte ich die ganzen gebauten Spots parallel schalten und
ansprechen. Stelle mir also eine Bedieneinheit wie auf dem Bild
Controller.png vor.
Ein Arduino verträgt aber nur 5V und die SMDs sind auf 12V ausgelegt
(mit den Widerständen).
Wie gehe ich da vor und wie schliesse ich das ganze an einem Arduino an?
Ich füge noch einen FritzingSketch an, damit ihr wisst wie weit ich
schon gekommen bin, wäre nett wenn ihr schauen könntet ob die Verkabelung so weitest gehend richtig ist.
Habe übrigens Transistoren statt MOSFETS genommen, da ich gelesen habe, dass MOSFETS nicht geeignet sind zum Regeln von 0-100%
Habe auch noch Probleme die 16 Taster anzuschliessen und bin mir bei den 3 Dreh-Encoder
nicht sicher.
Über die 16 Taster sollen übrigens 10 Farben und 6 Modusse ausgewählt
werden.
Was sagt ihr zu der restlichen Schaltung, ist sie soweit korrekt und
habe ich durch die 12V die Dort anliegen auch die benötigten 12V an den SMDs?
Für den Anfang habe ich auch schonmal ein kleines Porgramm geschrieben, dass 2 Modusse abdeckt. Vielleicht könnte da ja auch mal jemand drüber schauen.
int pinR = 9; //Rot an Pin 9
int pinG = 10;//Grün an Pin 10
int pinB = 11;//Blau an Pin 11
void setup(){
pinMode (pinR, OUTPUT)
pinMode (pinG, OUTPUT)
pinMode (pinB, OUTPUT)
}
void loop(){
//Feste Farben
//Rot
analogWrite(pinR,0)
analogWrite(pinG,255)
analogWrite(pinB,255)
//Gruen
analogWrite(pinR,255)
analogWrite(pinG,0)
analogWrite(pinB,255)
//Blau
analogWrite(pinR,255)
analogWrite(pinG,255)
analogWrite(pinB,0)
//Magenta
analogWrite(pinR,0)
analogWrite(pinG,255)
analogWrite(pinB,0)
//Tuerkis
analogWrite(pinR,255)
analogWrite(pinG,0)
analogWrite(pinB,0)
//Yellow
analogWrite(pinR,0)
analogWrite(pinG,0)
analogWrite(pinB,255)
//Weiss
analogWrite(pinR,0)
analogWrite(pinG,0)
analogWrite(pinB,0)
//Orange
analogWrite(pinR,0)
analogWrite(pinG,50)
analogWrite(pinB,255)
//Braun
analogWrite(pinR,50)
analogWrite(pinG,50)
analogWrite(pinB,255)
//dunkelLila
analogWrite(pinR,50)
analogWrite(pinG,255)
analogWrite(pinB,0)
//Modusse
//Harte Übergänge
//R->G->B
//R
analogWrite(pinR,0)
analogWrite(pinG,255)
analogWrite(pinB,255)
delay(1000)
//G
analogWrite(pinR,255)
analogWrite(pinG,0)
analogWrite(pinB,255)
delay(1000)
//B
analogWrite(pinR,255)
analogWrite(pinG,255)
analogWrite(pinB,0)
delay(1000)
//Harte Übergänge
//R->G->B->M->T->Y->W
//R
analogWrite(pinR,0)
analogWrite(pinG,255)
analogWrite(pinB,255)
delay(1000)
//G
analogWrite(pinR,255)
analogWrite(pinG,0)
analogWrite(pinB,255)
delay(1000)
//B
analogWrite(pinR,255)
analogWrite(pinG,255)
analogWrite(pinB,0)
delay(1000)
//M
analogWrite(pinR,0)
analogWrite(pinG,255)
analogWrite(pinB,0)
delay(1000)
//T
analogWrite(pinR,255)
analogWrite(pinG,0)
analogWrite(pinB,0)
delay(1000)
//Y
analogWrite(pinR,0)
analogWrite(pinG,0)
analogWrite(pinB,255)
delay(1000)
//W
analogWrite(pinR,0)
analogWrite(pinG,0)
analogWrite(pinB,0)
delay(1000)
//WEICHE ÜBERGÄNGE
//R->G->B
//R->G->B->M->T->Y->W
}
Würde mich freuen wenn ihr mir helfen würdet.
Gruß
Fkhm
Edit: Habe das Programm noch etwas erweitert und die festen Farben festgelegt. Bei den Modussen der delay von 1000ms soll noch durch die Variable Standzeit ersetzt werden, die dann mittels Drehencoder eingestellt wird.