Add 'traffic_lights.py'
This commit is contained in:
parent
ff2638359e
commit
bd591ecf64
1 changed files with 45 additions and 0 deletions
45
traffic_lights.py
Normal file
45
traffic_lights.py
Normal file
|
@ -0,0 +1,45 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
from gpiozero import TrafficLights, Button, PWMOutputDevice
|
||||
from time import sleep
|
||||
|
||||
|
||||
def main():
|
||||
lights = TrafficLights(14, 15, 18)
|
||||
lights.off()
|
||||
lights.green.on()
|
||||
pedestrian_button = Button(23)
|
||||
buzzer = PWMOutputDevice(12)
|
||||
buzzer.frequency = 444
|
||||
buzzer.value = 0.5
|
||||
buzzer.off()
|
||||
while True:
|
||||
pedestrian_button.wait_for_press()
|
||||
pedestrian_call(lights, buzzer)
|
||||
|
||||
|
||||
def pedestrian_call(lights, buzzer):
|
||||
buzz(buzzer, 1)
|
||||
sleep(3)
|
||||
lights.green.off()
|
||||
lights.amber.on()
|
||||
sleep(4)
|
||||
lights.amber.off()
|
||||
lights.red.on()
|
||||
buzz(buzzer, 2)
|
||||
sleep(5)
|
||||
buzz(buzzer, 3)
|
||||
sleep(3)
|
||||
lights.red.off()
|
||||
lights.green.on()
|
||||
|
||||
|
||||
def buzz(buzzer, n=1):
|
||||
for i in range(n):
|
||||
buzzer.value = 0.5
|
||||
sleep(0.1)
|
||||
buzzer.off()
|
||||
sleep(0.1)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
Loading…
Reference in a new issue