print("\nPRACTICAL TEST")
print("Created By : MUHAMMAD ASYRAAF BIN ASRI")
print("Date: 29/4/2024")
print("Group: L01-B01")
#Import libraries/modules
from machine import Pin, SoftI2C
from utime import sleep
import oled_left_library, oled_right_library
#Pin declaration
left_red_led = Pin(14,Pin.OUT)
left_yellow_led = Pin(12,Pin.OUT)
left_green_led = Pin(13,Pin.OUT)
right_red_led = Pin(5,Pin.OUT)
right_yellow_led = Pin(4,Pin.OUT)
right_green_led = Pin(2,Pin.OUT)
PIR_left = Pin(27,Pin.IN)
PIR_right = Pin(18,Pin.IN)
pins=[Pin(22, Pin.OUT),Pin(19, Pin.OUT),Pin(25, Pin.OUT),Pin(26, Pin.OUT),
Pin(33, Pin.OUT),Pin(32, Pin.OUT),Pin(21, Pin.OUT)]
#Parameter declaration
#Create an OBJECT name for module with library
digit0=[0,0,0,0,0,0,1]
digit1=[1,0,0,1,1,1,1]
digit2=[0,0,1,0,0,1,0]
digit3=[0,0,0,0,1,1,0]
digit4=[1,0,0,1,1,0,0]
digit5=[0,1,0,0,1,0,0]
digit6=[0,1,0,0,0,0,0]
digit7=[0,0,0,1,1,1,1]
digit8=[0,0,0,0,0,0,0]
digit9=[0,0,0,0,1,0,0]
#main program
while True:
motion_status1 = PIR_left.value()
print("The motion status is",motion_status1)
motion_status2 = PIR_right.value()
print("The motion status is",motion_status2)
if motion_status1 == True: # left traffic light
print("Left traffic light activated")
left_green_led.on()
right_red_led.on()
sleep(2)
left_green_led.off()
right_red_led.off()
sleep(1)
left_yellow_led.on()
sleep(1)
left_yellow_led.off()
sleep(1)
elif motion_status2 == True: # right traffic light
print("Right traffic light activated")
left_red_led.on()
right_green_led.on()
for j in range(7):
pins[j].value(digit0[j])
sleep(1)
for j in range(7):
pins[j].value(digit1[j])
sleep(1)
for j in range(7):
pins[j].value(digit2[j])
sleep(1)
for j in range(7):
pins[j].value(digit3[j])
sleep(1)
for j in range(7):
pins[j].value(digit4[j])
sleep(1)
for j in range(7):
pins[j].value(digit5[j])
sleep(1)
for j in range(7):
pins[j].value(digit6[j])
sleep(1)
for j in range(7):
pins[j].value(digit7[j])
sleep(1)
for j in range(7):
pins[j].value(digit8[j])
sleep(1)
for j in range(7):
pins[j].value(digit9[j])
sleep(2)
left_red_led.off()
right_green_led.off()
sleep(1)
right_yellow_led.on()
sleep(1)
right_yellow_led.off()
sleep(1)
else:
left_green_led.on() # left traffic light
right_red_led.on()
sleep(1)
left_green_led.off()
right_red_led.off()
sleep(1)
left_yellow_led.on()
sleep(1)
left_yellow_led.off()
sleep(1)
left_red_led.on() # right traffic light
right_green_led.on()
sleep(1)
left_red_led.off()
right_green_led.off()
sleep(1)
right_yellow_led.on()
sleep(1)
right_yellow_led.off()
sleep(1)
sleep(2)