Forum: Mikrocontroller und Digitale Elektronik Arduino mit RGB Leiste vebinden


von Marius H. (msh360)


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.

von Electronics'nStuff (Gast)


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.

von Marius H. (msh360)


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);
   }
  }
}

von Karl (Gast)


Lesenswert?

Schau dir mal genau an, was du da gekauft hast.

http://www.exp-tech.de/Shields/Grove-LED-Strip-Driver.html

Da gehört ein Shield und eine Libary dazu.

Kauf dir Erstmal eine LED und lass die Blinken. Dann kaufst du dir noch 
eine LED und lässt die blinken.

Dann kaufst du dir einen Taster. Mit dem läßt du erst die eine, dann die 
andere und dann beide im wechsel blinken.

von Thomas (Gast)


Lesenswert?

Hallo Marius,

frag lieber im Arduino Forum 
http://arduino.cc/forum/index.php/board,31.0.html

Hier eine Arduino Anfängerfrage zu stellen, macht Dich in etwa so 
beliebt, als würdest Du in einem Islam-Forum nach einem 
Schweinebratenrezept fragen

von Kartoffelsalat (Gast)


Lesenswert?

Der Vergleich zwischen diesem Forum und  Islamforum finde ich in 
vielerlei Hinsicht irgendwie gelungen....

von Marius H. (msh360)


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 ?

von EGS (Gast)


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.

von Marius H. (msh360)


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.

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Stimmt denn die Pinbelegung? -> In die Dokus de Boards gucken
KOmmt überhaupt PWM an den PIns an? -> Oszi ranhalten

von Marius H. (msh360)


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.

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Ähm, auf deinem Link zu dem Teil wurde auf nen Wiki verlinkt.

von Marius H. (msh360)


Lesenswert?

Ja aber in diesem Wiki habe ich auch nichts gefunden was mir in 
irgendeiner weise weiterhilft.

von EGS (Gast)


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...

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Im Schaltplan des Wiki sieht man den Treiber IC, dazu das Datenblatt 
lesen und direkt ansteuern.
Muss man sich eben ne Lib selber Stricken.

edit: die Lib ist da sogar verlinkt, also Glotzen auf!

von Karl (Gast)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.