Глиф Учебники

Arduino не определяется компьютером — нет порта, драйвер CH340

Справочник · Arduino · 2 минуты чтения

Чаще всего виноваты три вещи — по порядку проверки: кабель, драйвер, права доступа (в Linux).

1. Кабель

Многие USB-кабели — только для зарядки: в них нет проводов для данных. Плата от такого кабеля получает питание (светодиод ON горит), но компьютер её не видит. Возьмите заведомо рабочий кабель — тот, которым передавали файлы с телефона. Подключайте плату напрямую к компьютеру, без USB-разветвителя, и попробуйте другой порт.

Если светодиод ON не горит совсем — плата не получает питания: кабель или разъём неисправны, или на плате короткое замыкание. Отключите от неё все провода и проверьте снова.

2. Драйвер и права доступа

Если кабель исправен, дальше всё зависит от системы компьютера.

Windowsпроверьте драйвер CH340

Оригинальные Arduino Uno и Mega видны в Windows без отдельного драйвера. У большинства совместимых плат микросхема USB — CH340 (или CH341). Windows 10 и 11 часто ставят для неё драйвер сами через Центр обновления, но не всегда.

Проверьте в Диспетчере устройств (правый щелчок по кнопке «Пуск» → «Диспетчер устройств»):

  • в разделе «Порты (COM и LPT)» есть строка вида USB-SERIAL CH340 (COM5) — драйвер на месте, в Arduino IDE выберите этот COM-порт;
  • в разделе «Другие устройства» есть устройство с жёлтым значком — драйвера нет;
  • ничего не меняется при подключении платы — вернитесь к пункту про кабель.

Драйвер скачайте с сайта производителя микросхемы, компании WCH: страница драйвера CH341SER для Windows. Запустите файл, нажмите INSTALL, затем отключите и снова подключите плату.

Скачивайте драйвер только с сайта производителя. «Сборники драйверов» с других сайтов нередко ставят вместе с драйвером рекламу или что похуже.

Дальше: «3. Плата видна, но не та»

Linuxпорт есть, но нет доступа

Подключите плату и проверьте в терминале, появилось ли устройство:

Bash
ls /dev/ttyUSB* /dev/ttyACM*

Платы с CH340 видны как /dev/ttyUSB0, оригинальные Uno — как /dev/ttyACM0. Если порт есть, но загрузка пишет Permission denied, добавьте себя в группу dialout и перезайдите в систему:

Bash
sudo usermod -a -G dialout $USER

Если /dev/ttyUSB0 появляется и тут же исчезает, в Ubuntu 22.04 и некоторых других системах его забирает служба brltty — она для брайлевских дисплеев и путает с ними CH340. Посмотреть, что происходит при подключении, можно командой sudo dmesg -w (выход — Ctrl+C): в строках будет упоминание brltty. Если брайлевский дисплей вам не нужен, удалите службу:

Bash
sudo apt remove brltty

Затем отключите и снова подключите плату.

3. Плата видна, но не та