from machine import Pin
from time import sleep
from lcd import lcd_init, lcd_print
from segment import segment_write
# =====================================
# Button Configuration (Pull-Up)
# =====================================
up_button = Pin(0, Pin.IN, Pin.PULL_UP)
down_button = Pin(2, Pin.IN, Pin.PULL_UP)
# =====================================
# Elevator Initial Floor
# =====================================
current_floor = 0
# =====================================
# Initialize LCD
# =====================================
lcd_init()
lcd_print("Elevator System")
sleep(2)
segment_write(current_floor)
lcd_print("Floor {}".format(current_floor))
sleep(1)
# =====================================
# Main Loop
# =====================================
while True:
# ==============================
# UP Button
# ==============================
if up_button.value() == 0:
sleep(0.05)
if current_floor < 9:
current_floor += 1
print("Going Up")
lcd_print("Going Up")
sleep(1)
segment_write(current_floor)
lcd_print("Floor {}".format(current_floor))
print("Current Floor:", current_floor)
else:
print("Top Floor Reached")
lcd_print("Top Floor")
sleep(1)
lcd_print("Floor {}".format(current_floor))
while up_button.value() == 0:
pass
sleep(0.2)
# ==============================
# DOWN Button
# ==============================
if down_button.value() == 0:
sleep(0.05)
if current_floor > 0:
current_floor -= 1
print("Going Down")
lcd_print("Going Down")
sleep(1)
segment_write(current_floor)
lcd_print("Floor {}".format(current_floor))
print("Current Floor:", current_floor)
else:
print("Ground Floor")
lcd_print("Ground")
sleep(1)
lcd_print("Floor {}".format(current_floor))
while down_button.value() == 0:
pass
sleep(0.2)