Arduino Uno R3 USB не работает

У меня возникла проблема с платой Arduino Uno. Он не монтируется на моем компьютере с Linux, но его питание включено и горит светодиод. Раньше работало. После того, как я протестировал кнопки с внешним питанием 12 В, я столкнулся с этим сценарием.

Я попробовал lsusb и проверил /dev/ports. Кроме того, я не смог найти `ttyACM. Я пробовал с другой платой Arduino, и она работает. Я думаю, что плата исчезла, и мне нужна помощь, чтобы решить эту проблему.

Я подумал, что это проблема с загрузчиком, и получил новую плату с чипом ATmega328P. Питание включается, светодиод мигает, но порт не подключен. Я пробовал использовать lsusb, а также ls /dev/ttyACM* безрезультатно.

, 👍1


2 ответа


Лучший ответ:

3

Можно попробовать прошить контроллер USB.

Общие шаги для Arduino R3:

  1. Переведите Arduino в режим DFU (для R3 не требуется пайка)

  2. Прошить прошивку с помощью:

    dfu-programmer atmega16u2 erase
    dfu-programmer atmega16u2 flash Arduino-usbserial-atmega16u2-Uno-Rev3.hex
    dfu-programmer atmega16u2 reset
    

    Пакет "dfu-programmer", скорее всего, доступен для вашего дистрибутива.

Если вам нужно собрать его из исходного кода, потому что ваш программист DFU еще не знаком с ATmega16U2, вам нужно будет установить libusb-dev (в системах на базе Debian).

Полезные ссылки для этого:

  • Сброс прошивки Uno R3 по умолчанию
  • Обновление Atmega8U2 и 16U2 на Uno или Mega2560 с помощью DFU

Полезным поисковым термином для этого является Arduino R3 DFU-programmer.

,

-1

Возможно, вам нужно "перепрошить" прошивку FTDI. Извините, я очень плохо разбираюсь в Linux. Для этого вам понадобится программное обеспечение и HEX-файл. Посмотрите это видео на YouTube:

ARDUINO — Обновление ПО USB с помощью FLIP

И загрузите файл arduino_usbtoserial.hex.

Если это не работает, и если ваш Arduino Uno имеет чип ATmega328P как DIP, попробуйте заменить микросхему ATmega328P в плате. Аккуратно удалите этот чип. Вставьте еще одну микросхему с загрузчиком и проверьте.

,