CCCPaste

SerialForPython

import serial
import time

# Подключение к Arduino
arduino = serial.Serial(port='COM12', baudrate=9600, timeout=1)
# Для Linux/Mac: port='/dev/ttyUSB0' или '/dev/ttyACM0'

def write_read(x):
    arduino.write(bytes(x, 'utf-8'))
    time.sleep(0.05)
    data = arduino.readline()
    return data

try:
    while True:
        # Чтение данных с Arduino
        if arduino.in_waiting > 0:
            data = arduino.readline().decode('utf-8').rstrip()
            print(f"Arduino: {data}")
        
        # Отправка данных на Arduino
        user_input = input("Enter command (or 'quit' to exit): ")
        if user_input.lower() == 'quit':
            break
        
        arduino.write(f"{user_input}\n".encode('utf-8'))
        time.sleep(0.1)

except KeyboardInterrupt:
    print("Программа завершена пользователем")

finally:
    arduino.close()
    print("Соединение закрыто")