import tkinter as tk
import serial
import threading
import time
ser = serial.Serial('COM3', 9600, timeout=1)
time.sleep(2)
def update_color(distance):
if distance > 100:
color = "green"
elif distance > 50:
color = "orange"
elif distance > 10:
color = "red"
else:
color = "darkred"
distance_label.config(text=f"{distance} см", fg=color)
root.configure(bg=color)
def read_serial():
while True:
try:
data = ser.readline().decode().strip()
if data:
distance = int(data)
root.after(0, update_color, distance)
except:
pass
root = tk.Tk()
root.title("Расстояние")
root.geometry("500x400")
distance_label = tk.Label(root, text="0 см", font=("Arial", 48, "bold"))
distance_label.pack(expand=True)
thread = threading.Thread(target=read_serial, daemon=True)
thread.start()