from machine import Pin, I2C, PWM
import ssd1306
import time
# ---------- OLED ----------
i2c = I2C(0, scl=Pin(22), sda=Pin(21))
oled = ssd1306.SSD1306_I2C(128, 64, i2c)
# ---------- BUTONLAR ----------
root_btn = Pin(15, Pin.IN, Pin.PULL_UP)
user_btn = Pin(23, Pin.IN, Pin.PULL_UP)
# ---------- SERVO ----------
servo = PWM(Pin(18), freq=50)
def servo_move(angle):
duty = int(40 + (angle / 180) * 75)
servo.duty(duty)
# ---------- OLED EKRANLARI ----------
def screen_question():
oled.fill(0)
oled.text("Sen root/user", 0, 20)
oled.text("misin?", 0, 40)
oled.show()
def screen_root():
oled.fill(0)
oled.text("hi sor wcm", 0, 30)
oled.show()
def screen_user():
oled.fill(0)
oled.text("play the", 0, 20)
oled.text("costume", 0, 40)
oled.show()
# ---------- BAŞLANGIÇ ----------
state = "question"
screen_question()
servo_move(0) # Servo başlangıç pozisyonu
# ---------- ANA DÖNGÜ ----------
while True:
if state == "question":
if root_btn.value() == 0:
state = "root"
screen_root()
servo_move(180)
time.sleep(0.4)
elif user_btn.value() == 0:
state = "user"
screen_user()
servo_move(90)
time.sleep(0.4)
time.sleep(0.1)