import machine
import time
from machine import Pin, I2C
from lcd_api import LcdApi
from i2c_lcd import I2cLcd
# Inisialisasi I2C untuk LCD
i2c = I2C(0, scl=Pin(22), sda=Pin(21), freq=400000)
lcd = I2cLcd(i2c, 0x27, 2, 16)
button_pins = [Pin(i, Pin.IN, Pin.PULL_UP) for i in range(10)] # GPIO 0-9
#current_floor = 0
current_floor = 0
def move_to_floor(floor):
global current_floor
if 0 <= floor < 10:
lcd.clear()
lcd.message("Moving to Floor {}".format(floor + 1))
time.sleep(2) # Simulasi waktu perjalanan lift
current_floor = floor
lcd.clear()
lcd.message("Arrived at {}".format(floor + 1))
# Fungsi untuk memeriksa tombol
def checkButton(button_pins, floor):
if not button_pins.value():
# Main loop
lcd.message("Lift Ready")
while True:
for i, button in enumerate(button_pins):
if not button.value(): # Jika tombol ditekan
move_to_floor(i)
time.sleep(0.5) # Debounce
if __name__ == "__main__":
main()
# Inisialisasi tombol
#button_pins = [Pin(i, Pin.IN, Pin.PULL_UP) for i in range(10)] # GPIO 0-9
#current_floor = 0
# Main loop
#lcd.message("Lift Ready")
#while True:
# for i, button in enumerate(button_pins):
# if not button.value(): # Jika tombol ditekan
# move_to_floor(i)
# time.sleep(0.5) # Debounce