Rgb led mit Poti

Hi zusammen,
Habe schon etwas gegoogelt.
Ich bräuchte folgendes.
4 rgb led „Streifen“
Jeder soll einzeln in der Farbe änderbar sein.
Wie mache ich das am Einfachsten?
Gehe ich recht in der Annahme, dass ich an arduino nicht vorbei kommen?

Sprich so wie hier weiter unten mit Knopf und 1Poti?

Oder geht es sogar noch einfacher und zb ohne Arduino?

Würde mich über Hilfe und Tips freuen

Martin

Du kannst dir die Led-Streifen mit einem Controller besorgen, dann sparst du den Arduino (Controller).
Aber ohne eine Intelligenz (hier Arduino) geht es nicht.

Hallo,

Deine Angabe ist nicht ganz eindeutig.

Meinst Du jede einzelne LED oder jeder einzelne Streifen soll einzeln in der Farbe ansteuerbar sein. ?

Was mit den bereits fertigen Controllern da möglich ist weiss ich nicht. Das ist aber sicher die einfachste und schnellste Methode ein paar LED streifen anzusteuern. In der Regel ist sogar eine Fernbedienung in den Set´s enthalten.

Bei einem Arduino kompatiblen Controller und einem geeigneten LED Streifen( z.B WS2812b ) kannst Du jede einzelne LED beliebig in Farbe und Helligkeit ansteueren.

Poti brauchst Du nicht unbedingst dazu, Du kannst den Ablauf zeitlich hintereinander oder zufällig steuern, eigendlich ist dabei fast alles möglich. Es geht bei einem WLAN fähigen uP und mittels Webserver auch über das Heimnetz und damit mit dem Handy.
Allerdings musst Du dazu willig sein dich etwas mit Programierung zu beschäftigen. Ein paar Grund-Kenntnisse in E-Technik währen auch nicht schlecht.

Heinz

Hab Deinen Post im Uralt Diskussion gelöscht.

Von wievielen LEDs pro Streifen reden wir?

Größe Uwe

Hi

Vorweg: Man braucht dafür keinen µC.
Es geht auch rein analog, pro Kanal (also Farbe pro LED-Stripe) mit

  • einem Poti
  • einem OpAmp, Der als Dreieck-Generator mit hoher Frequenz läuft
  • einem OpAmp, Der als Komparator die Dreieck-Spannung mit der Poti-Spannung vergleicht.

Diese OpAmps gibt's auch mit 4 Stück in einem IC - macht die Sache aber nur minimal einfacher.

Du wirst wesentlich schneller glücklich, wenn Du einem Arduino 4 Potis gönnst und EINEN WS2812B-Stripe - Das geht aber nur, wenn Deine 4 Stripes räumlich nahe zusammen sind - der ABstand zwischen den Einzel-LEDs ist hierbei stark begrenzt.
Auch brauchen diese Stripes recht viel Strom (Daumenwert: 60mA pro Lichtpunkt) - dafür kommst Du aber mit EINEM µC-Pin zur Ansteuerung aus.

MfG

Mattn:
.....
Würde mich über Hilfe und Tips freuen

Wieviel Tipps möchtest du noch haben ?

Evtl. den erlösenden?
@Mattn
Siehs dir an und experimentiere etwas.
Erklärungen sind dabei, solltest damit etwas mehr verstehen können.
Viel Erfolg

// Helligkeitssteuerung über PWM -> analogWrite
// angesteuert wird ein RGB-LED-Band mit gemeinsamer Anode (12V) über einen ULN2803

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);  // Set the LCD I2C address

int ledPin1 = 9;      // erster Eingang ULN an Pin 9 grün
int ledPin2 = 10;     // zweiter Eingang ULN an Pin 10 rot 
int ledPin3 = 11;     // dritter Eingang ULN an Pin 11 blau
// Die Ausgänge des ULN sind mit den Kathoden des LED-Bandes verbunden

int analogPin1 = 1;   // Potentiometer an A1 grün
int analogPin2 = 2;   // Potentiometer an A2 rot
int analogPin3 = 3;   // Potentiometer an A3 blau
int val1 = 0;         // Variable um den Analogwert zu speichern 
int val2 = 0;         // Variable um den Analogwert zu speichern 
int val3 = 0;         // Variable um den Analogwert zu speichern 
 
void setup() 
{ 
  lcd.begin(20,4);            // initialisiere das LCD 
  lcd.clear();                // LCD löschen
  lcd.home ();                // Zeile 1
  pinMode(ledPin1, OUTPUT);   // den Pin als Ausgang konfigurieren 
  pinMode(ledPin2, OUTPUT);   // den Pin als Ausgang konfigurieren 
  pinMode(ledPin3, OUTPUT);   // den Pin als Ausgang konfigurieren 
} 
 
void loop() 
{ 
  val1 = analogRead(analogPin1);    // Pin A1 lesen grün 
  val2 = analogRead(analogPin2);    // Pin A2 lesen rot
  val3 = analogRead(analogPin3);    // Pin A3 lesen blau
  analogWrite(ledPin1, val1 / 4);   // analogRead Werte reichen von 0 bis 1023, analogWrite Werte von 0 bis 255 
  analogWrite(ledPin2, val2 / 4);   // analogRead Werte reichen von 0 bis 1023, analogWrite Werte von 0 bis 255 
  analogWrite(ledPin3, val3 / 4);   // analogRead Werte reichen von 0 bis 1023, analogWrite Werte von 0 bis 255 
    lcd.home();                     // Homeposition
    lcd.print("gruen: ");           // grün Wert ausgeben
    lcd.print(val1 / 4);            
    lcd.print(" ");                 
    lcd.setCursor ( 0, 1 );         // LCD nächste Zeile weiter schreiben
    lcd.print("rot  : ");           // rot Wert ausgeben
    lcd.print(val2 /4);             
    lcd.print(" ");                
    lcd.setCursor ( 0, 2 );         // LCD nächste Zeile weiter schreiben
    lcd.print("blau : ");           // blau Wert ausgeben
    lcd.print(val3 /4);             
    lcd.print(" ");                
}