Форум сайта python.su
AD0DE412?
serial.Serial('COM4', 9600, timeout=0) начниете с этого ноль конечно … хуцпа … но чему нет шо такого
Офлайн
ну вы просто уменшаете время опроса може поможет (я в этом не в зуб нагой ежеле шо так то. так поиском шото захотелоь попользоваться)
Отредактировано AD0DE412 (Дек. 27, 2022 19:02:06)
Офлайн
orochi228у меня такой же есть и мк ESP32, пишу на micropython, позже выложу что получилось, но быстродействие так-себе
Джойстик из набора с ардуинкой
Отредактировано xam1816 (Дек. 27, 2022 22:11:57)
Офлайн
А получится потом на другой мк залить что бы работало?(Nano, Uno, Mega)
Офлайн
orochi228да micropython устанавливается на них.Конечно судя по вашим вопросам, вам понадобиться очень много терпения и времени, чтобы осознанно писать программы, а не копировать из интернета, а потом на форумах распрашивать, почему в вашем случае не работает.
А получится потом на другой мк залить что бы работало?(Nano, Uno, Mega)
import serial s=serial.Serial('/dev/ttyUSB1',115200) time.sleep(2) print(s)
s.reset_input_buffer()
while 1: try:# чтобы не падало при исключениях data = s.read(4) #читаю 4 байта, т.к с мк отправляются пакеты по 4 байта if data:# если пришли данные unpack_data = struct.unpack('>2H', data) # распаковываю данные (import struct) process(unpack_data) #отправляю в функцию, которая с ними будет работать s.reset_input_buffer() # очищаю буфер для свежих данных, если не очистить может работать с запозданием except Exception as e: print(e) # сообщение об ошибке
from machine import Pin, UART, ADC import time import struct uart = UART(1, 115200) # создаю uart, по умолчанию 1 - это 10, 9 вывод, скорость x_pin = ADC(Pin(34), atten=ADC.ATTN_11DB) # аналоговый вход с джойстика y_pin = ADC(Pin(35), atten=ADC.ATTN_11DB)# -//- VALUE = 100 # это для фильтра ацп def run(): print('go') while 1: #далее код фильтра, т.к. значения ацп скачут (соединено просто проводами через макетную плату) # начало фильтра sum_x = 0 sum_y = 0 for _ in range(VALUE): # считываю 100 значений coord_x = x_pin.read() # так считываю "x" с ацп, значения от 0 - 4095, coord_y = y_pin.read()# соответственно для "y" sum_x += coord_x # суммирую sum_y += coord_y filter_x = int(sum_x/VALUE) # получаю среднее значение для x filter_y = int(sum_y/VALUE) # для y #конец фильтра mess = struct.pack('>2H', filter_x, filter_y) # упаковываю значения uart.write(mess) # отправляю
import pyautogui as pg pg.moveRel(x, y) # смещение курсора относительно текущей позиции
Офлайн
Так как мне все это соединить в одно целое?
Офлайн