GPIO Project 6 - RGB Led

Beginner
30 Minuten
€ 169,90

In dit project leer je hoe je een RGB LED kunt gebruiken om verschillende kleuren te maken door de drie primaire kleuren (rood, groen, blauw) apart aan te sturen via GPIO-pinnen. Je kunt kleuren combineren door de intensiteit van elke kleur te variëren.

Aansluitschema

RGB LED aansluiting (gemeenschappelijke katode):

  1. Verbind de gemeenschappelijke poot (katode):
    • Verbind de gemeenschappelijke poot van de RGB LED (langste poot) met GND (pin 6).
  2. Verbind de rode LED-poot:
    • Verbind de rode poot via een 220Ω weerstand met GPIO 17 (pin 11).
  3. Verbind de groene LED-poot:
    • Verbind de groene poot via een 220Ω weerstand met GPIO 27 (pin 13).
  4. Verbind de blauwe LED-poot:
    • Verbind de blauwe poot via een 220Ω weerstand met GPIO 22 (pin 15).

Pinout Referentie

GPIO

Pin #

Functie

Aansluiting

GPIO 17Pin 11Rode LEDVerbind via weerstand
GPIO 27Pin 13Groene LEDVerbind via weerstand
GPIO 22Pin 15Blauwe LEDVerbind via weerstand
GNDPin 6Aarde (Ground)Gemeenschappelijke katode

 

Python-code in Thonny

Stap 1: Schrijf je code

Open de Thonny Python IDE en voer de volgende code in:

from gpiozero import PWMLED
from time import sleep

# RGB LED-pinnen koppelen aan GPIO
red = PWMLED(17)    # Rode LED op GPIO 17
green = PWMLED(27)  # Groene LED op GPIO 27
blue = PWMLED(22)   # Blauwe LED op GPIO 22

def set_color(r, g, b):
    """Stel de kleur van de RGB LED in."""
    red.value = r    # Rood intensiteit (0.0 - 1.0)
    green.value = g  # Groen intensiteit (0.0 - 1.0)
    blue.value = b   # Blauw intensiteit (0.0 - 1.0)

try:
    while True:
        print("Rood")
        set_color(1, 0, 0)  # Rood
        sleep(1)

        print("Groen")
        set_color(0, 1, 0)  # Groen
        sleep(1)

        print("Blauw")
        set_color(0, 0, 1)  # Blauw
        sleep(1)

        print("Geel")
        set_color(1, 1, 0)  # Geel (rood + groen)
        sleep(1)

        print("Cyaan")
        set_color(0, 1, 1)  # Cyaan (groen + blauw)
        sleep(1)

        print("Magenta")
        set_color(1, 0, 1)  # Magenta (rood + blauw)
        sleep(1)

        print("Wit")
        set_color(1, 1, 1)  # Wit (rood + groen + blauw)
        sleep(1)

        print("Uit")
        set_color(0, 0, 0)  # LED uit
        sleep(1)
except KeyboardInterrupt:
    print("\nProgramma gestopt.")
    set_color(0, 0, 0)  # Zet LED uit bij stoppen

Stap 2: Sla het bestand op

Klik op Bestand > Opslaan als en noem het bestand rgb_led.py.

Stap 3: Voer het script uit

Klik op de groene Run-knop (▶) bovenin de Thonny-interface.

Hoe werkt het?

  • PWMLED: Hiermee kun je de intensiteit van elke kleur aanpassen met waardes tussen 0.0 (uit) en 1.0 (volledig aan).
  • set_color(): Een functie om de intensiteit van de rode, groene en blauwe LED tegelijkertijd in te stellen.
  • Kleurcombinaties: Door verschillende intensiteiten van rood, groen en blauw te combineren, kun je verschillende kleuren maken.

Resultaat

  • De RGB LED doorloopt automatisch de volgende kleuren: rood, groen, blauw, geel, cyaan, magenta, wit en uit.
  • Elke kleur blijft 1 seconde actief voordat hij overschakelt naar de volgende.

Experimenteren

  1. Kleur aanpassen: Pas de waarden van set_color() aan om nieuwe kleuren te maken. Probeer bijvoorbeeld:
set_color(0.5, 0.3, 0.7)  # Experimentele kleur 

2. Interactieve bediening: Gebruik een drukknop of potentiometer om de intensiteit van de kleuren handmatig te regelen.

3. Knipperen toevoegen: Laat de RGB LED knipperen in specifieke kleuren door sleep() aan te passen.

 

Na dit project kun je door met de volgende:
https://elektronicavoorjou.nl/project/gpio-project-7-stepper-motor-intro

Benodigde producten