Arduino не определяется компьютером — нет порта, драйвер CH340
Чаще всего виноваты три вещи — по порядку проверки: кабель, драйвер, права доступа (в 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, затем отключите и снова подключите плату.
Скачивайте драйвер только с сайта производителя. «Сборники драйверов» с других сайтов нередко ставят вместе с драйвером рекламу или что похуже.
Linuxпорт есть, но нет доступа
Подключите плату и проверьте в терминале, появилось ли устройство:
ls /dev/ttyUSB* /dev/ttyACM*Платы с CH340 видны как /dev/ttyUSB0, оригинальные Uno — как /dev/ttyACM0. Если порт есть, но загрузка пишет Permission denied, добавьте себя в группу dialout и перезайдите в систему:
sudo usermod -a -G dialout $USERЕсли /dev/ttyUSB0 появляется и тут же исчезает, в Ubuntu 22.04 и некоторых других системах его забирает служба brltty — она для брайлевских дисплеев и путает с ними CH340. Посмотреть, что происходит при подключении, можно командой sudo dmesg -w (выход — Ctrl+C): в строках будет упоминание brltty. Если брайлевский дисплей вам не нужен, удалите службу:
sudo apt remove brlttyЗатем отключите и снова подключите плату.
3. Плата видна, но не та
- В Arduino IDE совместимая плата может отображаться как «Unknown» — это нормально. Выберите порт вручную и укажите плату через Select other board and port….
- Порт есть, но загрузка не идёт — это уже другая ошибка: смотрите справку Ошибка avrdude: programmer is not responding.
- Порт пропадает при подключении мотора или сервопривода — плата перезагружается из-за просадки питания. Моторы — только от отдельного источника (урок Сервоприводы и моторы).