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.
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.
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); } } }
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.
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
Der Vergleich zwischen diesem Forum und Islamforum finde ich in vielerlei Hinsicht irgendwie gelungen....
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 ?
@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.
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.
Stimmt denn die Pinbelegung? -> In die Dokus de Boards gucken KOmmt überhaupt PWM an den PIns an? -> Oszi ranhalten
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.
Ja aber in diesem Wiki habe ich auch nichts gefunden was mir in irgendeiner weise weiterhilft.
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...
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!
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.