Я пытаюсь подключиться к Arduino через Python, чтобы использовать его в качестве аппаратного интерфейса для датчиков и оборудования. Мне трудно понять, как структурировать код, чтобы он постоянно проходил цикл, считывал каждый датчик и проверял, была ли нажата кнопка для отправки команды... если это вообще лучший способ сделать это. Я новичок в Python, и мне действительно нужно самое простое решение (логическое/понятное, не обязательно самое чистое).
Приведенный ниже код позволяет перемещать шаговый двигатель в ту или иную сторону через последовательную связь. на основе стрелки влево или вправо на клавиатуре или соответствующих кнопок в tkinter. Сейчас я пытаюсь прочитать аналоговый вывод от Arduino через последовательное соединение, что и делает приведенный ниже код... один раз. Мне нужно, чтобы он постоянно выводил показания, сохраняя при этом очень высокую частоту обновления «проверки» другого существующего кода, чтобы увидеть, была ли нажата кнопка между показаниями датчика.
Желаемое Результатом является цикл: была ли нажата кнопка A?, была ли нажата кнопка B?, сообщить об аналоговом контакте....повторить. Но со скоростью, которая практически не мешает возможности относительно быстрого управления шаговыми двигателями или заваливать пользователя потоком обновлений датчиков. В идеале код должен проверять все постоянно и без задержек, но, исходя из программирования Arduino, где все должно быть в последовательных циклах void(), я не уверен, что это вообще возможно с Python. Я думал, что помещение всего кода в цикл while True: может сработать, но он просто сообщает аналог только один раз в начале кода.
Спасибо!
Я пытаюсь подключиться к Arduino через Python, чтобы использовать его в качестве аппаратного интерфейса для датчиков и оборудования. Мне трудно понять, как структурировать код, чтобы он постоянно проходил цикл, считывал каждый датчик и проверял, была ли нажата кнопка для отправки команды... если это вообще лучший способ сделать это. Я новичок в Python, и мне действительно нужно самое простое решение (логическое/понятное, не обязательно самое чистое). Приведенный ниже код позволяет перемещать шаговый двигатель в ту или иную сторону через последовательную связь. на основе стрелки влево или вправо на клавиатуре или соответствующих кнопок в tkinter. Сейчас я пытаюсь прочитать аналоговый вывод от Arduino через последовательное соединение, что и делает приведенный ниже код... один раз. Мне нужно, чтобы он постоянно выводил показания, сохраняя при этом очень высокую частоту обновления «проверки» другого существующего кода, чтобы увидеть, была ли нажата кнопка между показаниями датчика. Желаемое Результатом является цикл: была ли нажата кнопка A?, была ли нажата кнопка B?, сообщить об аналоговом контакте....повторить. Но со скоростью, которая практически не мешает возможности относительно быстрого управления шаговыми двигателями или заваливать пользователя потоком обновлений датчиков. В идеале код должен проверять все постоянно и без задержек, но, исходя из программирования Arduino, где все должно быть в последовательных циклах void(), я не уверен, что это вообще возможно с Python. Я думал, что помещение всего кода в цикл while True: может сработать, но он просто сообщает аналог только один раз в начале кода. Спасибо! [code]import serial import time import tkinter import customtkinter from PIL import ImageTk, Image from tkinter import ttk from pynput import keyboard import tk_tools
step = 0 #ser = serial.Serial('COM10', 9600)
while True:
def quit_button(): global tkTop ser.write(bytes('K', 'UTF-8')) tkTop.destroy()
def on_button(): varLabel.set("LED ON ") ser.write(bytes('H', 'UTF-8'))
#change the COM port below ser = serial.Serial('COM10', 9600) print("Reset Arduino") time.sleep(2) ser.write(bytes('K', 'UTF-8'))
tkTop = tkinter.Tk() tkTop.geometry('400x400') #500 x 500 window tkTop.title("LED control") #name in title bar # Create a parent frame parent_frame = tkinter.Frame(tkTop) parent_frame.pack()
p = tk_tools.RotaryScale(tkTop, max_value = 60, unit = "step") p.place(x=300, y =300) #print("step",step) tkTop.title("Progress Bar in Tk") progressbar = ttk.Progressbar(maximum=1500) progressbar.place(x=400, y=60, width=160)
value = ser.readline() print(value) time.sleep(1)
tkButtonQuit.pack(side='top', ipadx=10, padx=10, pady=15) tkinter.mainloop() [/code] повторно
Чтобы дать вам некоторый контекст:
Я пытаюсь реализовать безопасность аутентификации по токену обновления/доступа для простого веб-API с использованием ASPNET Core. Пока все идет хорошо.. Это работает! Просто не так, как ожидалось.
Насколько я...
Чтобы дать вам некоторый контекст:
Я пытаюсь реализовать безопасность аутентификации по токену обновления/доступа для простого веб-API с использованием ASPNET Core. Пока все идет хорошо.. Это работает! Просто не так, как ожидалось.
Насколько я...
Чтобы дать вам некоторый контекст:
Я пытаюсь реализовать безопасность аутентификации по токену обновления/доступа для простого веб-API с использованием ASPNET Core. Пока все идет хорошо.. Это работает! Просто не так, как ожидалось.
Насколько я...
Не происходит переход к следующему экрану, когда функция sendAlert вызывается при нажатии кнопки.
Я пробовал различные методы для постоянной проверки BPM, прослушивая его значение, а затем вызывая функцию sendAlert,...