Я новичок в программировании и в настоящее время пытаюсь разработать дисплей производительности турбины с помощью Arduino Uno, который будет передавать показания напряжения с помощью входа контакта A1.
Затем это показание отправляется в Python, а затем графический интерфейс Python отображает показания тока и т. д. на основе исходного последовательного ввода от Arduino. Основываясь на том немногом, что я узнал, я выполнил простое кодирование со стороны Arduino, а затем спроектировал графический интерфейс с помощью Figma и преобразовал его. Моя проблема в том, что данные отображаются только в виде образца напряжения и тока, но я не могу постоянно автоматически обновлять данные при изменении значений тока или напряжения. Что мне не хватает? Когда я попытался выполнить цикл, весь код выдал ошибку.
Это код, который я пробовал с циклом:
# Tkinter-Designer
from pathlib import Path
# from tkinter import *
# Explicit imports to satisfy Flake8
import serial
ser = serial.Serial ('COM4', baudrate = 9600, timeout = 1)
while:1
arduinoData = ser.readline().decode('ascii')
int(float(arduinoData))
voltageval = int(arduinoData)/204.6
currentval = int(arduinoData)/1.96
from tkinter import Tk, Canvas, Entry, Text, Button, PhotoImage
OUTPUT_PATH = Path(__file__).parent
ASSETS_PATH = OUTPUT_PATH / Path(r"C:\Users\haeyl\Downloads\tkinter\build\assets\frame0")
def relative_to_assets(path: str) -> Path:
return ASSETS_PATH / Path(path)
window = Tk()
window.geometry("1280x720")
window.configure(bg = "#600000")
canvas = Canvas(
window,
bg = "#600000",
height = 720,
width = 1280,
bd = 0,
highlightthickness = 0,
relief = "ridge"
)
canvas.place(x = 0, y = 0)
canvas.create_rectangle(
0.0,
0.0,
1280.0,
90.0,
fill="#474646",
outline="")
canvas.create_text(
423.0,
37.0,
anchor="nw",
text="TURBINE PERFORMANCE DISPLAY",
fill="#FFFFFF",
font=("Inter", 24 * -1)
)
image_image_1 = PhotoImage(
file=relative_to_assets("image_1.png"))
image_1 = canvas.create_image(
262.0,
182.0,
image=image_image_1
)
image_image_2 = PhotoImage(
file=relative_to_assets("image_2.png"))
image_2 = canvas.create_image(
909.0,
182.0,
image=image_image_2
)
image_image_3 = PhotoImage(
file=relative_to_assets("image_3.png"))
image_3 = canvas.create_image(
909.0,
344.0,
image=image_image_3
)
image_image_4 = PhotoImage(
file=relative_to_assets("image_4.png"))
image_4 = canvas.create_image(
262.0,
348.0,
image=image_image_4
)
image_image_5 = PhotoImage(
file=relative_to_assets("image_5.png"))
image_5 = canvas.create_image(
262.0,
519.0,
image=image_image_5
)
canvas.create_text(
105.0,
168.0,
anchor="nw",
text="VOLTAGE",
fill="#FFFFFF",
font=("Inter", 32 * -1)
)
canvas.create_text(
752.0,
168.0,
anchor="nw",
text="RPM",
fill="#FFFFFF",
font=("Inter", 32 * -1)
)
canvas.create_text(
740.0,
330.0,
anchor="nw",
text="POWER",
fill="#FFFFFF",
font=("Inter", 32 * -1)
)
canvas.create_text(
105.0,
335.0,
anchor="nw",
text="CURRENT",
fill="#FFFFFF",
font=("Inter", 32 * -1)
)
canvas.create_text(
105.0,
506.0,
anchor="nw",
text="TORQUE",
fill="#FFFFFF",
font=("Inter", 32 * -1)
)
canvas.create_text(
323.0,
168.0,
anchor="nw",
text=(0 + voltageval),
fill="#FFFFFF",
font=("Inter", 32 * -1)
)
canvas.create_text(
970.0,
168.0,
anchor="nw",
text="rpmval",
fill="#FFFFFF",
font=("Inter", 32 * -1)
)
canvas.create_text(
970.0,
330.0,
anchor="nw",
text="0 W ",
fill="#FFFFFF",
font=("Inter", 32 * -1)
)
canvas.create_text(
323.0,
335.0,
anchor="nw",
text=(0 + currentval),
fill="#FFFFFF",
font=("Inter", 32 * -1)
)
canvas.create_text(
323.0,
506.0,
anchor="nw",
text="0 N/M",
fill="#FFFFFF",
font=("Inter", 32 * -1)
)
image_image_6 = PhotoImage(
file=relative_to_assets("image_6.png"))
image_6 = canvas.create_image(
1132.0,
563.0,
image=image_image_6
)
button_image_1 = PhotoImage(
file=relative_to_assets("button_1.png"))
button_1 = Button(
image=button_image_1,
borderwidth=0,
highlightthickness=0,
command=lambda: print("button_1 clicked"),
relief="flat"
)
button_1.place(
x=709.0,
y=476.0,
width=264.0,
height=108.0
)
window.resizable(False, False)
window.mainloop()
Подробнее здесь: https://stackoverflow.com/questions/788 ... om-tkinter
Ошибка при не обновлении значений в графическом интерфейсе из Tkinter ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение