Работа с usb
- Войдите на сайт для отправки комментариев
Пнд, 06/03/2017 - 02:25
Возможно ли в Arduino mega 2560 работать с компьютером через usb (например arduino собирает информацию с датчиков, а компьютер подключен к плате ардуино через usb принимает ее и делает вычисления затем посылает команду, какие выводы включить на ардуино). Не судите пожалуйста строго, я новичок. Также поддерживают ли этот режим работы arduino uno, nano?
Все так и делают, вопрос только в программе на компьютере, сможете написать? Есть готовые системы управления, Фирмата кажется, но я с ней дел не имел. http://robocraft.ru/blog/arduino/283.html
порт называется ком. а не юсби. любое ПО которое умеет слушать порт то и сможет обработать ваши данные
1 вам логики ардуинки мало? она тоже може решить что включить а что выключить. Может тут комп совсем лишний....
2 я писал приложение на делфи, есть готовй компонент для работы с ком портом. настраевается очень просто и работаеш с ним как с обычным сериалом. и кстати там все равно какая ардуинка будет воткнута в юсб.
3 может лучше описать задачу что хотите в конечном итоге, и что имеете и что умеете,.. тогда все вмести сообразим как проще сделать
Компьютер мне нужен для подключения вебкамер (для видеонаблюдения), они будут подключены к мат. плате пк, сомневаюсь что arduino сможет обрабатывать иформацию с 6 вебкамер и записывать ее на флешку в mp4. Это проект умного дома. Вероятно 256 кб памяти будет недостаточно чтобы вместить интерфейс и много других возможностей, которые добавляться со временем. Arduino mega планирую использовать как основной драйвер (она, например, собирает информацию об сопротивление термодатчика и калибрует температуру, к пк отсылает информацию не какое его сопротивление, а какая температура на датчике.
о мать моя женщина :)))
может велосипеды то придумывать не будешь. а для систем видеонаблюдения есть специальные устройства, которые все умеют и без компа и ардуин
Возможно ли в Arduino mega 2560 работать с компьютером через usb (например arduino собирает информацию с датчиков, а компьютер подключен к плате ардуино через usb принимает ее и делает вычисления затем посылает команду, какие выводы включить на ардуино). Не судите пожалуйста строго, я новичок. Также поддерживают ли этот режим работы arduino uno, nano?
Да, это один из основных режимов работы Ардуино - служить промежуточным звеном между датчиками и ПК. Обмен физически осуществляется через USB, но программно эмулируется COM-порт. Соответственно, работа с ним с обеих сторон выглядит как работа с COM-портом.
ВСе указанные контроллеры поддерживают этот режим. Исключение лишь Pro Mini, у которого нет USB интерфейса.
в общем так, все можно сделать, задача не из невыполнимых.
могу дать совет (ставьте Majordomo) там вроди как не сильно сложно настроить работу с ардуинкой через юсб, так же с камерами можно разобраться
сам 3 дня разбираюсь с мажором (поставил на Orange Pi PC) установил? запустил а звука нет, по чуть чуть разберусь.
и кстати думал самому проще написать примерно то что вы планируете (половину работы сделал и понял что еще много и все равно не выйдет так как в мажоре)
если проще сделать то да получится наджно, н эстетика тоже нужна.
а так имея опыт программирования работу с ком портом пожно написать почти на любом языке, все зависит от знаний
Приветствую. Подскажите по следующему вопросу: как можно отследить, что serial.begin успешно открыл порт? Например serial.available - если на порту нет никаких данных, сможет ли что-то вернуть при успешном соединении? Если нет, то возможно ли передать что-либо в порт и считать это же самое с порта или же подобного буфера на порту не будет и уйдет в никуда если никакое ПО со стороны компа эту инфу не примет в реальном времени?
Смысл в том, что хочу простейший вочдог собрать, чтобы работал без стороннего ПО на борту ПК, т.о. если выше описанная работа с портом возможна, то ардуинка будет работать на любой ОС. Если комп выключен или завис, получается ответа от порта не будет, если запущен - порт доступен.
if(Serial)
Description
Indicates if the specified Serial port is ready.
On the Leonardo,
if (Serial)
indicates whether or not the USB CDC serial connection is open. For all other instances, includingif (Serial1)
on the Leonardo, this will always return true.This was introduced in Arduino IDE 1.0.1.
Syntax
All boards:
if (Serial)
Arduino Leonardo specific:
if (Serial1)
Arduino Mega specific:
if (Serial1)
if (Serial2)
if (Serial3)
Parameters
Nothing
Returns
boolean
: returns true if the specified serial port is available. This will only return false if querying the Leonardo’s USB CDC serial connection before it is ready.Example Code
void setup() { //Initialize serial and wait for port to open: Serial.begin(9600); while (!Serial) { ; // wait for serial port to connect. Needed for native USB } } void loop() { //proceed normally }
Все таки не могу домучать работу с USB.
Если
то не реагирует, не смотря на то, что кроме питания на ардуину ничего не подается, т.е. по сути порт открыть она не может.
Если
то тут да, код отрабатывает пока не пришлешь что-либо в порт. Но тут опять же проблема, не получается очистить буфер, чтобы программа ожидала нового сигнала.
По первому способу как-то можно мониторить просто связь с портом, а не наличие конкретных данных приходящих на порт, т.е. чтобы был простой контроль за ПК без необходимости диалога?