LedPulse
If you have installed the old LedBorg driver version see here for instructions on updating.

This example takes the getting started - lesson 5 script and adds a new dimension to the colour changing, brightness.
The new script pulses the LedBorg brightness between hue changes, giving a more complex colour sequence which shows how flexible LedBorg can be.
You can download the code directly to your Raspberry Pi using:
cd ~/ledborg
wget -O LedPulse.py http://piborg.org/downloads/LedPulse.py.txt
Or save the text file from the link on your Raspberry Pi as LedPulse.py
Make the script executable using
chmod +x LedPulse.py
and run using
sudo ./LedPulse.py
To stop the script press CTRL+C.
Full code listing
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | #!/usr/bin/env python # Import library functions we need import time import wiringpi2 as wiringpi wiringpi.wiringPiSetup() # Setup software PWMs on the GPIO pins PIN_RED = 0 PIN_GREEN = 2 PIN_BLUE = 3 LED_MAX = 100 wiringpi.softPwmCreate(PIN_RED, 0 , LED_MAX) wiringpi.softPwmCreate(PIN_GREEN, 0 , LED_MAX) wiringpi.softPwmCreate(PIN_BLUE, 0 , LED_MAX) wiringpi.softPwmWrite(PIN_RED, 0 ) wiringpi.softPwmWrite(PIN_GREEN, 0 ) wiringpi.softPwmWrite(PIN_BLUE, 0 ) # A function to set the LedBorg colours def SetLedBorg(red, green, blue): wiringpi.softPwmWrite(PIN_RED, int (red * LED_MAX)) wiringpi.softPwmWrite(PIN_GREEN, int (green * LED_MAX)) wiringpi.softPwmWrite(PIN_BLUE, int (blue * LED_MAX)) # A function to turn the LedBorg off def LedBorgOff(): SetLedBorg( 0 , 0 , 0 ) # Run until the user presses CTRL+C print 'Press CTRL+C to exit' while True : # Loop over a set of different hues: for hue in range ( 30 ): # Get hue into the 0 to 3 range hue / = 10.0 # Decide which two channels we are between if hue < 1.0 : # Red to Green red = 1.0 - hue green = hue blue = 0.0 elif hue < 2.0 : # Green to Blue red = 0.0 green = 2.0 - hue blue = hue - 1.0 else : # Blue to Red red = hue - 2.0 green = 0. blue = 3.0 - hue # Build a list of levels from 1 to 100 to 0 levels = range ( 1 , 101 ) levels2 = range ( 100 ) levels2.reverse() levels.extend(levels2) # Loop over the levels for level in levels: # Get level into the 0 to 1 range level / = 100.0 # Set the chosen colour and level SetLedBorg(red * level, green * level, blue * level) # Wait a short while time.sleep( 0.01 ) |
