Skip to content

Commit 100cbd2

Browse files
add
1 parent 581842a commit 100cbd2

15 files changed

Lines changed: 165 additions & 89 deletions

File tree

.vscode/extensions.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"recommendations": [
3-
"McCarter.start-git-bash",
3+
"Mctrafficter.start-git-bash",
44
"ms-python.python",
55
"esbenp.prettier-vscode",
66
"oderwat.indent-rainbow",

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,7 @@ classDiagram
213213
-__debug: bool
214214
-__last_state_change: float
215215
+state: string
216-
+__init__(ped_red: Led_Light, ped_green: Led_Light, car_red: Led_Light, car_amber: Led_Light, car_green: Led_Light, button: Pedestrian_Button, buzzer: Audio_Notification, debug: bool)
216+
+__init__(ped_red: Led_Light, ped_green: Led_Light, traffic_red: Led_Light, traffic_amber: Led_Light, traffic_green: Led_Light, button: Pedestrian_Button, buzzer: Audio_Notification, debug: bool)
217217
+set_idle_state()
218218
+set_change_state()
219219
+set_walk_state()

docs/Controller.md

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,19 @@ The `Controller` class acts as a **Facade** for the traffic and pedestrian cross
88
Controller(
99
ped_red,
1010
ped_green,
11-
car_red,
12-
car_amber,
13-
car_green,
11+
traffic_red,
12+
traffic_amber,
13+
traffic_green,
1414
button,
1515
buzzer,
1616
debug=False
1717
)
1818
```
1919
- `ped_red` (`Led_Light`): Red pedestrian light
2020
- `ped_green` (`Led_Light`): Green pedestrian light
21-
- `car_red` (`Led_Light`): Red traffic light
22-
- `car_amber` (`Led_Light`): Amber traffic light
23-
- `car_green` (`Led_Light`): Green traffic light
21+
- `traffic_red` (`Led_Light`): Red traffic light
22+
- `traffic_amber` (`Led_Light`): Amber traffic light
23+
- `traffic_green` (`Led_Light`): Green traffic light
2424
- `button` (`Pedestrian_Button`): Pedestrian crossing button
2525
- `buzzer` (`Audio_Notification`): Crossing buzzer
2626
- `debug` (`bool`, optional): Enable debug output (default `False`)
@@ -34,16 +34,16 @@ from audio_notification import Audio_Notification
3434
from controller import Controller
3535
import time
3636

37-
car_red = Led_Light(3, debug=False)
38-
car_amber = Led_Light(5, debug=False)
39-
car_green = Led_Light(7, debug=False)
37+
traffic_red = Led_Light(3, debug=False)
38+
traffic_amber = Led_Light(5, debug=False)
39+
traffic_green = Led_Light(7, debug=False)
4040
ped_red = Led_Light(17, debug=False)
4141
ped_green = Led_Light(19, debug=False)
4242
button = Pedestrian_Button(22, debug=False)
4343
buzzer = Audio_Notification(27, debug=False)
4444

4545
controller = Controller(
46-
ped_red, ped_green, car_red, car_amber, car_green,
46+
ped_red, ped_green, traffic_red, traffic_amber, traffic_green,
4747
button, buzzer, debug=True
4848
)
4949

@@ -88,16 +88,16 @@ from audio_notification import Audio_Notification
8888
from controller import Controller
8989
from time import sleep
9090

91-
car_red = Led_Light(3, debug=True)
92-
car_amber = Led_Light(5, debug=True)
93-
car_green = Led_Light(7, debug=True)
91+
traffic_red = Led_Light(3, debug=True)
92+
traffic_amber = Led_Light(5, debug=True)
93+
traffic_green = Led_Light(7, debug=True)
9494
ped_red = Led_Light(17, debug=True)
9595
ped_green = Led_Light(19, debug=True)
9696
button = Pedestrian_Button(22, debug=True)
9797
buzzer = Audio_Notification(27, debug=True)
9898

9999
controller = Controller(
100-
ped_red, ped_green, car_red, car_amber, car_green,
100+
ped_red, ped_green, traffic_red, traffic_amber, traffic_green,
101101
button, buzzer, debug=True
102102
)
103103

@@ -302,9 +302,9 @@ class Controller:
302302
self,
303303
ped_red,
304304
ped_green,
305-
car_red,
306-
car_amber,
307-
car_green,
305+
traffic_red,
306+
traffic_amber,
307+
traffic_green,
308308
button,
309309
buzzer,
310310
debug=False,
@@ -315,16 +315,16 @@ class Controller:
315315
Args:
316316
ped_red (Led_Light): Red pedestrian light
317317
ped_green (Led_Light): Green pedestrian light
318-
car_red (Led_Light): Red traffic light
319-
car_amber (Led_Light): Amber traffic light
320-
car_green (Led_Light): Green traffic light
318+
traffic_red (Led_Light): Red traffic light
319+
traffic_amber (Led_Light): Amber traffic light
320+
traffic_green (Led_Light): Green traffic light
321321
button (Pedestrian_Button): Pedestrian crossing button
322322
buzzer (Audio_Notification): Crossing buzzer
323323
debug (bool, optional): Enable debug output. Defaults to False.
324324
"""
325325
# Initialize subsystems
326326
self.__traffic_lights = TrafficLightSubsystem(
327-
car_red, car_amber, car_green, debug
327+
traffic_red, traffic_amber, traffic_green, debug
328328
)
329329
self.__pedestrian_signals = PedestrianSubsystem(
330330
ped_red, ped_green, button, buzzer, debug

examples/v03.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@
44
from machine import Pin
55
from time import sleep
66

7-
led_car_red = Pin(3, Pin.OUT)
8-
led_car_orange = Pin(5, Pin.OUT)
9-
led_car_green = Pin(6, Pin.OUT)
7+
led_traffic_red = Pin(3, Pin.OUT)
8+
led_traffic_amber = Pin(5, Pin.OUT)
9+
led_traffic_green = Pin(6, Pin.OUT)
1010

1111
while True:
12-
led_car_red.toggle()
13-
led_car_orange.toggle()
14-
led_car_green.toggle()
12+
led_traffic_red.toggle()
13+
led_traffic_amber.toggle()
14+
led_traffic_green.toggle()
1515
sleep(1)

examples/v15.py

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@
1010

1111
class Controller:
1212
def __init__(
13-
self, ped_red, ped_green, car_red, car_amber, car_green, button, buzzer, debug
13+
self, ped_red, ped_green, traffic_red, traffic_amber, traffic_green, button, buzzer, debug
1414
):
1515
self.__Ped_Red = ped_red
1616
self.__Ped_Green = ped_green
17-
self.__Car_Red = car_red
18-
self.__Car_Amber = car_amber
19-
self.__Car_Green = car_green
17+
self.__traffic_Red = traffic_red
18+
self.__traffic_Amber = traffic_amber
19+
self.__traffic_Green = traffic_green
2020
self.__Buzzer = buzzer
2121
self.__Button = button
2222
self.__debug = debug
@@ -26,29 +26,29 @@ def walk_on(self):
2626
print("Walking")
2727
self.__Ped_Red.off()
2828
self.__Ped_Green.on()
29-
self.__Car_Green.off()
30-
self.__Car_Amber.off()
31-
self.__Car_Red.on()
29+
self.__traffic_Green.off()
30+
self.__traffic_Amber.off()
31+
self.__traffic_Red.on()
3232
self.__Buzzer.warning_on()
3333

3434
def walk_warning(self):
3535
if self.__debug:
3636
print("No Walking Warning")
3737
self.__Ped_Red.flash()
3838
self.__Ped_Green.off()
39-
self.__Car_Green.off()
40-
self.__Car_Amber.off()
41-
self.__Car_Red.on()
39+
self.__traffic_Green.off()
40+
self.__traffic_Amber.off()
41+
self.__traffic_Red.on()
4242
self.__Buzzer.warning_off()
4343

4444
def walk_off(self):
4545
if self.__debug:
4646
print("No Walking")
4747
self.__Ped_Red.on()
4848
self.__Ped_Green.off()
49-
self.__Car_Green.on()
50-
self.__Car_Amber.off()
51-
self.__Car_Red.off()
49+
self.__traffic_Green.on()
50+
self.__traffic_Amber.off()
51+
self.__traffic_Red.off()
5252
self.__Ped_Green.off()
5353
self.__Buzzer.warning_off()
5454

@@ -57,9 +57,9 @@ def change(self):
5757
print("Changing")
5858
self.__Ped_Red.on()
5959
self.__Ped_Green.off()
60-
self.__Car_Green.off()
61-
self.__Car_Amber.on()
62-
self.__Car_Red.off()
60+
self.__traffic_Green.off()
61+
self.__traffic_Amber.on()
62+
self.__traffic_Red.off()
6363
self.__Ped_Green.off()
6464
self.__Buzzer.warning_off()
6565

@@ -68,9 +68,9 @@ def change(self):
6868

6969
led_pedestrian_red = Led_Light(19, True, debug)
7070
led_pedestrian_green = Led_Light(17, False, debug)
71-
led_car_red = Led_Light(3, False, debug)
72-
led_car_orange = Led_Light(5, False, debug)
73-
led_car_green = Led_Light(6, False, debug)
71+
led_traffic_red = Led_Light(3, False, debug)
72+
led_traffic_amber = Led_Light(5, False, debug)
73+
led_traffic_green = Led_Light(6, False, debug)
7474

7575
pedestrian_button = Pedestrian_Button(22, debug)
7676

@@ -79,9 +79,9 @@ def change(self):
7979
controller = Controller(
8080
led_pedestrian_red,
8181
led_pedestrian_green,
82-
led_car_red,
83-
led_car_orange,
84-
led_car_green,
82+
led_traffic_red,
83+
led_traffic_amber,
84+
led_traffic_green,
8585
pedestrian_button,
8686
buzzer,
8787
True,

examples/v99.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,18 +12,18 @@
1212

1313
led_pedestrian_red = Led_Light(19, True, debug)
1414
led_pedestrian_green = Led_Light(17, False, debug)
15-
led_car_red = Led_Light(3, False, debug)
16-
led_car_orange = Led_Light(5, False, debug)
17-
led_car_green = Led_Light(6, False, debug)
15+
led_traffic_red = Led_Light(3, False, debug)
16+
led_traffic_amber = Led_Light(5, False, debug)
17+
led_traffic_green = Led_Light(6, False, debug)
1818
pedestrian_button = Pedestrian_Button(22, debug)
1919
buzzer = Audio_Notification(27, debug)
2020

2121
controller = Controller(
2222
led_pedestrian_red,
2323
led_pedestrian_green,
24-
led_car_red,
25-
led_car_orange,
26-
led_car_green,
24+
led_traffic_red,
25+
led_traffic_amber,
26+
led_traffic_green,
2727
pedestrian_button,
2828
buzzer,
2929
True,

introduction_projects/5.servo_control.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Don't forget to check the [Pi Pico Diagram](../Raspberry-Pi-Pico-pinout-diagram.
1010
| Servo Motor Pin | Pico pin |
1111
| --------------- | ------------------- |
1212
| Ground (brown) | Analog Ground (GND) |
13-
| Data (orange) | GP10 |
13+
| Data (amber) | GP10 |
1414
| Power (red) | 5V (VBUS) |
1515

1616
> [!Note]

project/lib/controller.py

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -178,9 +178,9 @@ def __init__(
178178
self,
179179
ped_red,
180180
ped_green,
181-
car_red,
182-
car_amber,
183-
car_green,
181+
traffic_red,
182+
traffic_amber,
183+
traffic_green,
184184
button,
185185
buzzer,
186186
debug=False,
@@ -191,16 +191,16 @@ def __init__(
191191
Args:
192192
ped_red (Led_Light): Red pedestrian light
193193
ped_green (Led_Light): Green pedestrian light
194-
car_red (Led_Light): Red traffic light
195-
car_amber (Led_Light): Amber traffic light
196-
car_green (Led_Light): Green traffic light
194+
traffic_red (Led_Light): Red traffic light
195+
traffic_amber (Led_Light): Amber traffic light
196+
traffic_green (Led_Light): Green traffic light
197197
button (Pedestrian_Button): Pedestrian crossing button
198198
buzzer (Audio_Notification): Crossing buzzer
199199
debug (bool, optional): Enable debug output. Defaults to False.
200200
"""
201201
# Initialize subsystems
202202
self.__traffic_lights = TrafficLightSubsystem(
203-
car_red, car_amber, car_green, debug
203+
traffic_red, traffic_amber, traffic_green, debug
204204
)
205205
self.__pedestrian_signals = PedestrianSubsystem(
206206
ped_red, ped_green, button, buzzer, debug
@@ -244,16 +244,6 @@ def set_walk_state(self):
244244
self.__pedestrian_signals.show_walk()
245245
self.__traffic_lights.show_red()
246246

247-
def set_warning_state(self):
248-
"""
249-
Set system to warning state - indicating walk signal ending soon.
250-
251-
Warns pedestrians that crossing time is ending while keeping traffic stopped.
252-
"""
253-
if self.__debug:
254-
print("System: WALK WARNING state")
255-
self.__pedestrian_signals.show_warning()
256-
self.__traffic_lights.show_red()
257247

258248
def set_error_state(self):
259249
"""
@@ -320,3 +310,13 @@ def update(self):
320310
else: # error state
321311
self.set_error_state()
322312
sleep(1)
313+
def set_warning_state(self):
314+
"""
315+
Set system to warning state - indicating walk signal ending soon.
316+
317+
Warns pedestrians that crossing time is ending while keeping traffic stopped.
318+
"""
319+
if self.__debug:
320+
print("System: WALK WARNING state")
321+
self.__pedestrian_signals.show_warning()
322+
self.__traffic_lights.show_red()

project/py_scripts/v02.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@
99
# PWM Documentation: https://docs.micropython.org/en/latest/library/machine.PWM.html
1010
# Pinout: https://datasheets.raspberrypi.com/pico/Pico-R3-Pinout.png
1111

12-
led_car_red = Pin(3, Pin.OUT)
13-
led_car_orange = Pin(5, Pin.OUT)
14-
led_car_green = Pin(6, Pin.OUT)
12+
led_traffic_red = Pin(3, Pin.OUT)
13+
led_traffic_amber = Pin(5, Pin.OUT)
14+
led_traffic_green = Pin(6, Pin.OUT)
1515

1616
led_pedestrian_red = Pin(19, Pin.OUT)
1717
led_pedestrian_green = Pin(17, Pin.OUT)
@@ -26,9 +26,9 @@
2626

2727
buzzer.duty_u16(32768)
2828

29-
led_car_red.high()
30-
led_car_orange.high()
31-
led_car_green.high()
29+
led_traffic_red.high()
30+
led_traffic_amber.high()
31+
led_traffic_green.high()
3232

3333
led_pedestrian_red.high()
3434
led_pedestrian_green.high()

project/py_scripts/v04.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,4 +52,3 @@
5252
print(".led_light_state setter passed")
5353
else:
5454
print(".led_light_state setter failed")
55-

0 commit comments

Comments
 (0)