LED’s zijn in vele soorten en maten beschikbaar op de electronica markt. Het aansturen van LED met behulp van een Raspberry Pi is vrij eenvoudig. In dit stappen plan gebruiken we een (Keyes) RGB LED module die we gaan aansturen met behulp van de standaard GPIO interface.
De LED module is zeer goedkoop verkrijgbaar en is voorzien van de nodige weerstanden, hierdoor we deze direct kunnen aansluiten op pins van de GPIO interface. Een RGB LED kun je gebruiken om een bepaalde status weer te geven, bijvoorbeeld groen bij een lage CPU temperatuur en rood bij te hoge temperatuur.
Gebruikte componenten
• KEYES KY-016 RGB LED Module
• 4x Dupont verbindingskabel (female/female)
Raspberry Pi 3 model B
Raspbian Jessie (2016-05-27 kernel 4.4.13)
Aansluitschema
Het aansluiten van de LED module is eenvoudig, volg hiervoor het onderstaande schema. Ter verduidelijking vind het onder het schema de GPIO pin layout terug.
RGB pin | RPI pin | Functie |
---|---|---|
ROOD | 11 | GPIO 17 |
GROEN | 13 | GPIO 27 |
BLAUW | 15 | GPIO 22 |
GND(-) | 14 | GND |
RGB LED Python script
Om te kunnen communiceren met het Python script maken we gebruik van de standaard GPIO lPython library die standaard is geïnstalleerd op de Rapsberry Pi met Raspbian Jessie.
#! /usr/bin/env python # https://www.raspberrytips.nl import RPi.GPIO as GPIO import sys rood = 17 groen = 27 blauw = 22 GPIO.setmode(GPIO.BCM) GPIO.setwarnings(False) GPIO.setup(rood, GPIO.OUT) GPIO.setup(groen, GPIO.OUT) GPIO.setup(blauw, GPIO.OUT) GPIO.output(blauw, 0) GPIO.output(groen, 0) GPIO.output(rood, 0) if len(sys.argv) > 1: cmd = sys.argv[1] if cmd == "rood": GPIO.output(rood, 1) if cmd == "groen": GPIO.output(groen, 1) if cmd == "blauw": GPIO.output(blauw, 1)
Kopieer het Python script of download deze met behulp van het wget
commando:
wget https://raspberrytips.nl/files/rgbled.py
Activeer het script, dit kan kan zonder root rechten, als parameter kun je de gewenste kleur opgeven (rood
, groen
, blauw
). Met behulp van het onderstaande voorbeeld zal dus de rode led worden geactiveerd:
python rgbled.py rood