Ich habe hier Taster mit 2 integrierten RGB-LEDs (Honyone PB06-B/C). Jede LED hat einen gemeinsamen Pluspol und dann 3 Minuspole für die drei Farben. Habt Ihr einen Tipp wie ich die Minuspole mit einem Arduino elegant schalten und per PWM kann? Programmiertechnisch sind auch serielle o. I2C-Lösungen möglich, aber was den Schaltungsaufbau angeht, wäre ich für einen Tipp sehr dankbar. SMD-Löten ist OK, falls es auf einen Treiber hinausläuft. [Sorry. Sollte nur ein Dateianhang werden]
:
Verschoben durch Moderator
Ralph E. schrieb: > Habt Ihr einen Tipp wie ich die Minuspole mit einem Arduino elegant > schalten und per PWM kann? Gemeinsame Anode macht es doch einfach: Jede Led-Kathode über einen Transistor nach Masse schalten. Desweiteren gibt es I²C Portexpander/Ledtreiber, die die Leds schalten und auch noch dimmen können.
Die ATMega328P-basierten Arduinos können doch sogar 6 PWM-Kanäle von Haus aus. Je nach gefordertem Strom durch die LED nen Transistor dazu und ab dafür. Ansonsten wäre der PCA9685 so ein klassischer Kandidat dafür.
Erst mal messen wieviel Strom nötig ist, um die nötige Helligkeit zu erreichen.
Sebastian R. schrieb: > Ansonsten wäre der PCA9685 so ein klassischer Kandidat dafür. 16 Ports sind doch unnötig, es gibt auch 8 Port-Varianten.
Peter N. schrieb: > 16 Ports sind doch unnötig, es gibt auch 8 Port-Varianten. das wäre OK, dann könnte ich zwei Taster ansteuern oder vier, wenn ich die beiden LEDs im Schalter zusammenlege. Allerdings ist der doch schon recht teuer, wenn man in DE bestellt. Und man findet fast nur das Servo-Ansteuerungsmodul auf PCA9685-Basis. Vielleicht findet sich ja noch ein Kandidat, der preiswerter ist, aber auf alle Fälle vielen Dank für die hilfreichen und schnellen Antworten. Klasse!
Peter N. schrieb: > Desweiteren gibt es I²C Portexpander/Ledtreiber, die die Leds schalten > und auch noch dimmen können. Ich weiß leider nicht wie ich die finde.
Wieso bekommt man bei der Frage (im 1. Beitrag) eigentlich gleich Minuspunkte bei Lesenswert?
Weil die Bewertungen hier im Forum ist fürn Arsch sind. Klicki Spielzeug sollte schon längst sowas weg.
Ralph E. schrieb: > Wieso bekommt man bei der Frage (im 1. Beitrag) eigentlich gleich > Minuspunkte bei Lesenswert? 1. ist doch egal 2. es gibt halt Leute, die finden die Frage nicht lesenwert 3. du hast das A-Wort verwendet und zutiefst verwurzelte Urreflexe geweckt Ralph E. schrieb: > wenn ich die beiden LEDs im Schalter zusammenlege. Mein Vorschlag: gibt trotzdem jeder LED einen eigenen Widerstand. Ralph E. schrieb: > Peter N. schrieb: >> Desweiteren gibt es I²C Portexpander/Ledtreiber > Ich weiß leider nicht wie ich die finde Probiers mit den englischen Worten: - https://www.google.com/search?q=I%C2%B2C+Led+driver Bei "Portexpander" ist es natürlich einfacher, da muss man nichts übersetzen: - https://www.google.com/search?q=portexpander+i2c
:
Bearbeitet durch Moderator
Lothar M. schrieb: > du hast das A-Wort verwendet und zutiefst verwurzelte Urreflexe geweckt. Seit wann weckt der Arduino Urreflexe? Das schlimme A-Wort von Thomas K. ist in der Menschheitsgeschichte schon deutlich älter und hätte somit tatsächlich das Potenzial Urinstinkte zu wecken, die zu einer Negativbewertung führen können ;)
Enrico E. schrieb: > Urinstinkte Ich dachte, "stinken" wird stark konjugiert? Dann müsste es doch "Urinstank" heißen, oder nicht?
Ralph E. schrieb: > Und > man findet fast nur das Servo-Ansteuerungsmodul auf PCA9685-Basis. Mit diesem Modul kannst du auch LEDs ansteuern. Und sie sogar in der Helligkeit ändern!
Wer die LEDs nicht direkt (über Widerstände) an den Mikrocontroller anschließen will, der sollte vielleicht mal erklären, warum nicht. Dann kann man ihm passende Vorschläge machen. Und dabei vielleicht auch daran denken, dass es nicht den Arduino gibt. Das ist ein Software Framework für hunderte Mikrocontroller Modelle.
Ralph E. schrieb: > Wieso bekommt man bei der Frage (im 1. Beitrag) eigentlich gleich > Minuspunkte bei Lesenswert? Weil du... 1.... nicht verrätst welche Versorgungsspannung du hast. 2.... nicht verrätst wieviel Strom die LED brauchen? Ralph E. schrieb: > schalten und per PWM kann? Was jetzt? schalten oder dimmen?
Ralph E. schrieb: > was den Schaltungsaufbau angeht, wäre ich für einen Tipp sehr dankbar Einfach über den notwendigen Vorwiderstand, z.B. 270 Ohm für 10mA, an Arduino-Ausgangspins, man braucht halt 6 davon. Die LED der jeweiligen Farbe leuchtet dann wenn der Ausgang auf low geht (0% PWM macht maximale Helligkeit). Man kann Arduino-PWM AnalogWrite nutzen, die nur an einigen Ausgängen geht, oder Soft-PWM selber programmieren.
Stefan F. schrieb: > Wer die LEDs nicht direkt (über Widerstände) an den Mikrocontroller > anschließen will, der sollte vielleicht mal erklären, warum nicht. Dann > kann man ihm passende Vorschläge machen. > > Und dabei vielleicht auch daran denken, dass es nicht den Arduino > gibt. Das ist ein Software Framework für hunderte Mikrocontroller > Modelle. Ich kannte bisher nur das Schalten über den Pluspol der LED. Also Widerstand davor und alles war gut. nun muss ich die LEDs aber über den Minuspol schalten, da sie gemeinsam am Pluspol hängen. Und da weiss ich icht wie das geht, daher hier die Frage nach einer Lösung.
Michael B. schrieb: > Ralph E. schrieb: >> was den Schaltungsaufbau angeht, wäre ich für einen Tipp sehr dankbar > > Einfach über den notwendigen Vorwiderstand, z.B. 270 Ohm für 10mA, an > Arduino-Ausgangspins, man braucht halt 6 davon. Die LED der jeweiligen > Farbe leuchtet dann wenn der Ausgang auf low geht (0% PWM macht maximale > Helligkeit). > Man kann Arduino-PWM AnalogWrite nutzen, die nur an einigen Ausgängen > geht, oder Soft-PWM selber programmieren. Aber wie geht das wenn man die LED am Minuspol schalten muss?
Max M. schrieb: > Ralph E. schrieb: >> Wieso bekommt man bei der Frage (im 1. Beitrag) eigentlich gleich >> Minuspunkte bei Lesenswert? > > Weil du... > 1.... nicht verrätst welche Versorgungsspannung du hast. > 2.... nicht verrätst wieviel Strom die LED brauchen? > > Ralph E. schrieb: >> schalten und per PWM kann? > > Was jetzt? schalten oder dimmen? Aus-/Anschalten und dimmen schliesst sich doch nicht aus. Versorgungsspannung liegt bei 3.3V. Stromverbrauch kenne ich nicht und weiss leider auch nicht wie ich ihn messen soll. Das steht dazu im Datenblatt: Function: Momentary Circuit: OFF-(ON) / Momentary SPST Current Rating: 100mA Solder Spec: 350 °C for 5 seconds Resistance: 100 MOhm Operating life: 1.000.000 Cycles minimum EAN / GTIN: not available
Ralph E. schrieb: > Wieso bekommt man bei der Frage (im 1. Beitrag) eigentlich gleich > Minuspunkte bei Lesenswert? Weil es absolute Basisdinge sind, die man in den Beschreibungen zum Arduino findet. Ralph E. schrieb: > Aber wie geht das wenn man die LED am Minuspol schalten muss? Was daran ist so schwer? Michael B. schrieb: > Die LED der jeweiligen Farbe leuchtet dann wenn der Ausgang auf low geht Im Anhang die üblichen Varianten, für dich links unten "weiss".
Ich wusste nicht, dass das geht (Pin D9). Jetzt habe ich es verstanden. Danke, dass wird wohl die Lösung sein. P.S. Ich finde es aber schade, dass Anfänger hier so gedisst werden.
Ralph E. schrieb: > Aber wie geht das wenn man die LED am Minuspol schalten muss? Gib am µC-Port Low aus, dann leuchtet die LED. Ralph E. schrieb: > P.S. Ich finde es aber schade, dass Anfänger hier so gedisst werden. Halb so wild. Wenn der Anfänger zeigt, dass er gewillt ist, ein wenig mitzudenken, dann geht das schon. Wenn du statt "Pluspol" und "Minuspol" die richtigen Namen der LED-Anschlüsse "Anode" und "Kathode" verwendest, dann findest du auch ganz leicht eine Antwort: - https://www.google.com/search?q=LED+gemeinsame+anode+&tbm=isch findet - https://makeabilitylab.github.io/physcomp/arduino/rgb-led.html
:
Bearbeitet durch Moderator
Ralph E. schrieb: > P.S. Ich finde es aber schade, dass Anfänger hier so gedisst werden. Ich eigentlich auch. Aber manchmal fühlt es sich so an, als sei Eigenleistung und eigene Recherche irgendwie out. Damit möchte ich dir nichts vorwerfen oder dir etwas unterstellen, das ist mehr ein allgemeines Problem. Aber auch bei deiner Frage findet sich mit dem Suchbegriff "RGB LED Arduino" einiges, das bereits eine Lösung für dich beinhaltet. https://funduino.de/nr-20-rgb-led https://www.exp-tech.de/blog/arduino-tutorial-so-verwenden-sie-eine-rgb-led Und da viele andere Fragen eher ein "Hier ist ein Problem, löst es für mich" sind, reagieren manche (ich wohl auch) etwas allergisch auf Anfängerfragen, die keine Eigenleistung beinhalten. Ich habe ja die Hoffnung, dass du deine Frage gestellt hast, weil du etwas lernen möchtest und irgendwann selber weißt, wie du ein solches Problem löst und du nicht einfach nur eine Lösung haben möchtest. Deshalb versuche ich in meinen Antworten eher Stichworte zur Recherche zu liefern als die Lösung vorzukauen.
:
Bearbeitet durch User
Ralph E. schrieb: > Versorgungsspannung liegt bei 3.3V. Scheisse, Salamischeibe 22: Erst schreibst du 'Arduino', nun 3.3V: ja, es gibt auch Arduinos mit 3.3V, aber der übliche (Uno, Nano) arbeitet mit 5V. Wie willst du mit 3.3V Versorgung, also vielleicht 3V Ausgangsspannung vom uC Pin, eine LED leuchten lassen, die je nach Laune 2.9 bis 3.6V für ihren Nennstrom benötigt ? Da musst du die Spannung erst hochtransformieren, oder in deinem Fall der LED mit gemeinsamer Anode erst eine negative Spannung erzeugen. Ja, das geht, ist aber deutlich mehr Aufwand. Rote und grüne LED werden mit 2.1V auskommen, da teicht die LED über Vorwiderstand an 3.3V
1 | uC-Ausgang --270R--|<|-- +3.3V |
2 | LED |
aber die blaue LED wird damit nicht ordentlich leuchten. Man kann mot dem uC Ausgang eine negative Spannung erzeugen
1 | uC-Ausgang --10uF--+--|<|-- +3.3V |
2 | | LED |
3 | Masse --------|<|--+ |
4 | 1N4148 |
aber der Strom hängt vom ESR des Subminiatur 10uF/16V Elkos von ein paar Ohm und dem Ausgangswiderstand des uC Pins von ca. 40 Ohm ab, du musst ausprobieten, bei welchem PWM Tastverhaltnis die 3 LED zusammen weiss ergeben (und ggf. die 270R der roten und grünen LED erhöhen zur Anpassung vor allem wenn das so ein leistungsschwacher ESP oder RP2040 als 'Arduino' ist). Also klar erhöhter Schwierigkeitsgrad. Aber wer sich erst was zudammenkauft und dann nachdenkt, muss ja eine Konsequenz spüren. Und ich weiss jetzt nicht, wer sich auf weitere 20 Salamischeiben freut.
Die Variante am Pin D9 funktioniert auch auch an 3,3V Mikrocontrollern. Von der 5V Versorgung fallen an der LED 2-3V ab. Die verbleibenden 2-3V tun dem Mikrocontroller nicht weh.
Max M. schrieb: > Was jetzt? schalten oder dimmen? Schalten und dimmen (per PWM) ist das selbe. Beim Dimmen wird so schnell hintereinander ein und wieder aus geschaltet, dass du es nicht als Schalten wahrnimmst.
Rainer W. schrieb: > Beim Dimmen wird so schnell > hintereinander ein und wieder aus geschaltet, dass du es nicht als > Schalten wahrnimmst. Was ich schon immer über PWM wissen wollte, mich aber nie zu fragen getraut habe!
Steve van de Grens schrieb: > Die Variante am Pin D9 funktioniert auch auch an 3,3V Mikrocontrollern ... wenn die einzelne LED an +5V hängt und blau oder weiß ist (du hast es zwar gedacht, aber nicht explizit geschrieben). Aber hier mit der Common-Anode-Multi-Color-LED geht das wieder nicht, weil sonst die rote LED auch bei high am µC schon leuchten könnte. Für diesen 5V-Trick müsste dann noch eine Diode in in Reihe zur roten LED geschaltet werden. Und evtl. ist das auch bei der grünen LED nötig:
1 | +5V ----------. |
2 | | |
3 | .-----o-----. |
4 | R | G | B | |
5 | V=> V=> V=> |
6 | - - - |
7 | | | | |
8 | R R R |
9 | | | | |
10 | 4148 V V | |
11 | - - | 3V3 |
12 | | | | | |
13 | .---#-----#-----#-------#-----. |
14 | | D7 D8 D9 Vcc | |
15 | | µC | |
16 | | GND | |
17 | '-----------------------#-----' |
18 | | |
19 | --- |
:
Bearbeitet durch Moderator
Sebastian R. schrieb: > Aber manchmal fühlt es sich so an, als sei > Eigenleistung und eigene Recherche irgendwie out. So etwa war auch mein Kommentar gedacht. > Aber auch bei deiner Frage findet sich mit dem Suchbegriff "RGB LED > Arduino" einiges, das bereits eine Lösung für dich beinhaltet. > > https://www.exp-tech.de/blog/arduino-tutorial-so-verwenden-sie-eine-rgb-led Da bekomme ich direkt Kackreiz: Anstatt eines Schaltplans ein Fritzing-Bildchen und 220 Ohm vor den LEDs, 15mA für Rot. Michael B. schrieb: >> Versorgungsspannung liegt bei 3.3V. > > Scheisse, Salamischeibe 22: Erst schreibst du 'Arduino', nun 3.3V: ja, > es gibt auch Arduinos mit 3.3V, aber der übliche (Uno, Nano) arbeitet > mit 5V. Ja! > Wie willst du mit 3.3V Versorgung, also vielleicht 3V Ausgangsspannung > vom uC Pin, eine LED leuchten lassen, die je nach Laune 2.9 bis 3.6V für > ihren Nennstrom benötigt ? Wenn man nur 1mA als Kontrollampe fährt, geht das noch gerade so, bei meinen blauen Chinesen habe ich 2,6V gemessen. Ich habe hier einen 3V3-System mit LDO an einem LiIon-Akku laufen, die beiden blauen Kontrolleds per Transistor direkt am LiIon. Die Helligkeit ändert sich deutlich, aber bis 3,2V herunter komme ich damit noch klar. > Rote und grüne LED werden mit 2.1V auskommen, Ich habe Grüne, die fast auf dem Spannungsniveau der Blauen liegen. Steve van de Grens schrieb: > Die Variante am Pin D9 funktioniert auch auch an 3,3V Mikrocontrollern. > Von der 5V Versorgung fallen an der LED 2-3V ab. Die verbleibenden 2-3V > tun dem Mikrocontroller nicht weh. Das klingt wirr. Wir wissen nicht, woher er seine Versorgung bezieht. Sollte es tatsächlich 5V geben, gehören die LEDs nicht direkt an den Ausgang eines 3,3V-µC und glimmen evtl. über dessen Schutzdioden. Siehe: Lothar M. schrieb: > weil sonst die rote LED auch bei high am µC schon leuchten könnte. Wenn im System eine höhere Spannung existiert, kommt da als saubere Lösung ein Transistor dran, in meinem Plan an D10. Wenn das richtig knapp ist, anstatt des NPN besser ein LL-FET.
Lothar M. schrieb: >> Die Variante am Pin D9 funktioniert auch auch an 3,3V Mikrocontrollern > ... wenn die einzelne LED an +5V hängt und blau oder weiß ist (du hast > es zwar gedacht, aber nicht explizit geschrieben). Geht mit allen Farben. Hauptsache, die LED hat mindestens 1,7 Volt Flussspannung, wovon man wohl ausgehen kann (ist ja nicht Infrarot). Lothar M. schrieb: > Aber hier mit der Common-Anode-Multi-Color-LED geht das wieder nicht, > weil sonst die rote LED auch bei high am µC schon leuchten könnte. Alle LED Fragen haben in diese RGB Konstellationen in der Regel über 2 Volt. Aber wir sind ja im Land der Bedenkenträger, wo man selbst Klopapier mit 5 Durchschlägen und 4 Genehmigungsprozessen bestellen muss. Leider fehlt die Angabe der Spannung im Datenblatt des konkreten Tasters. Nur Not hätte ich auch die zusätzliche Diode vorgeschlagen. Das kann der TO ja selbst austüfteln, man muss es nicht schon vorher (ohne Bedarf) unnötig kompliziert machen. Die passenden Widerstände (wegen der Helligkeit/Farbmischung) muss er ja auch eh selbst herausfinden.
Als Dankeschön habe ich mal alles zum Schalter inkl. selbsterstellter Eagle-Bibliothek in Github verewigt. Falls jemand auch diesen Schalter mag oder hat. github.com MarphXL LED-Switch_PB06-B-WT_Honyone https://github.com/MarphXL/LED-Switch_PB06-B-WT_Honyone
:
Bearbeitet durch User
Ralph E. schrieb: > Stromverbrauch kenne ich nicht und weiss leider auch nicht wie ich ihn > messen soll. Normalerweise sollte der Hersteller das im Datenblatt angeben. Ist bei diesem Produkt aber gut versteckt. "pb-06-b-wt-1 honyone rgb led specs" als Suchbegriff bei Google führte dann zu dieser Seite bei Aliexpress: https://de.aliexpress.com/i/33004443562.html?gatewayAdapt=glo2deu Und da findet man dann endlich auch mal Angaben zu den LEDs: LED Arbeits Spannung (@ 20mA) Rot: 1,8-2,4 V Grün: 2,7-3,7 V Blau: 2,7-3,7 v Weiß: 2,9-3,6 V Und damit kann man dann endlich auch die passenden Vorwiderstände ausrechnen (und sieht, dass es bei 3,3 Volt Versorgung etwas schwierig wird ...), wobei ich da keine 20mA ansetzen würde, sondern eher 10mA.
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.