Arduino mit RGB Leiste vebinden

OP #3034581
Lesenswert?

Ich habe mir einen Arduino UNO R3 zugelegt um eine 5m RGB LED Leiste zu 
steuern. Da der UNO aber nicht die richtige Spannung produziert habe ich 
mir noch folgende 2 Komponenten gekauft.
 http://www.exp-tech.de/Shields/product-200-204.html
und
http://www.exp-tech.de/Shields/Grove-LED-Strip-Driver.html

damit versuche ich nun die RGB Leiste über den PC zu steuern. Mein 
Problem ist, dass ich keine Ahnung habe wie ich die Komponenten 
verbinden soll. Die RGB werte werden auf den Pins 9,10,11 ausgegeben. Am 
einfachsten wäre es die Daten über ein PWM Kabel zu übertragen aber egal 
wie ich es anschließe die Leiste leuchtet immer weiß obwohl der 
Micrcontroller rot ausgibt. Am liebsten würde ich jedoch die RGB Leiste 
mit dem "4 Relay Module" steuern, da ich an diesen 5 RGB Leisten 
anschließen kann und nicht nur eine wie an den "Strip Driver".

Ich bin für jede Hilfe und jede Idee dankbar.
Gast #3034601
Lesenswert?

Marius Hegemann schrieb:
> mit dem "4 Relay Module" steuern, da ich an diesen 5 RGB Leisten
> anschließen kann und nicht nur eine wie an den "Strip Driver".

Ja, das kannst du machen. Dann brauchst du allerdings nochmal 3 "Strip 
Driver" dazwischen.

Ach ja und an 4 Relais kann man 4 Leisten anschließen und nicht 5.

Den Rest können wir nur raten, keiner kennt dein Programm ausser dir.
OP #3034607
Lesenswert?

Hier der Code vom MicroController


/*
  Reading a serial ASCII-encoded string.

 This sketch demonstrates the Serial parseInt() function.
 It looks for an ASCII string of comma-separated values.
 It parses them into ints, and uses those to fade an RGB LED.

 Circuit: Common-anode RGB LED wired like so:
 * Red cathode: digital pin 9
 * Green cathode: digital pin 10
 * blue cathode: digital pin 11
 * anode: +5V

 created 13 Apr 2012
 by Tom Igoe
 edited by Max Johenneken on January 2013

 This example code is in the public domain.
 */

// pins for the LEDs:
const int redPin = 9;
const int greenPin = 10;
const int bluePin = 11;

void setup() {
  // initialize serial:
  Serial.begin(9600);
  // make the pins outputs:
  pinMode(redPin, OUTPUT);
  pinMode(greenPin, OUTPUT);
  pinMode(bluePin, OUTPUT);

}

void loop() {
  // if there's any serial available, read it:
  while (Serial.available() > 0) {

    // look for the next valid integer in the incoming serial stream:
    int red = Serial.parseInt();
    // do it again:
    int green = Serial.parseInt();
    // do it again:
    int blue = Serial.parseInt();

    // look for the newline. That's the end of your
    // sentence:
   if (Serial.read() == '\n') {
      // constrain the values to 0 - 255 and invert
      // if you're using a common-cathode LED, just use 
"constrain(color, 0, 255);"
      red = 255 - constrain(red, 0, 255);
      green = 255 - constrain(green, 0, 255);
      blue = 255 - constrain(blue, 0, 255);

      // fade the red, green, and blue legs of the LED:
      analogWrite(redPin, red);
      analogWrite(greenPin, green);
      analogWrite(bluePin, blue);

      //nicht umbedingt notwendig gibt die werte die an die led gehen
      //an den Serial Monitor. Zu finden unter "Tools","Serial Monitor"
      // print the three numbers in one string as hexadecimal:
      Serial.print(red, HEX);
      Serial.print(green, HEX);
      Serial.println(blue, HEX);
   }
  }
}
OP #3034743
Lesenswert?

Wenn dies doch angeblich so eine einfache Sache ist wieso bekomme ich 
von euch keine Lösung sondern werde weitergeleitet? Und ich dachte 
dieses Forum behandelt alles vom Blutigen Anfänger bis zum Profi evtl 
wäre es sinnvoll dranzuschreiben das Neulinge unerwünscht sind. Also 
wenn dies so einfach ist wäre es einem von euch dann nicht möglich mir 
irgenwie zu sagen wo ich die 4 Kabel vom PWM Kabel an den 
Microkontroller anschließen muss. Ich wollte euch in keinem Fall 
beleidigen oder sonstiges aber wie gesagt hier stehen keine 
Schwierigkeitstufen ... und ich weiß selber das ich ein Blutiger 
Anfänger bin aber so hat jeder mal angefangen oder ?
Gast #3034756
Lesenswert?

