Arduino Mega не распознается на Raspberry Pi 3b+

Я разрабатываю интерактивную светодиодную таблицу для университетского задания, управляемую Arduino Mega2560, которая получает информацию о том, какие светодиоды и каким цветом должны светиться, из Java-приложения, работающего на Raspi 3b+. На данный момент все почти закончено и программа работает достаточно гладко.

Все это время я разрабатывал Java-приложение на ПК, и оно работало просто идеально. Теперь я хотел перенести приложение на Pi, чтобы иметь готовую демонстрацию для встречи с моим консультантом. Поэтому я хотел проверить, к какому USB-порту Arduino подключается к Pi, чтобы я мог правильно настроить соответствующую часть кода Java. Поскольку я также хотел установить конкретное описательное имя порта, по которому Arduino всегда будет доступен для приложения Java, я следовал этому руководству. .

В предыдущей попытке, когда я все еще использовал 2 Arduino Duemilanove, этот шаг сработал, однако теперь, когда я пытаюсь найти Arduino Mega с помощью dmesg | grep ttyUSB Я не получаю результатов, а ls -l /dev/ttyUSB* сообщает мне только, что такого пути или каталога нет. Я также повторил это с одним из Arduino Duemilanove на случай, если USB-кабель был неисправен, но в этом случае он вернул правильный результат.

Поскольку код, который мне нужно запустить на Arduino, слишком велик для использования 2 Arduino Duemilanove (из-за размера массива для представления таблицы), мне определенно нужно запустить его на Mega. После многих попыток найти решение я не нашел ничего, что помогло бы мне в моей ситуации, так как каждая ветка на подобную тему была о плате, которая не распознавалась ни на одной машине (тогда как моя Mega распознается на моем обычном ПК с Windows). . Поскольку Duemilanoves легко распознаются, я делаю вывод, что это, вероятно, не проблема, вызванная Pi (или, по крайней мере, не только Pi).

Я читал, что одним из возможных решений может быть использование концентратора USB с питанием. Однако, поскольку сам Arduino питается от источника питания, я полагаю, что использование USB-концентратора с питанием в этом случае мало поможет? Однако я был бы рад, если бы кто-то доказал, что я ошибаюсь в этом случае, и решить проблему было бы так просто.

, 👍1

Обсуждение

Вы пробовали /dev/ttyACM0?, @Edgar Bonet

Я не знал, пока вы не упомянули об этом, поскольку я не совсем знаком с системами Linux. Но, похоже, что-то нашел. Я посмотрю, что это за ttyACM, и предоставлю дополнительную информацию как можно скорее., @Samaranth

@Edgar Bonet Большое спасибо, теперь все работает отлично. Если вы хотите сделать свой пост официальным ответом, я могу пометить его как принятый ответ., @Samaranth


1 ответ


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

1

У более новых плат Arduino, таких как Uno или Mega 2560, другой способ управления преобразованием Serial ↔ USB по сравнению со старой версией Duemilianove. Со стороны Linux вы не должны увидеть большой разницы, за исключением того, что устройство теперь /dev/ttyACM0 вместо /dev/ttyUSB0.

,