Не открывается порт ардуино
По активации функции openCom() порт ардуино не подключается. В видео уроке от AlexGyver ардуино перезагружалась и отправляла данные, в моём случае ничего из этого нет.
Пробовал менять setBaudRate() на 9600 бод, но не помогло. Вводил название порта вручную, прямо в функцию, но тоже не помогало.
from PyQt5 import QtWidgets, uic
from PyQt5.QtSerialPort import QSerialPort, QSerialPortInfo
from PyQt5.QtCore import QIODevice
app = QtWidgets.QApplication([])
win = uic.loadUi("test_gui.ui")
win.setWindowTitle("LED controll")
serial = QSerialPort()
serial.setBaudRate(115200)
ports = QSerialPortInfo().availablePorts()
portList = []
for port in ports:
portList.append(port.portName())
win.coms.addItems(portList)
def openCom():
print("open")
serial.setPortName(win.coms.currentText())
serial.open(QIODevice.ReadWrite)
win.btn_connect.clicked.connect(openCom)
def closeCom():
print("close")
serial.close()
win.btn_close.clicked.connect(closeCom)
def onRead():
rx = serial.readLine()
print(rx)
serial.readyRead.connect(onRead)
#подключение кнопок для управления светодиодом
def on():
print("on")
serial.write("1".encode())
win.btn_on.clicked.connect(on)
def off():
print("off")
serial.write("0".encode())
win.btn_off.clicked.connect(off)
win.show()
app.exec()
Всем заранее спасибо
Ответы (1 шт):
Автор решения: Vanyamba Electronics
→ Ссылка
- По умолчанию бод-рейт Arduino 57600.
- Порт должен быть правильно инициализирован.
Попробуйте после подключения Arduino запустить Arduino IDE. Закройте IDE и запустите ваш скрипт. Если порт открылся успешно, значит порт не был предварительно инициализирован.
Посмотреть текущие параметры порта можно командой stty -a -F /dev/ttyUSB0.
Arduino IDE его инициализирует, и вам нужно перед открытием порта задать порту те же параметры.