@Marius, wenn du den Code gelesen hättest und nicht nur dass von vielen 
hier bemängelte copy and paste verwenden würdest.

const int redPin = 9;
const int greenPin = 10;
const int bluePin = 11;

hier stehend die Pins von deinen Uno die die Lib benutzt. Fang bitte 
erst an zulesen. Wenn man das nicht macht, wird einem nicht geholfen.
OP #3034778
Lesenswert?

Dies ist ein Missverständnis. Ich habe einen Test RGB Led streifen 
gelötet welcher auch komplett funktioniert, wenn ich ihn an das Board 
anschließe, sobald ich aber den "LED strip Driver" dazwischen packe 
funktioniert gar nicht mehr, alle LEDs leuchten weiß und gehen an und 
aus wann immer sie wollen egal ob gerade ein PWM Kabel angeschlossen ist 
oder nicht, es ist auch egal welches Signal ich gerade ausgebe. Mir ist 
sehr wohl bewusst, dass ich ich die PINS 9,10,11 benutzen muss wie ich 
selber in meinem 1. Beitrag geschrieben habe: Zitat :"Die RGB werte 
werden auf den Pins 9,10,11 ausgegeben." Also ist die Frage wie ich das 
PWM Kabel richtig anschließe. Ich habe alle Möglichkeiten ausprobiert 
aber ich bekomme es nicht hin. Da ein PWM Kabel aus 4 Kabeln besteht 
habe ich 3 an die Pins 9,10,11 angeschlossen und das 4. Kabel an GND 
dies Funktioniert aber nicht. Ich möchte mich für das aufgekommene 
Missverständnis Entschuldigen und hoffen das ihr jetzt mein Problem 
verstanden habt und mir jetzt weiterhelfen könnt.
OP #3034788
Lesenswert?

Ich besitze leider Kein Oszi und Dokumente waren auch keine Beiliegend 
und ich habe auch keine Datenblätter zu dem Strip driver und dem Relay 
Modul gefunden. Aber mit dem Kleinen Teststreifen direkt am Board 
funktioniert es ja. es gibt nur Probleme wenn ich den Strip driver 
anschließen will.
Gast #3034848
Lesenswert?

Lies dir bitte das Wiki durch. Du brauchst noch das Grove - Base Board 
und dann ist das eine serielle Kommunikation/I²C Bus mit dem die Daten 
dann an die LED-Treiber kommen. Deine PWM wird in dem Base-Board nur in 
den Datenstrom gewandelt, den die µCs auf den Treibern an die FETS 
ausgeben.

Wie gesagt...
Gast #3035094
Lesenswert?

Marius Hegemann schrieb:
> Dies ist ein Missverständnis. Ich habe einen Test RGB Led streifen
> gelötet welcher auch komplett funktioniert, wenn ich ihn an das Board
> anschließe, sobald ich aber den "LED strip Driver" dazwischen packe
> funktioniert gar nicht mehr, alle LEDs leuchten weiß und gehen an und
> aus wann immer sie wollen egal ob gerade ein PWM Kabel angeschlossen ist
> oder nicht, es ist auch egal welches Signal ich gerade ausgebe. Mir ist
> sehr wohl bewusst, dass ich ich die PINS 9,10,11 benutzen muss wie ich
> selber in meinem 1. Beitrag geschrieben habe: Zitat :"Die RGB werte
> werden auf den Pins 9,10,11 ausgegeben." Also ist die Frage wie ich das
> PWM Kabel richtig anschließe. Ich habe alle Möglichkeiten ausprobiert
> aber ich bekomme es nicht hin. Da ein PWM Kabel aus 4 Kabeln besteht
> habe ich 3 an die Pins 9,10,11 angeschlossen und das 4. Kabel an GND
> dies Funktioniert aber nicht. Ich möchte mich für das aufgekommene
> Missverständnis Entschuldigen und hoffen das ihr jetzt mein Problem
> verstanden habt und mir jetzt weiterhelfen könnt.

Dein Grove-LED-Strip-Driver verwendet KEINE PWM als Eingang. Der Driver 
erwartet eine serielle Komunikation. Wie willst du sonst über Kabel die 
mit CKL (clock, Taktsignal), DIN (digital in), GND (Ground, Masse) und 
+5V (selbstredent) die Sachen Übertragen? Da kannst du doch nicht 
einfach irgendwo 3 PWM Leitungen anhängen. Desshalb solltest du mit den 
Grundlagen anfangen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren