Arduino iDE + V-USB библиотека.

fivist
Offline
Зарегистрирован: 30.01.2014

Собственно вопрос: Как заставить работать в єтой среде программирования. Есть ли какой нить другой аналог єтой либы для Arduino IDE? Может есть рабочий пример? (Компилятор на нее сильно ругается, постоянно ерроры.)

Собственно вопрос: Как заставить работать в єтой среде программирования. Есть ли какой нить другой аналог єтой либы для Arduino IDE?
Клапауций
Offline
Зарегистрирован: 10.02.2013
seri0shka
seri0shka аватар
Offline
Зарегистрирован: 19.11.2018

Помлгите найти "живые" примеры взаимодействия компьютера с ардуиной через софтовый USB,  интересует именно передача данных с компа. Целый день копал в интернете, но толкового не нашёл. Всё найденное или не компилируется, или нет схемы (а библиотеки состоят из 38 файлов, и извлечь из них информацию о пинах подключения нереально), ещё и большинство примеров не под платы ардуино, а под сами контроллеры с кварцем нестандартной частоты.

Нужен пример передачи данных, который я смог бы попробовать с платой Ардуино и в среде Ардуино, с чёткой схемой пдключения к USB.

 

yuhenotix@2p-ma...
Offline
Зарегистрирован: 09.06.2019

 

приемо-передача с примерами на  си и делфи  здесь есть

http://microsin.net/programming/index.html

http://microsin.net/programming/avr-working-with-usb/v-usb-hid-control-messages.html

seri0shka
seri0shka аватар
Offline
Зарегистрирован: 19.11.2018

Нашёл то, что удалось проверить на ArduinoNano (16 MHz). Библиотека  <HIDSerial.h>, скачивал здесь: https://github.com/adafruit/rayshobby-hid-serial-trinket

Из архива извлекаем папку HIDSerial, закидываем в библиотеки, в ней же папка с примерами. Пример "hello_world" загружаем в ArduinoNano. После этого соединяем по схеме (я не ставил стабилитроны, но запитывал от аккумулятора на 3,6 вольт) и втыкаем в USB (не тот, что на плате, а новый). На случай, если картинки пропадут: D+ подсоединяется через резстор на 68 ом к D7 ардуины, D- через резстор на 68 ом к D2, кроме того D- подсоединяется через резстор на 1,5 кОм к +3.3v. Ну и GND к GND. Питать ардуину от 3,6 вольт или ставить стабилитроны!

 

Открываем "Диспетчер устройств" на компьютере, там должно появиться что-то типа "неизвестное HID устройство".  Жмём "обновить драйверы" и оно должно стать "HID совместимым устройством". Из архива с библиотекой достаём папку "host software", в ней находим файл "HIDSerialMonitor.exe" для своей системы (у меня windows32), запускаем HIDSerialMonitor. Обычный Монитор порта не подходит, потому что устройство не видится как COMport, а как HID устройство. В открывшемся окне жмакаем кнопку "connect" и видим долгожданное "hello_world!"

Проверял так же пример "echo"-  принимает данные, что отправили из монитора и возвращает обратно, как раз то, что мне нужно.

Вот теперь нужно создать host-программу, которая бы переправляла построчно или побайтово выбранный текстовый файл в ардуину. Только от этого я далёк, никаких питонов не знаю...

Такая же библиотека есть здесь, но я её не проверял: https://github.com/rayshobby/hid-serial

v258
v258 аватар
Offline
Зарегистрирован: 25.05.2020

seri0shka пишет:

На случай, если картинки пропадут: D+ подсоединяется через резстор на 68 ом к D7 ардуины, D- через резстор на 68 ом к D2

Не соответствует картинке

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

вопрос? а почему задачу свзи с компьютером не решаете через стандартный сериальный порт ардуины

seri0shka
seri0shka аватар
Offline
Зарегистрирован: 19.11.2018

ua6em пишет:

вопрос? а почему задачу свзи с компьютером не решаете через стандартный сериальный порт ардуины

1. Ардуино только в прототипе, дальше будет голый контроллер.

2. Выводы D0 и D1 будут заняты другой задачей, с которой могут справиться только они.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

seri0shka пишет:

ua6em пишет:

вопрос? а почему задачу свзи с компьютером не решаете через стандартный сериальный порт ардуины

1. Ардуино только в прототипе, дальше будет голый контроллер.

2. Выводы D0 и D1 будут заняты другой задачей, с которой могут справиться только они.

есть почти такой же чип 328PB у него два серийных

seri0shka
seri0shka аватар
Offline
Зарегистрирован: 19.11.2018

v258 пишет:

Не соответствует картинке

D+ подсоединяется через резистор на 68 ом к D2 ардуины, D- через резистор на 68 ом к D7

В библиотеке есть файл "usbconfig.h", в строке

#define USB_CFG_DMINUS_BIT      7

можно D7 заменить на любой другой из порта D. Вывод D2 менять нельзя.

seri0shka
seri0shka аватар
Offline
Зарегистрирован: 19.11.2018

ua6em пишет:

есть почти такой же чип 328PB у него два серийных

Да, интересно, не думал о нём в этом проекте, хотя раньше обращал внимание.

Но:

1. Он почти в 2 раза дороже.

2. После отладки проекта я хочу перевести его на Atmega168 или Atmega8 (по возможности).

3. У меня уже и так используются два SPI на Atmega328, не считая связи с компьютером.

4. Есть в наличии Atmega64 по смешной цене, но не так интересно, ну и размер...

Если интересно, прошу сюда: http://arduino.ru/forum/proekty/portativnyi-avtonomnyi-programmator