|
|
@ -1,19 +1,60 @@ |
|
|
|
#! /usr/bin/bash |
|
|
|
|
|
|
|
pin_rot=17 # z.B. Pin 11 (BCM 17) |
|
|
|
pin_gelb=27 # z.B. Pin 13 (BCM 27) |
|
|
|
pin_gruen=22 # z.B. Pin 15 (BCM 22) |
|
|
|
|
|
|
|
state_rot=0 |
|
|
|
state_gelb=0 |
|
|
|
state_gruen=0 |
|
|
|
|
|
|
|
gpiochip="gpiochip0" |
|
|
|
|
|
|
|
function resetPins() { |
|
|
|
echo "Ampel aus" |
|
|
|
gpioset "${gpiochip}" ${pin_rot}=0 ${pin_gelb}=0 ${pin_gruen}=0 |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function setPins() { |
|
|
|
gpioset "${gpiochip}" ${pin_rot}=${state_rot} |
|
|
|
gpioset "${gpiochip}" ${pin_gelb}=${state_gelb} |
|
|
|
gpioset "${gpiochip}" ${pin_gruen}=${state_gruen} |
|
|
|
} |
|
|
|
|
|
|
|
function ampel() { |
|
|
|
case ${1} in |
|
|
|
1) |
|
|
|
echo "Ampelphase rot" |
|
|
|
state_rot=1 |
|
|
|
state_gelb=0 |
|
|
|
state_gruen=0 |
|
|
|
setPins |
|
|
|
sleep 5 |
|
|
|
;; |
|
|
|
2) |
|
|
|
echo "Ampelphase rot/gelb" |
|
|
|
state_rot=1 |
|
|
|
state_gelb=1 |
|
|
|
state_gruen=0 |
|
|
|
setPins |
|
|
|
sleep 1 |
|
|
|
;; |
|
|
|
3) |
|
|
|
echo "Ampelphase grün" |
|
|
|
state_rot=0 |
|
|
|
state_gelb=0 |
|
|
|
state_gruen=1 |
|
|
|
setPins |
|
|
|
sleep 3 |
|
|
|
;; |
|
|
|
4) |
|
|
|
echo "Ampelphase gelb" |
|
|
|
state_rot=0 |
|
|
|
state_gelb=1 |
|
|
|
state_gruen=0 |
|
|
|
setPins |
|
|
|
sleep 2 |
|
|
|
;; |
|
|
|
esac |
|
|
|
} |
|
|
@ -22,3 +63,5 @@ for i in 1 2 3 4; do |
|
|
|
ampel "${i}" |
|
|
|
done |
|
|
|
|
|
|
|
resetPins |
|
|
|
|
|
|
|