from machine import Pin
from time import sleep
# LEDs for 8 parking slots
led_pins = [Pin(pin, Pin.OUT) for pin in [2, 4, 5, 13, 16, 17, 18, 21]]
# Buttons (external pull-downs required!)
enter_button = Pin(34, Pin.IN)
exit_button = Pin(35, Pin.IN)
# State variables
car_count = 0
MAX_CARS = 8
def update_leds(count):
for i in range(MAX_CARS):
led_pins[i].value(1 if i < count else 0)
# Show initial state
update_leds(car_count)
print("System Ready. Cars in lot:", car_count)
# Main loop
while True:
# Car entering
if enter_button.value() == 1:
if car_count < MAX_CARS:
car_count += 1
update_leds(car_count)
print("Car entered. Count:", car_count)
sleep(0.5)
else:
print("Parking full!")
sleep(0.5)
# Wait for release
while enter_button.value():
sleep(0.01)
# Car exiting
if exit_button.value() == 1:
if car_count > 0:
car_count -= 1
update_leds(car_count)
print("Car exited. Count:", car_count)
sleep(0.5)
else:
print("No cars to exit.")
sleep(0.5)
# Wait for release
while exit_button.value():
sleep(0.01)
sleep(0.05)
ENTER
EXIT