usb
- Войдите на сайт для отправки комментариев
Вс, 24/11/2013 - 01:50
Помогите кто с подключением к usb. Нужно написать прогу на arduino к примеру вкл\выкл светодиода. Вытянуть мк и припаять usb. Дальше запустить прогу и нажать на кнопку, и светодиод должен загорется. Хелп ми(.
Чаво?
Вы прочитайте что написали и попробуйте сами себя понять. А после подумайте смог бы кто нибудь понять что вы написали...
у меня сегодня приступ телепатии. ТС-у позарез нужен blink
На Arduino это как раз просто - digitalWrite(LED,Serial.read(LEDstate));
Главное надо на комп прогу писать. Которая в случае дуино должна:
1. Убедиться в наличии FTDI устройства в системе.
2. Построить список таких устройств, если одно - автоматически открыть, если больше - показать окно с выбором.
3. Установить параметры соединения (скорость, чётность, timeout и т. д.).
4. Собсно показать две большие кнопки "включить" и "выключить", и работать.
http://www.ftdichip.com/Support/SoftwareExamples/CodeExamples.htm
И да, никаких "выпаять". Можно без arduino-загрузчика, т. о. записать скетч по SPI. Но микруха FTDI требуется обязательно как интерфейс USB<->AVR. Либо можно взять Nano и с неё оторвать разъём, а припаять USB вилку, например со сдохшей мышки.
Честно говоря ящитаю, USB это плохой способ - кабель максимум 5 метров, на комп обязательно софтина специального назначения (минимум - драйвер FTDI + наша программа), зависимо от операционной системы (для линукса, мака - компилировать отдельно, драйвер отдельно). Между тем сетевая платка с ENC28J60 стоит 25 юаней, и с сетью может работать всё что угодно.
И да, никаких "выпаять". Можно без arduino-загрузчика, т. о. записать скетч по SPI. Но микруха FTDI требуется обязательно как интерфейс USB<->AVR. Либо можно взять Nano и с неё оторвать разъём, а припаять USB вилку, например со сдохшей мышки.
не обобщайте, есть минимум 2 чипа которые уже имеют FTDI размазан непосредственно на чипе.
Спасибо. Думал будет проще. Думал что нужен специальный скетч и тыркануть usb в arduino. Видь usb это всего лишь дата порт по которому можно переслать только двоичный код. Осталась только проблема с оборудованием. Если бы кто то помог мне с созданем нового оборудования просто подключит шнур к микрухе из ардуино(не к ардуино), я бы разобрался как отпровлять данные по usb.
Помогите кто с подключением к usb. Нужно написать прогу на arduino к примеру вкл\выкл светодиода. Вытянуть мк и припаять usb. Дальше запустить прогу и нажать на кнопку, и светодиод должен загорется. Хелп ми(.
Что означает вытенуть МК и припаять usb? Какую arduino юзаеш? если я правельно понялто на самом деле все просто. пишиш скетч который слушает Com порт. При получение команды включаеш светодиод. А на ком пишишь прогу которая будет что то писать в ком порт в данном случее твою команду. Прогу на комп мождно написать на чом угодно. Например на Delphi я в свое время использовал компонент AsyncFree104.
Народ, а такого зверя как V-USB юзал кто нибудь? ОНО FTDI не требует, а вроде цепляет usb прямо на ноги МК его не поддерживающего.
Помогите кто с подключением к usb. Нужно написать прогу на arduino к примеру вкл\выкл светодиода. Вытянуть мк и припаять usb. Дальше запустить прогу и нажать на кнопку, и светодиод должен загорется. Хелп ми(.
Что означает вытенуть МК и припаять usb? Какую arduino юзаеш? если я правельно понялто на самом деле все просто. пишиш скетч который слушает Com порт. При получение команды включаеш светодиод. А на ком пишишь прогу которая будет что то писать в ком порт в данном случее твою команду. Прогу на комп мождно написать на чом угодно. Например на Delphi я в свое время использовал компонент AsyncFree104.
У меня arduino uno. Вытащил мк 328p. Припаял ножки от usb. И просто пысалешь сигнал 1 и 0 по d+ и d-.
Сигналы послать легко. Нужно сделать так что бы комп видел что есть новое оборудвание. Как это сделать?
И я пишу на visual studio. c#
Народ, а такого зверя как V-USB юзал кто нибудь? ОНО FTDI не требует, а вроде цепляет usb прямо на ноги МК его не поддерживающего.
бери да пробуй - библиотека там жестокая альфа, но народ вроде педали для гитары делает и оно как-то работает.
http://blog.petrockblock.com/2012/05/19/usb-keyboard-with-arduino-and-v-usb-library-an-example/
*на свою атмегу16-ю с юсблоадером пытался ставить - таймеры не те, да и альфу напильником допиливать нет желания время тратить
И просто пысалешь сигнал 1 и 0 по d+ и d-.
Сигналы послать легко.
И я пишу на visual studio. c#
У меня arduino uno. Вытащил мк 328p. Припаял ножки от usb. И просто пысалешь сигнал 1 и 0 по d+ и d-.
Сигналы послать легко. Нужно сделать так что бы комп видел что есть новое оборудвание. Как это сделать?
вот так подключи к USB - система спросит, "что за херню ты подключил?"
вот так подключи к USB - система спросит, "что за херню ты подключил?"
Даже если он простоУЗБ разьем в рот себе засунет. система все равно спросит что за идиот на другом конце провода :)
Даже если он простоУЗБ разьем в рот себе засунет. система все равно спросит что за идиот на другом конце провода :)
не совсем так - подтягивающий резистор на D+, D- определяет наличие устройства на другом конце провода
И просто пысалешь сигнал 1 и 0 по d+ и d-.
Сигналы послать легко.
И я пишу на visual studio. c#
кода нету. Его легко написать методом тыка. Или аналоговые или дигитал. Просто подать напряжение на 0 то будет 0 если на 1 то 1
Вы вообще о чем? Я говорю про код со стороны компа. Вы же на С# пишите, вот мне и интересно как вы дергаете ногами USB-порта из программы.
Его легко написать методом тыка.
Просто подать напряжение на 0 то будет 0 если на 1 то 1
если умеете дёргать ногами USB-хоста системы, то в чём проблема?
если умеете дёргать ногами USB-хоста системы, то в чём проблема?
судя по тексту товарищ дергает ногами. берет их пинцетом и дергает :)
О-о-о-о. Кажется все понял. Да вы вообще без понятий о чем идет речь. Вы что думаете будете писать на ардуине digitalWrite(D+); или digitalWrite(D-); ... а в программе на компе их каким то методом типа USB1.DplusPin.read(); считывать? Ну-ну... Вы бы для начала хоть чуть-чуть узучили что такое USB.
Да походу точно - дергает пинцетом за USB-хвост системы.
Здравствуйте товарищи! Категорически приветствую всех вас!
Имхо. Но вы обсуждаете, какой то бред. Я так и не понял, что ТС имеет в виду!
Решил не создавать новой темы и по сему спрошу здесь. Сначала напишу небольшую предысторию.
Я задумал сделать выносной пульт управления медиа плеером на ПК. Идея такая. Подключаешь пульт по USB и можешь пользоваться как обычной мышкой или клавиатурой. На пульте присутствуют кнопки: громкость+, громкость-, Play, Stop и 2 кнопки перемотки.
В поисках ответов я просмотрел множество страниц интернета, но так как я не знаю английского то мало что понял. НО одно могу сказать. Так просто всё не делается. Для контроллера нужен небольшой обвес. http://www.practicalarduino.com/projects/virtual-usb-keyboard Дальше нужна библиотека которая бы эмулировала бы порт USB. После всего этого наш контроллер становится HID устройством. При подключении ПК спрашивает устройство «кто ты», устройство отвечает, что оно пульт управление мультимедией и после этого ПК устанавливает САМ необходимый драйвер.
Короче говоря мне тоже нужна помощь в понимании того как всё это работает и как это запрограммировать! Пожалуйста помогите!!!
Дальше я развил тему с пультом и решил добавить графический экран на котором бы отображалось время и название песни. НО тут скорее всего необходимо писать драйвер!
Хотя если мы пишем драйвер то тогда нам HID устройство не нужно. Можно же общаться через serial порт. А драйвер всё сделает за нас!
Кто ни будь, что ни будь подобное делал?
Кто ни будь, что ни будь подобное делал?
осталось понять глубинный смысл такого устройства... зачем кому то проводной пульт к чему либо?
как вариант могу вам предложить каждую кнопочку распаять в 100 жильный кабель и пользоваться.. будет такой кнопочко удлинитель... дешево и сердито
Можно же общаться через serial порт.
опять за рыбу деньги - народ старался писал v-usb, а оно чо оказывается - нахрена?, у нас же есть компорт!
осталось понять глубинный смысл такого устройства... зачем кому то проводной пульт к чему либо?
как вариант могу вам предложить каждую кнопочку распаять в 100 жильный кабель и пользоваться.. будет такой кнопочко удлинитель... дешево и сердито
Разве я что то говорил о смысле этого устройства? Мне важнее понять принцип работы по USB? А если рассуждать что дешево, а что сердито, то можно вообще ничего не делать!
опять за рыбу деньги - народ старался писал v-usb, а оно чо оказывается - нахрена?, у нас же есть компорт!
Я ничего не имею против v-usb! То было рассуждении в слух. Если я бы знал, как v-usb использовать я бы задавал совсем другие вопросы.
В частности вопрос по serial порт был в другом контексте! А именно. Может ли обычное HID устройство запрашивать такие данные как (название песни, её время, формат записи)? Если так то serial порт отпадает сам по себе.
В частности вопрос по serial порт был в другом контексте! А именно. Может ли обычное HID устройство запрашивать такие данные как (название песни, её время, формат записи)? Если так то serial порт отпадает сам по себе.
хммм может ли машина ездить? если в нее налить бензин и правильно жмакать на педали?
Мне важнее понять принцип работы по USB?
Да что тут понимать то? )
usb это всего лишь дата порт по которому можно переслать только двоичный код.
Все ж просто... )
Может ли обычное HID устройство запрашивать такие данные как (название песни, её время, формат записи)?
здесь нужно или о железе говорить или о выпадении целого уровня абстракций и скатыванию в средневековую алхимию
по сути
Помимо детальных спецификаций классических устройств ввода (типа клавиатур и мышек) стандарт HID определяет особый класс устройств без детальных спецификаций. Этот класс именуется USB HID Consumer Control и представляет по сути нерегламентированный канал связи с устройством. При этом устройство пользуется теми же стандартными для операционной системы драйверами что и мышка с клавиатурой. Таким образом можно создать USB устройство которое не требует создания и инсталляции специальных драйверов в большинстве распространенных компьютерных операционных систем.
Этим стали массово пользоваться, и появилось огромное количество устройств, которые, по сути, интерфейсами взаимодействия с человеком не являются. Например, телефонное устройство, термометр[3], устройство управления аудио и медицинское оборудование. Даже ИБП (источники бесперебойного питания) определяют себя, как принадлежащие классу USB HID, несмотря на то, что они часто не имеют человеческого интерфейса вообще. Любое устройство может принадлежать к USB HID классу, если оно удовлетворяет логическим спецификациям HID Consumer Control.
http://ru.wikipedia.org/wiki/USB_HID
..... Даже ИБП (источники бесперебойного питания) определяют себя, как принадлежащие классу USB HID, несмотря на то, что они часто не имеют человеческого интерфейса вообще. Любое устройство может принадлежать к USB HID классу, если оно удовлетворяет логическим спецификациям HID Consumer Control.
http://ru.wikipedia.org/wiki/USB_HID
Читал…. Но а дальше что? Надо думать как это с arduino совместить
Читал…. Но а дальше что? Надо думать как это с arduino совместить
дальше пытаться избавляться от абстракций и формализовать свои хотелки
к примеру - (название песни, её время, формат записи)
это что такое вообще? - какой пестни? у меня на компьютере нет песен - устройство не будет работать?
значит:
не пестни, а аудиофайла
если аудиофайла, то какого формата?
если свойство файла то, видимо, теги читать
файла, который играется каким-то софтовым проигрываетелем - каким проигрываетелем?
пишем плагин к этому прогрывателю, который читает теги и шлёт инфу в устройство
возвращаемся в начало - какого типа будет наше устройство?
смотрим в инете, как это обычно реализуется - к примеру
http://cxem.net/mc/mc39.php
http://www.ectotropic.com/foo_logitech_lcd.html
Да. Согласен…. Но пока вопросы остаются. Попробую поискать что то конкретнее.
Да. Согласен…. Но пока вопросы остаются. Попробую поискать что то конкретнее.
есть готовые решения USB-LCD-экранов, в которые можно что-то писать - считайте, что железо у вас есть.
http://www.modding-faq.de/index.php?artid=615
http://www.harbaum.org/till/lcd2usb/index.shtml
пишите или ищите плагин для своего плеера
Вы вообще о чем? Я говорю про код со стороны компа. Вы же на С# пишите, вот мне и интересно как вы дергаете ногами USB-порта из программы.
Я пишу под win8. Там есть уже готовая библеотека. Там есть функции отправки по usb порту.
А для всех других ос, есть куча библеотек работы с usb портом.
О-о-о-о. Кажется все понял. Да вы вообще без понятий о чем идет речь. Вы что думаете будете писать на ардуине digitalWrite(D+); или digitalWrite(D-); ... а в программе на компе их каким то методом типа USB1.DplusPin.read(); считывать? Ну-ну... Вы бы для начала хоть чуть-чуть узучили что такое USB.
Да походу точно - дергает пинцетом за USB-хвост системы.
Чувак, по usb порту идет передача двоичного кода который декодируется в шеснадцатиричный и потом это преобразовывается в стринг и т.д.
Данные передаются дифференциально по проводам D- и D+ (diff0 и diff1 соответственно, в терминологии официальной документации). Состояния «0» и «1» определяются по разности потенциалов между линиями более 0,2 В и при условии, что на одной из линий (D− в случае diff0 и D+ при diff1) потенциал относительно GND выше 2,8 В.[10] Дифференциальный способ передачи является основным, но не единственным (например, при инициализации устройство сообщает хосту о режиме, поддерживаемом устройством (англ. Full-Speed или англ. Low-Speed), подтягиванием одной из линий данных к V_BUS через резистор 1,5 кОм (D− для режима Low-Speed и D+ для режимов Full-Speed и High-Speed)[11].
Для соблюдения достаточного уровня сигнала в кабеле и недопускания его затухания требуется коррелировать длину кабеля с сечением проводников. Принята практика указания толщины сечения провода в AWG, например «28 AWG/1P…..». (C) wikipedia
По идеи тебя нужно отправлять изучать документацию по usb порту
Помогите кто с подключением к usb. Нужно написать прогу на arduino к примеру вкл\выкл светодиода. Вытянуть мк и припаять usb. Дальше запустить прогу и нажать на кнопку, и светодиод должен загорется. Хелп ми(.
сначала - будем бестолку спорить, пока космические корабли падают на головы сусликам...
scropions, дружище, у меня для тебя есть хорошая новость - http://www.obdev.at/products/vusb/powerswitch.html
оно мигает светодиодами, софт и исходники в комплекте
а не сильна большая схема для обычного мигания светодиодами?
а не сильна большая схема для обычного мигания светодиодами?
убери из схемы реле, блок питания, оставь один светодиод - останется один контроллер и светодиод.
Всё. Вроде разобрался в схеме. Я просто когда вижу большую схему впадаю в ужас и ищу что нибудь по проще, если не найду возвращаюсь к старой и рассматриваю)
Кстати светодиод можно цеплять к Numlock Atmega32(Leonardo) имеет USB и вот тут допиленый класс USB-HID где можно рулить этими светодиодами. кстати винда включает их на всех других клавах - тоесть можно без всяких програм рулить 3 светодиодами(ну или программы должны включать намлок).
Берёте вот эту штучку:
http://www.ebay.com/itm/130952834833?ssPageName=STRK:MEWNX:IT&_trksid=p3...
Любой нормальной ( типа REALTERM) терминальной программой выставляете-сбрасываете RTS и подключаете к нему свой светодиод.
Захотите второй подключить - вот вам и сигнал DTR .
А потом на языках высочайшего уровня ищите библиотеку, компоненту или скрипт который это может сделать...
Например скрипт для Виндовса:
И навсегда забываете про Ардуину.
Чувак, по usb порту идет передача двоичного кода который декодируется в шеснадцатиричный и потом это преобразовывается в стринг и т.д.
Данные передаются дифференциально по проводам D- и D+ (diff0 и diff1 соответственно, в терминологии официальной документации). Состояния «0» и «1» определяются по разности потенциалов между линиями более 0,2 В и при условии, что на одной из линий (D− в случае diff0 и D+ при diff1) потенциал относительно GND выше 2,8 В.[10] Дифференциальный способ передачи является основным, но не единственным (например, при инициализации устройство сообщает хосту о режиме, поддерживаемом устройством (англ. Full-Speed или англ. Low-Speed), подтягиванием одной из линий данных к V_BUS через резистор 1,5 кОм (D− для режима Low-Speed и D+ для режимов Full-Speed и High-Speed)[11].
Для соблюдения достаточного уровня сигнала в кабеле и недопускания его затухания требуется коррелировать длину кабеля с сечением проводников. Принята практика указания толщины сечения провода в AWG, например «28 AWG/1P…..». (C) wikipedia
А точно не в десятичный, а потом в инт? А по изернету не двоичные данные передаются? А по ком-порту? А по I2C? А по SPI ?
Что вы мне тут про физические уровни то изрыгаете? Вы так и не осознаете о чем идет речь.
Вы слово такое когда нибудь слышали протокол? Судя по всему нет.
И покажите мне хоть одну библиотеку, которая позволит вам дергать непосредственно ногами USB. Вы думаете просто так тут мучаются с FTDI, с V-USB ?
Почитайте ка тут, хотя вряд ли вы что поймете, если до сих пор не поняли.
По идеи тебя нужно отправлять изучать документацию по usb порту
А что бы меня поучить вам дорасти надо сначала. И речь не о возрасте.
Берёте вот эту штучку:
снова читеры с компортами в тему чистага юсб просочились.
предлагаю брать любую юсб-хрень, отрывать от неё всё, кроме светодиода и моргать им devcon disable/enable
видели такой эмулятор клавиатуры? Может ТС это хочет..
http://www.instructables.com/id/USB-PCB-Business-Card/?ALLSTEPS
Чувак, по usb порту идет передача двоичного кода который декодируется в шеснадцатиричный и потом это преобразовывается в стринг и т.д.
бред какой-то. ну и каша же у вас в голове....
А то, сам сварил.
В общем далеко вам до понимания что такое USB, так что дорога у вас одна - FTDI или леонардоподопная плата.
Чувак, по usb порту идет передача двоичного кода который декодируется в шеснадцатиричный и потом это преобразовывается в стринг и т.д.
Данные передаются дифференциально по проводам D- и D+ (diff0 и diff1 соответственно, в терминологии официальной документации). Состояния «0» и «1» определяются по разности потенциалов между линиями более 0,2 В и при условии, что на одной из линий (D− в случае diff0 и D+ при diff1) потенциал относительно GND выше 2,8 В.[10] Дифференциальный способ передачи является основным, но не единственным (например, при инициализации устройство сообщает хосту о режиме, поддерживаемом устройством (англ. Full-Speed или англ. Low-Speed), подтягиванием одной из линий данных к V_BUS через резистор 1,5 кОм (D− для режима Low-Speed и D+ для режимов Full-Speed и High-Speed)[11].
Для соблюдения достаточного уровня сигнала в кабеле и недопускания его затухания требуется коррелировать длину кабеля с сечением проводников. Принята практика указания толщины сечения провода в AWG, например «28 AWG/1P…..». (C) wikipedia
А точно не в десятичный, а потом в инт? А по изернету не двоичные данные передаются? А по ком-порту? А по I2C? А по SPI ?
Что вы мне тут про физические уровни то изрыгаете? Вы так и не осознаете о чем идет речь.
Вы слово такое когда нибудь слышали протокол? Судя по всему нет.
И покажите мне хоть одну библиотеку, которая позволит вам дергать непосредственно ногами USB. Вы думаете просто так тут мучаются с FTDI, с V-USB ?
Почитайте ка тут, хотя вряд ли вы что поймете, если до сих пор не поняли.
По идеи тебя нужно отправлять изучать документацию по usb порту
А что бы меня поучить вам дорасти надо сначала. И речь не о возрасте.
Мы год назад по эвм(электронно-вычеслительные машины) проходили про usb. Нам дали какую то шнягу. Мы подрубали к компу. Запускали софт. Вводили на машинке код. На пк показывала код в 16ричке и показывала функ на шарпе. И да, оно конвертирует в 16ричку потому что она проще чем двоичка и мениатюрние. Вить а потом конвертирует в двоичку. Проще уже сделать шенсадцатеричный код который займет всего лишь 2 байта чем двоичный который займер 8 байт, потом отправить его на FPU и уже в двоичке на CPU. Двоичка с оперативы будет идти на проц около 0.0005 сек. А 16 на FPU и потом на CPU около 0.0001. Возьми ассемблер язык и c#. Видь ассемблер сразу в двоичку и это на проц. А интерпритатор от шарпа в шенсандцатиричке. Кстати,Делфи тоже использует двоичку.
И да, оно конвертирует в 16ричку потому что она проще чем двоичка и мениатюрние. Вить а потом конвертирует в двоичку. Проще уже сделать шенсадцатеричный код который займет всего лишь 2 байта чем двоичный который займер 8 байт, потом отправить его на FPU и уже в двоичке на CPU.
размер зависит от системы счисления. наконец-то подтвердились предположения великого удава, который еще много лет назад утверждал "А в попугаях-то я длиннее...."
ужоснах.
Мы год назад по эвм(электронно-вычеслительные машины) проходили про usb.
Нам дали какую то шнягу.
Мы подрубали к компу. Запускали софт. Вводили на машинке код. На пк показывала код в 16ричке и показывала функ на шарпе. И да, оно конвертирует в 16ричку потому что она проще чем двоичка и мениатюрние. Вить а потом конвертирует в двоичку. Проще уже сделать шенсадцатеричный код который займет всего лишь 2 байта чем двоичный который займер 8 байт, потом отправить его на FPU и уже в двоичке на CPU. Двоичка с оперативы будет идти на проц около 0.0005 сек. А 16 на FPU и потом на CPU около 0.0001. Возьми ассемблер язык и c#. Видь ассемблер сразу в двоичку и это на проц. А интерпритатор от шарпа в шенсандцатиричке. Кстати,Делфи тоже использует двоичку.
Вот она наша образовательная система...
Мы год назад по эвм(электронно-вычеслительные машины) проходили про usb. Нам дали какую то шнягу. Мы подрубали к компу. Запускали софт. Вводили на машинке код. На пк показывала код в 16ричке и показывала функ на шарпе. И да, оно конвертирует в 16ричку потому что она проще чем двоичка и мениатюрние. Вить а потом конвертирует в двоичку. Проще уже сделать шенсадцатеричный код который займет всего лишь 2 байта чем двоичный который займер 8 байт, потом отправить его на FPU и уже в двоичке на CPU. Двоичка с оперативы будет идти на проц около 0.0005 сек. А 16 на FPU и потом на CPU около 0.0001. Возьми ассемблер язык и c#. Видь ассемблер сразу в двоичку и это на проц. А интерпритатор от шарпа в шенсандцатиричке. Кстати,Делфи тоже использует двоичку.
учителей уволить нахрен, оболтусов в армию - окопы копать до полного просветления мосга.
Да учителя скорее всего не причем, просто не тех людей они пытаются учить. Учитель по ЭВМ прочитав это плакать будет.
Да учителя скорее всего не причем, просто не тех людей они пытаются учить.
и, кто этих не тех набрал в это, прости господи, учебное заведение?
И да, оно конвертирует в 16ричку потому что она проще чем двоичка и мениатюрние. Вить а потом конвертирует в двоичку. Проще уже сделать шенсадцатеричный код который займет всего лишь 2 байта чем двоичный который займер 8 байт, потом отправить его на FPU и уже в двоичке на CPU.
размер зависит от системы счисления. наконец-то подтвердились предположения великого удава, который еще много лет назад утверждал "А в попугаях-то я длиннее...."
ужоснах.
Если я правильно помню то каждый стмвол имеет свой размер, если я правильно помню.
Позже возьму книжку и почитаю про usb
вы про какой размер? А3, А4?. или размер символов в ворде, таймс нью роман, 12? усб не имеет к этому никакого отношения. более того, усб вообще не имеет отношения к размеру чего-либо.
представьте, что усб это дорога, а машины это информация которая по ней передается ( в том числе и символы). дорога не влияет на размеры машин, как и наоборот
и размер машины никак не зависит от того, едет ли она по шоссе, грунтовке, плывет на пароме или стоит на стоянке.