RGB LED Streifen

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von peterfido.

    RGB LED Streifen

    Hallo,
    ich möchte mir vielleicht demnächst einen RGB LED Streifen mit 150 LEDs bestellen. Der Streifen braucht 2,8 A bei 12 V und ich würde gerne jede der drei Farben beliebig (also 0-255) dimmen können, also nichts für den COM / LTP. Außerdem sollte sich die Farbe etwa alle 20 ms wechseln lassen, falls das möglich ist.

    Mittlerweile habe ich schon etwas Namens DMX gefunden. Soweit ich weiß bräuchte man da einen DMX Dimmer und ein Interface, was ich aber etwas teuer finde.

    Kennt jemand eine (günstige < 50€) Möglichkeit wie ich den Streifen über VB steuern könnte?
    soweit ich verstehe steuerst du gleichzeitig alle leds an? wenn ja brauchst du 3 leistungstransistoren, wiederstände und nen arduino, zusammen solte das wohl um die 30-40 euro kosten.

    dann kannste den arduino entweder so machen dass er die sache selbst steuert oder du ihm per seriellem port(emuliert, in wirklichkeit isses usb) daten angibst die er dann halt verarbeitet, ach ja und halt nen netzteil das genug saft hat brauchst du ^^

    Edit:
    3x transitor: TIP 120 (1€, kann 5A steuern)
    3x wiederstand: 1K bzw 2.2K wiederstand(nicht mehr als 30 cent)
    1x arduino(20€)

    und netzteil.. naja du kannst halt nen teueres nehmen oder nen altes pc netzteil und das so bridgen dass dus für dein led strip nutzen kannst(mit letzerem könntest du alles schön in ein case einbauen, der arduino braucht 7-9 volt(kriegste durch 5 und 12 volt) und dein led strip braucht 12 daher passt es :)

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Gelöschter Benutzer“ ()

    schon mal danke für deine Antwort.

    also diesen streifen wollte ich mir evtl. bestellen: conrad.de/ce/de/product/182002…FEN-150LEDS-5M-12V-RGB-CA
    haben halt alle LEDs eine gemeinsame Anode und die drei Farben werden durchs jeweilige positive Potenzial gesteuert.

    von arduino hab ich auch schon mal etwas gelesen, hab da aber nichts unter 50€ gefunden und mir selbst das ganze Ding zusammen löten möchte ich eigentlich nicht.
    Wo bekommt man denn den arduino für 20 € und hat der dann auch 3 analoge Ausgänge die ich über VB steuern kann?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „MichaelG“ ()

    MichaelG schrieb:

    3 analoge Ausgänge


    Normal macht man das per PWM. Bzw. ein Mikrocontroller macht das per PWM. Entweder in Hardware, dann kann das Programm nebenbei noch anderes erledigen (Z.B. Fernbedienung) oder Software. Da geht nebenbei zwar auch noch was, jedoch fängt es dann an unterschiedlich hell zu werden, wenn der Controller beschäftigt ist. Bei meinem Projekt sorgt ein separater Attiny 2313 per Software PWM für gleichmäßiges Licht. Angesteuert wird er per serieller Schnittstelle. Da aber ausschließlich 3 Byte-Werte ankommen, welcher der Sender (Atmega128) auch nur abschickt, wenn sich was geändert hat, sieht man evtl. kurzes Flackern nicht. Jede Farbe kann in 8 Bit Helligkeit ausgegeben werden. Also aus, an und 254 Zwischenstufen.

    Zwar würde ein PC Netzteil genug Leistung liefern, jedoch fließen im Fehlerfall recht hohe Ströme und wenn keine (oder kaum) Leistung gezogen wird, wird die Mindestlast unterschritten. Besser wäre da ein schon fertiges Steuergerät mit externem Netzteil zu nutzen (Gibt es bei ebay und Co) und dessen "Leistungselektronik" anzusteuern. Dabei ist dann darauf zu achten, dass entweder gemeinsame Anode oder Kathode benötigt wird. Bei meiner RGB Leiste (Dioder von Ikea) ist es eine gemeinsame Anode also + und die Kathoden (-) werden einzeln von einem ULN2803 angesteuert, welcher für Deine Anzahl an LEDs aber nicht ausreicht.

    Eine solche Schaltung lässt sich auch vom PC per RS232 oder USB/RS232 (bzw gleich TTL) ansteuern. Der Mikrocontroller lässt sich mit einer einfachen Schaltung selbst programmieren. Für das Programm reicht die Demo Version von Bascom aus.

    Spoiler anzeigen

    Quellcode

    1. $regfile = "attiny2313.dat"
    2. $baud = 38400
    3. $crystal = 8000000
    4. Stop Watchdog
    5. Config Watchdog = 2048
    6. $hwstack = 32 ' default use 32 for the hardware stack
    7. $swstack = 10 ' default use 10 for the SW stack
    8. $framesize = 40
    9. 'PWM Variablen
    10. Dim Z As Byte 'Freilaufender Zähler
    11. Dim Led(9) As Byte '3-5 werden hier nur genutzt 9 für evtl. falsche Übertragung
    12. Dim B As Byte
    13. Dim B1 As Byte
    14. 'Empfangs Variablen
    15. Dim Eingang As String * 5
    16. Dim Wert As String * 3
    17. Dim Sled As String * 1
    18. Dim Laenge As Byte
    19. 'DDR
    20. Config Portd.2 = Output 'Reserve für evtl. Status ob irgendwas an ist
    21. Config Portd.3 = Output 'Farbe 1
    22. Config Portd.4 = Output 'Farbe 2
    23. Config Portd.5 = Output 'Farbe 3
    24. 'Ini Werte
    25. Led(3) = 0 'Alle Werte auf 0
    26. Led(4) = 0
    27. Led(5) = 0
    28. Reset Portd.3 'Alles aus
    29. Reset Portd.4
    30. Reset Portd.5
    31. Start Watchdog
    32. Enable Interrupts
    33. Do
    34. Reset Watchdog
    35. If Ischarwaiting() = 1 Then
    36. Gosub Empfangen
    37. End If
    38. Incr Z
    39. For B = 3 To 5
    40. If Led(b) > Z Then
    41. Portd.b = 1
    42. Else
    43. Portd.b = 0
    44. End If
    45. Next
    46. Loop
    47. End
    48. Empfangen:
    49. B = Waitkey()
    50. If B = 10 Then Return 'Für Tests bei PC Betrieb
    51. If B = 13 Then
    52. Gosub Auswerten
    53. Return
    54. End If
    55. If Laenge < 4 Then
    56. Incr Laenge
    57. Eingang = Eingang + Chr(b)
    58. End If
    59. Return
    60. Auswerten:
    61. Sled = Left(eingang , 1)
    62. Wert = Mid(eingang , 2)
    63. B = Val(sled) '3-5
    64. B1 = Val(wert) '0-255
    65. Led(b) = B1
    66. Laenge = 0
    67. Eingang = ""
    68. Return
    Gruß
    Peterfido

    Keine Unterstützung per PN!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „peterfido“ ()