Zum Inhalt springen

RGB-LED-Steuerungsprojekt

06 Nov 2023
RGB LED Control Project

RGB-LED-Leuchten

Inhaltsverzeichnis

    RGB ist ein Farbmodell, das häufig in Farbdisplays und digitalen Bildgebungstechnologien verwendet wird. RGB stellt die Kombination der Farben „Rot“, „Grün“ und „Blau“ dar. Diese drei Grundfarben können in Kombination mit unterschiedlichen Intensitäten weitere Farben ergeben. Das RGB-Modell wird verwendet, um die Farbe eines Pixels zu beschreiben, wobei jede Farbe einen Wert zwischen 0 und 255 darstellt. Verschiedene Kombinationen dieser Werte werden verwendet, um Millionen verschiedener Farbtöne zu erzeugen und spielen eine grundlegende Rolle bei der Erstellung digitaler Bilder.

    Dieses Projekt ermöglicht die Farbsteuerung mit Potentiometern mithilfe eines RGB-LED. In diesem mit PicoBricks realisierten Projekt steuern drei Potentiometer die RGB-Komponenten (Rot, Grün, Blau) unabhängig voneinander. Jede Potentiometer Passt die Helligkeit der entsprechenden Farbkomponente an. Mit dem Projekt können Sie ganz einfach verschiedene Farben und Schattierungen erstellen. Die Anschlüsse und der Code der RGB-LED sind einfach und ideal zum Anpassen des Projekts oder zum Erstellen einer grundlegenden Grundlage für komplexere Anwendungen. Es bietet die Möglichkeit, die Farbe der LED in Echtzeit durch Drehen der Potentiometer zu ändern.

    Durch den Einsatz von RGB-LEDs und Potentiometern lernen Sie, analoge und digitale Ein-/Ausgänge zu steuern. Es bietet auch eine praktische Gelegenheit, die Programmierkenntnisse zu verbessern. Das Verstehen und Anpassen des Projekts hilft beim Erlernen der Funktionsweise elektronischer Schaltkreise und der Verwendung der Komponenten. Projekte dieser Art sind ein guter Ausgangspunkt für die MINT-Ausbildung (Naturwissenschaften, Technik, Ingenieurwesen und Mathematik) und bieten eine interessante Erfahrung für diejenigen, die ihre Elektronik- und Programmierkenntnisse verbessern möchten.

    Die LED-Technologie hat die Beleuchtung verändert und bietet grenzenlose Möglichkeiten für eine fantasievolle und dynamische Beleuchtung. In Bereichen wie Innenarchitektur, Unterhaltung und dem täglichen Gebrauch bieten RGB-LEDs die Möglichkeit, die Atmosphäre zu bestimmen, eindrucksvolle Bilder zu schaffen und unsere Umgebung zu personalisieren. Je weiter wir ihr Potenzial entdecken, desto offensichtlicher wird, dass RGB-LEDs heute in der modernen Beleuchtung unverzichtbar sind und unserem Leben Farbe, Vitalität und Anpassungsfähigkeit verleihen. Angesichts der kontinuierlichen Fortschritte in diesem Bereich verspricht die Zukunft weitere spannende Möglichkeiten für RGB-LEDs, sich hervorzutun.

    Wenn Sie detailliertere Informationen zu RGB-LEDs erhalten möchten, können Sie dies tun klicken Sie hier!

    Details und Algorithmus

    Mit dem RGB-LED-Steuerungsprojekt können Sie Farbkombinationen anpassen, indem Sie RGB-LEDs (rot, grün, blau) über Potentiometer steuern. Der erste Schritt besteht darin, den Wert des Potentiometers von 0 bis 1023 in einen Wert von 0 bis 255 umzuwandeln. Diese Transformation ist notwendig, um die Helligkeit der Farbkomponenten zu steuern. Jedes Potentiometer weist dann den roten, grünen und blauen Komponenten einen Wert zu. Im letzten Schritt werden diese Werte den relevanten Komponenten der RGB-LED zugeordnet, um die gewünschte Farb- und Helligkeitskombination zu erzeugen. Durch Drehen des Potentiometers können Sie die LED-Farbe und -Helligkeit in Echtzeit anpassen.

    Komponente

    1X PicoBricks

    Schaltplan

    MicroBlocks-Codes der PicoBricks

    MicroPython-Codes der PicoBricks

    
    von Zeit zu Zeit Schlaf importieren
    vom Maschinenimport-Pin
    von Picobricks Import WS2812
    Importzeit
    vom Maschinenimport I2C
    Von Picobricks importieren Sie SSD1306_I2C
    Importmaschine
    Mathematik importieren
    
    ws2812 = WS2812(6, Helligkeit = 1)
    i2c = I2C(0, scl=Pin(5), sda=Pin(4), freq=200000)
    oled = SSD1306_I2C(128, 64, i2c, addr=0x3c)
    pin_button = machine.Pin(10, machine.Pin.IN)
    Mathematik importieren
    pot = machine.ADC(26)
    
    def color_code():
        global pot_val, red, green, blue, color_list, i
        while (pin_button.value()) == (0):
            oled.fill(0)
            pot_val = Round(round( pot.read_u16() – 0 ) * ( 255 – 0 ) / ( 65535 – 0 ) + 0)
            oled.text(“{}”.format(str(str(color_list[i])+str(“ „))+str(pot_val)), 0, 0)
            oled.show()
    
        pot_val zurückgeben
    
    def chosing_red():
        global pot_val, red, green, blue, color_list, i
        rot = color_code()
        ich += 1
    
    def chosing_green():
        global pot_val, red, green, blue, color_list, i
        grün = color_code()
        ich += 1
    
    def chosing_blue():
        global pot_val, red, green, blue, color_list, i
        blau = color_code()
        ich += 1
    
    während True:
        color_list = [„ROT“, „GRÜN“, „BLAU“]
        rot = 0
        grün = 0
        blau = 0
        ich = 0
        ws2812.pixels_fill((0 ,0 ,0 ))
        ws2812.pixels_show()
        oled.text(“{}”.format(“Farbcode”), 0, 0)
        oled.text(“{}”.format(str(“RED = “)+str(red)), 20, 25)
        oled.text(“{}”.format(str(“BLUE = “)+str(blau)), 20, 35)
        oled.text(“{}”.format(str(“GREEN = “)+str(grün)), 20, 45)
        chosing_red()
        time.sleep((1))
        chosing_green()
        time.sleep((1))
        chosing_blue()
        oled.fill(0)
        oled.show()
        ws2812.pixels_fill((rot, grün, blau))
        ws2812.pixels_show()
        time.sleep((2))
    

     

    PicoBricks IDE-Codes der PicoBricks

    Arduino C-Codes für PicoBricks

    
    #include 
    #include „ACROBOTIC_SSD1306.h“
    #include 
    #define BUTTON_PIN 10
    #define LED_PIN 7
    #PIN 6 festlegen
    #define NUMLEDS 1
    
    Adafruit_NeoPixel leds = Adafruit_NeoPixel(NUMLEDS, PIN, NEO_GRB + NEO_KHZ800);
    int color_list[0];
    int pot_val = 0;
    String pot_val_str = " ";
    int rot = 0;
    int grün = 0;
    int blau = 0;
    
    void color_code(){
      while(digitalRead(BUTTON_PIN) == 0){
        pot_val = analogRead(A0);
        pot_val = map(pot_val,0,1023,0,255);
        oled.setTextXY(0,11);
        oled.putString(String(pot_val));
        Serial.println(pot_val);
      }
    }
    
    void setup() {
      Serial.begin(9600);
      Wire.begin();
      oled.init();
      oled.clearDisplay();
      pinMode(BUTTON_PIN, INPUT);
      pinMode(LED_PIN, OUTPUT);
      randomSeed(analogRead(A0));
      leds.begin();
    }
    
    void loop() {
      oled.setTextXY(0,0);
      oled.putString("Farbcode:");
      oled.setTextXY(1,0);
      oled.putString("----------------");
      oled.setTextXY(2,1);
      oled.putString("RED");
      oled.setTextXY(4,1);
      oled.putString("GREEN");
      oled.setTextXY(6,1);
      oled.putString("BLUE");
    
      while (digitalRead(BUTTON_PIN) == LOW) {
        Farbcode();
        digitalWrite(LED_PIN,HIGH);
        Verzögerung (1000);
        digitalWrite(LED_PIN,LOW);
        rot = pot_val;
        oled.setTextXY(2,7);
        oled.putString(String(red));
        Verzögerung (1000);
        Farbcode();
        digitalWrite(LED_PIN,HIGH);
        Verzögerung (1000);
        digitalWrite(LED_PIN,LOW);
        grün = pot_val;
        oled.setTextXY(4,7);
        oled.putString(String(green));
        Farbcode();
        digitalWrite(LED_PIN,HIGH);
        Verzögerung (1000);
        digitalWrite(LED_PIN,LOW);
        blau = pot_val;
        oled.setTextXY(6,7);
        oled.putString(String(green));
        digitalWrite(LED_PIN,LOW);
        Verzögerung (1000);
    
        for(int i=0;i < NUMLEDS;i++) {
          leds.setPixelColor(i, leds.Color(rot,grün,blau));
          leds.show();
          Verzögerung (2000);
          leds.setPixelColor(i, leds.Color(0, 0, 0)); //Alle Pixel schwarz ausschalten
          leds.show();
        }
      }
    
      oled.clearDisplay();
    }
    
    Vorheriger Beitrag
    Nächster Beitrag

    Danke fürs Abonnieren!

    Diese E-Mail wurde registriert!

    Shoppen Sie den Look
    Wählen Sie Optionen

    Bearbeitungsoption

    Benachrichtigung wieder auf Lager

    Vergleichen

    Produkt ArtikelnummerBewertungBeschreibung Sammlung Verfügbarkeit Produktart Andere Details
    this is just a warning
    Anmeldung
    Einkaufswagen
    0 Artikel
    Same Day Shipping No Extra Costs
    Easy Returns Guarantee Return with Ease
    Secure Checkout Secure Payment