A set of shell scripts for doing fun things with LEDs attached to a Raspberry Pi
Shell
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
README.md
flashlight
flashlights
flashlights2
pilights
trafficlights
trafficlights2

README.md

pilights - fun scripts for controlling LEDs via Raspberry Pi

This is a simple collection of shell scripts designed to make it easy for children to play with a set of LEDs attached to a Raspberry Pi via GPIO.

Usage

The main configuration and setup is in the pilights file, and assumes a default layout of 3 LEDs attached like this:

GPIO17  Red
GPIO18  Yellow
GPIO21  Green

There is also optional support for a second set of lights:

GPIO22  Red2
GPIO23  Yellow2
GPIO24  Green2

2 functions are supplied, turn and wait:

turn <light> <on|off>
wait <seconds>

So a simple script to turn the red light on and then off again 2 seconds later would be:

. ./pilights

turn red on
wait 2
turn red off

Both functions are designed to be case-insensitive and also allow additional arguments for optional clarity. The above could instead be written like this:

TURN RED LIGHT ON
WAIT 2 SECONDS 
TURN RED LIGHT OFF

for that retro feel ;)

There is also a simple alias for a 'while true' loop:

repeat
  turn red on
  wait 0.2
  turn red off
  wait 0.2
done

Example Scripts

A number of example scripts are provided.

  • flashlight flashes the red LED.
  • flashlights flashes the red, yellow, and green LEDs.
  • flashlights2 flashes both sets of red, yellow, and green LEDs.
  • trafficlights runs a traffic light simulation with the first set of LEDs.
  • trafficlights2 runs a full traffic light simulation with both sets of LEDs.

You are encouraged to play with these scripts and edit them to observe the change in behaviour.

Have fun!