|
Модераторы: PILOT, ManiaK, Mazzi |
|
CROC |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 51 Регистрация: 16.10.2005 Где: Perm Репутация: нет Всего: нет |
Ищу простенький проект под Delphi для работы с HID USB устройствами..
|
|||
|
||||
Mazzi |
|
|||
Правильный Профиль Группа: Комодератор Сообщений: 825 Регистрация: 3.4.2003 Репутация: 9 Всего: 21 |
Тебе поможет книга Агурова "Практика программирования USB".
-------------------- Мне нужны помощники. |
|||
|
||||
CROC |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 51 Регистрация: 16.10.2005 Где: Perm Репутация: нет Всего: нет |
вот как раз я не могу запустить проек из этой книги |
|||
|
||||
Mazzi |
|
|||
Правильный Профиль Группа: Комодератор Сообщений: 825 Регистрация: 3.4.2003 Репутация: 9 Всего: 21 |
Поконкретней пожалуйста, что именно не получается?
-------------------- Мне нужны помощники. |
|||
|
||||
LessNik |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 52 Регистрация: 20.2.2006 Репутация: 1 Всего: 1 |
Ничего искать не надо, HID устройства так и задуманы, чтоб подключил к компу и без установки драйверов работаешь (клавиатура, мышь и т.д). Объясни по конкретней, что нужно. Программу ты должен написать для устройства (для микроконтроллера с USB), которое будешь подключать к компу. Для этого Delphi не годится. Используй IAR, Кеил и т.п. Проект в Агурове как раз для микроконтроллера и, если память не изменяет, 8051 |
|||
|
||||
Mazzi |
|
|||
Правильный Профиль Группа: Комодератор Сообщений: 825 Регистрация: 3.4.2003 Репутация: 9 Всего: 21 |
Если точнее, то at89c5131. Ну и как операционка догадается, что нужно делать с устройством если для него нет никаких программ? -------------------- Мне нужны помощники. |
|||
|
||||
LessNik |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 52 Регистрация: 20.2.2006 Репутация: 1 Всего: 1 |
Драйвера в операционке есть (я про винду), в некоторых случаях может дополнительно понадобится только inf файл. Какие драйвера использовать, операционка может решить по дескрипторам, которые устройство передаёт хосту в процессе энумерации (мы же на usb мышь или клавиатуру дрова не ставим), если не поймёт, то нужно использовать inf файл, в котором будет прописана необходимая информация, но это в случае более "сложных" устройств, чем мышь или клава. |
|||
|
||||
Mazzi |
|
||||
Правильный Профиль Группа: Комодератор Сообщений: 825 Регистрация: 3.4.2003 Репутация: 9 Всего: 21 |
А если это не клава, а некое нестандартное устройство? Как получить доступ к его функциям без написания своей программы? -------------------- Мне нужны помощники. |
||||
|
|||||
xvr |
|
||||||||
Эксперт Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 8 Всего: 223 |
Тогда это не HID устройство - они все стандартные (для того и придумывались) Если устройство не способно прикинутся одним из HID классов, то увы, придется писать для него полноценный драйвер на хосте.
|
||||||||
|
|||||||||
Mazzi |
|
||||||||||
Правильный Профиль Группа: Комодератор Сообщений: 825 Регистрация: 3.4.2003 Репутация: 9 Всего: 21 |
Перечислю типы HID - устройств упомянутые в книге Агурова. 1) клавиатуры и указатели 2) кнопки управления, переключатели, задвижки 3) устройства управления в видеомагнитофонах, телефонах, игровых приставках 4) устройства не требующие взаимодействия с человеком, термометры, вольтметры Что скажете? -------------------- Мне нужны помощники. |
||||||||||
|
|||||||||||
LessNik |
|
||||
Шустрый Профиль Группа: Участник Сообщений: 52 Регистрация: 20.2.2006 Репутация: 1 Всего: 1 |
Скажу, что на одну страницу ниже в главе 6.Класс HID Агурова (стр 147) написано, что :
а также много другого полезного. |
||||
|
|||||
Mazzi |
|
||||||
Правильный Профиль Группа: Комодератор Сообщений: 825 Регистрация: 3.4.2003 Репутация: 9 Всего: 21 |
Ну хорошо, с помощью репорта происходит обмен, а дальше что? Как этим репортом воспользоваться без программы верхнего уровня, если у меня самодельное устройство HID? -------------------- Мне нужны помощники. |
||||||
|
|||||||
LessNik |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 52 Регистрация: 20.2.2006 Репутация: 1 Всего: 1 |
Я понял, что вы имели ввиду: работать с HID устройством наподобии как с COM портом. Ну тогда, после того как операционка САМА поймёт, что это HID устройство и САМА установит нужные драйвера, то можно писать приложение верхнего уровня: получить дескриптор HID устройства для того, чтобы суметь его открыть, а дальше работать как с файлом(read, write и т.д.). P.S. Подумал, что проблема в драйверах. |
|||
|
||||
arzamax |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 2.11.2008 Репутация: нет Всего: нет |
Добрый день! Я тоже столкнулся с данной проблемой (и тоже по книге Агурова). Дело в том что в книге приводится конкретная программа для микропроцессора, после залития которой в него, он передает в систему некоторые данные генерирующиеся непрерывно. На диске к книге представленна откомпилированная программа на DELPHI которая читает эти данные, также там имеется исходник для этой программы откомпилировать который получается только после добавления в папку SetupApi.pas и еше парочки библиотек. Далее после компиляции программа не хочет работать вообще. Хотя откомпилированный якобы, агуровым код работает прекрасно.
Т.е. Агуров поступил интересно: показал что такое может быть, а дальше делайте чего хотите P.S. Ужасно разочарован книгами агурова. Не разобравшись в вопросе досконально, возомнил себя гением и полез писать книги. В первой дофига косяков: мало того что про микропроцессоры рассказывается не все (по его словам существует всего две разновидности микропроцессора at89c5131: at89c5131-L и at89c5131-M. Всего их как оказалось три: "at89c5131", "at89c5131-L" и "at89c5131-M". Описывает он два последних, а структурную схему включения приводит для первого. У двух последних на две ножки больше: 18 и кажется 25, которые в первом не использовались.), так еще на диске нет и половины нужной информации, файлов и исходников, а та что есть на столько каличная что не знеш к куда ее приткнуть. Вторая книга полная аналогия первой, ну добавлено пара глав и возможно исправлено пара косяков (кстати структурная схема включения микропоцессора не исправлена и в этой ) Желаю всем приятного прочтения!!!!! А вопрос с написанием программы для HID устройства остался открытым. Все советуют использовать модуль SetupApi.pas из библиотеки JEDI но как его конкретно применять не обьясняется. Если кто нибудь сталкивался с подобной проблемой и успешно ее разрешил, обьясните пожалуйста каким образом. |
|||
|
||||
xvr |
|
|||
Эксперт Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 8 Всего: 223 |
Нашел у себя в закромах какой то исходник Присоединённый файл ( Кол-во скачиваний: 807 ) HIDKomponente.zip 371,72 Kb |
|||
|
||||
arzamax |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 2.11.2008 Репутация: нет Всего: нет |
Пасиба, попробую!
Надо бы полностью описать работу с данным микропоцессором: начиная от простой структурной схемы и заканчивая конечным устройством с управлением от компа - было бы не плохо (мысли вслух). |
|||
|
||||
arzamax |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 2.11.2008 Репутация: нет Всего: нет |
xvr, Наконец-то просмотрел твои исходники: получше чем у Агурова на диске. Твои исходники читают передаваемую в хост информацию на ура. У меня возникла проблема с передачей данных от хоста устройству, к слову в книге Агурова этот вопрос рассматривается по принципу: "Есть такая возможность, давайте дальше...". В этих исходниках есть возможность передавать данные устройству, но видимо я чего-то не до конца понимаю в программировании микроконтроллеров для приема данных. Если кто сталкивался с подобной проблемой - поделитесь вашими наработками, мнением, исходным кодом для МК AT89C5131.
Заранее спасиба всем откликнувшимся! |
|||
|
||||
DimonSDA |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 28.4.2009 Репутация: нет Всего: нет |
Два года назад делал дипломный проект "USB Контроллер Системы Сбора Информации" в институте, причем собирал устройство писал все программы (прошивку, драйвер и интерфейс) и теоретическую часть - чертежи, пояснительную записку и много еще чего. Сами понимаете время на все это дело давалось примерно 5 мес. В итоге защитил на отлично, причем с демонстрацией работающего макета. В общем вот Вам выкладываю исходники надеюсь разберетесь. Багов там наверное миллион, так что не ругайте - сами понимаете за такой короткий промежуток времени разобраться со всеми тонкостями протокола USB, разработать устройство, написать все программы и теорию - нелегко, поэтому на исправление всех багов времени просто небыло. Проект разработан с применением AT89C5131АМ, я приложил схему.
Но я не уверен, что это самые последние версии программ, в процессе разработки их накопилось много, и я просто не помню какая из них самая последняя :(. Но там есть и чтение данных из устройства и запись в него (у Агурова примеров записи нет вообще!!!). Схема также имеет кучу багов, но следует помнить что устройство собиралось из того, что было. Прошивка написана в Keil uVision, интерфейс на Delphi 7. Схема в PCAD-2002. Драйвер изночально писался с использованием DDK, но при работе с тремя конечными точками происходило падение системы, с одной - работало. Было решено использовать пакет Jungo WinDriver или Jungo KernelDriver (точно не помню). С ним все работает на ура. Может кону-нибудь пригодится. Это сообщение отредактировал(а) DimonSDA - 28.4.2009, 20:37 Присоединённый файл ( Кол-во скачиваний: 472 ) AT89C5131.7z 312,80 Kb |
|||
|
||||
mr_smit |
|
|||
Опытный Профиль Группа: Участник Сообщений: 254 Регистрация: 27.2.2008 Где: Самара Репутация: 1 Всего: 4 |
||||
|
||||
QuickWitted |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 15.6.2009 Репутация: нет Всего: нет |
Продублирую тему в качестве своего вопроса - "помогите с проектом под Delphi для работы с HID USB, поиск простенького проекта"
Есть готовый проект на СИ, но хотелось бы достучаться до HID USB с Delphi... читал много - только запутался... Неподскажиче чем дело с адаптацией исходников от Агурова кончилось? Присоединённый файл ( Кол-во скачиваний: 326 ) IgorPlugTermometr.rar 55,03 Kb |
|||
|
||||
mr_smit |
|
|||
Опытный Профиль Группа: Участник Сообщений: 254 Регистрация: 27.2.2008 Где: Самара Репутация: 1 Всего: 4 |
Я собрал схему по приведенной мною выше ссылке (там их много разных, но смысл один). Вам там дают готовую библиотеку и нужно только поправить код под свои нужды. На Delphi (с помощью компонента что то там THID... не помню) написал программу. Смысл такой: нажал кнопку (мышкой) - лампочка загорелась (на плате), ещё раз нажал - погасла. Долго мучился с этим, но получилось.
А книга Агурова мне не очень нравится. Практики в ней нет. Я предпочитаю практические примеры. Как мой. Пожалуйста, цепляй вместо светодиода релюшку и включай/выключай настольную лампу не отрывая руки от мыши. А можно это и на "горячие клавиши" повесить. Будет даже на буке работать. USB ведь... Просто что то руки никак не дойдут это спаять. Это сообщение отредактировал(а) mr_smit - 15.6.2009, 13:30 |
|||
|
||||
QuickWitted |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 15.6.2009 Репутация: нет Всего: нет |
у меня 8 релюшек и ИР на слае уже год живут... (управляются как от компа, так и автономно от обученного пульта) Задача слезть с IgorPlug.dll (и за одно с комплектного драйвера)... т.е. нужна прога общающаяся с HID без дров и по возможности без библиотек. первое решение - прикинимся HID джойстиком - реализовали... недостатки в джой данные передать нельзя... второе решение - поищем аналог. нашли, только прога на СИ и на железе нет приёма данных из компа... вот теперь думаю как на дэльфи перевести.... (а приём данных потом допишем) ЗЫ: в теме только один исходник... и он зверски ругается при старте и при закрытии если не найдёт устройство.... может, у кого рабочий есть? (не сильно паникующий без железа?) |
|||
|
||||
mr_smit |
|
||||
Опытный Профиль Группа: Участник Сообщений: 254 Регистрация: 27.2.2008 Где: Самара Репутация: 1 Всего: 4 |
Использовал этот компонент: http://ifolder.ru/12653480 Его тут уже выкладывали. Я не делал никакие проверки. Это работает в том случае если к ПК в данный момент подключено 1 HID устройство. Если несколько - надо искать наше (по VID и PID) и обращаться к нему. На отсутствие железа не ругается. Это сообщение отредактировал(а) mr_smit - 15.6.2009, 16:27 Присоединённый файл ( Кол-во скачиваний: 570 ) USB_HID_Delphi.rar 1,50 Kb |
||||
|
|||||
QuickWitted |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 15.6.2009 Репутация: нет Всего: нет |
||||
|
||||
mr_smit |
|
|||
Опытный Профиль Группа: Участник Сообщений: 254 Регистрация: 27.2.2008 Где: Самара Репутация: 1 Всего: 4 |
В примерах которые идут с компонентом есть.
Что то типа этого:
Я только пока не пойму как потом к нужному устройству обратиться. Надо разбираться. Это сообщение отредактировал(а) mr_smit - 16.6.2009, 21:09 |
|||
|
||||
QuickWitted |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 15.6.2009 Репутация: нет Всего: нет |
||||
|
||||
mr_smit |
|
|||
Опытный Профиль Группа: Участник Сообщений: 254 Регистрация: 27.2.2008 Где: Самара Репутация: 1 Всего: 4 |
Исходник который идет с компонентом - рабочий. Бегло посмотрел. Они там ищут устройства и найденные добавляют в Listbox как objects и потом работают с нужным.
|
|||
|
||||
pvabox |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 23.8.2009 Репутация: нет Всего: нет |
Это сообщение отредактировал(а) Alexeis - 7.10.2009, 11:49 |
|||
|
||||
rpuH |
|
||||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 5.10.2009 Репутация: нет Всего: нет |
Добрый день!!! Если не затруднит скиньте пожалуйста исходники этой программы, а было бы вообще замечательно если в совокупностим с предыдущей программой. Спасибо зараннее. |
||||
|
|||||
pvabox |
|
||||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 23.8.2009 Репутация: нет Всего: нет |
Пример моего проекта работы с HID устройством на базе V-USB от Objective Development
Схема Основная программа микроконтроллера main.c
ВНИМАНИЕ! Не забудьте отредактировать файл конфигурации usbconfig.h !!!! Далее - тестовая программа на Delphi 7 main.pas
PS: Программа использует JvHidControllerClass библиотеки JEDI, не забудьте установить! Будут вопросы - не стесняйтесь, постараюсь ответить. Это сообщение отредактировал(а) pvabox - 28.10.2010, 09:20 |
||||
|
|||||
pvabox |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 23.8.2009 Репутация: нет Всего: нет |
По многочисленным просьбам на e-mail, выкладываю пример моего проекта для микроконтроллера с описанием под WinAVR.
PS: Внимание! Архив обновлен и дополнен. Это сообщение отредактировал(а) pvabox - 23.9.2011, 10:08 Присоединённый файл ( Кол-во скачиваний: 507 ) LED_Device_Example.rar 83,43 Kb |
|||
|
||||
joint931 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 29.10.2009 Репутация: нет Всего: нет |
Ктонибудь может кинуть пример как с помощью компонента JvHidController ПРИНИМАТЬ данные? Как девайс найти и послать пакеты все ясно, а вот как его опросить... ниче не ясно...
Заранее спасибо. |
|||
|
||||
197102 |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 17.12.2009 Репутация: нет Всего: нет |
Скажите, а где найти пресловутый JvComponentBase? JvHidControllerClass установил, а этого найти не могу. |
||||||
|
|||||||
mr_smit |
|
|||
Опытный Профиль Группа: Участник Сообщений: 254 Регистрация: 27.2.2008 Где: Самара Репутация: 1 Всего: 4 |
Кинь на форму сам "HID компонент" и он добавит нужные uses
|
|||
|
||||
pvabox |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 23.8.2009 Репутация: нет Всего: нет |
Замени в тексте программы на Delphi включения SetFeature на GetFeature, данные будут помещаться в буфер Buf. Добавлено через 3 минуты и 37 секунд Пробовал кто собирать подобный девайс, есть замечания по работе? Напишите свое мнение. |
|||
|
||||
Alexeyslav |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 25.12.2009 Репутация: нет Всего: нет |
Такая книга заставляет задуматься, искать ошибки исправлять их - в этом процессе и приходят знания. Научившись же копировать - знаний не будет, и никогда до конца не поймете как это все работает. От незнания возникают всевозможные глюки - устройство работает только в определенных условиях, чуть что (в примере упустили проверки на ошибки например) и все летит к чертям, приложение вываливается а драйвер вешает систему... а Вы долго-долго ищите причину. |
|||
|
||||
svetodiod |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 23.12.2009 Репутация: нет Всего: нет |
Прошу прощения за дурацкий вопрос, откуда девайс знает, что он
где это задается (если задается) в прошивке микроконтроллера? |
|||
|
||||
alfrerd |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 22.4.2009 Репутация: нет Всего: нет |
Попробовал, лампочки конечно работают (если добавить "DDRB = 255;"). а вот с буфером проблема. не выводит. Делал изменения в
По логике вещей, каждая функция вызывается один раз и за этот период мы должны сохранить переданные данные в какой-то промежуточный буфер и провести их обработку. Но не идет. сделал просто индикацию показа светодиода, если код хоть раз выполнит процедуру. Где ошибся и у кого пошло? |
||||||
|
|||||||
alfrerd |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 22.4.2009 Репутация: нет Всего: нет |
подчистил файл проекта от лишних модификаций, полученных в результате множества опытов, попил чайку, подумал и получил следующий результат:
1. Дополнительный буфер не особо то и нужен. это обусловлено тем, что используется только один тип репорта (занчит одной длинны все данные в нем) и контроллер его запишет в том же самом месте. При повторном вызове данных должен перезаписаться только заголовок. хотя может я и не прав. нужно просмотреть весь код обработки. 2. из Дельфи приложения функция usbFunctionWrite не вызывается. почему? есть одно предположение, но это позже. 3. если вызвать функцию, например через usbtool, то диод загорается (данные записаны!), но(!) при анализе, что вернула GetFeature() и что записывалось видно очень большое различие. 4. если usbFunctionRead возвращает значение отличное от 1, то устройство просто не работает. ЗЫ: по поводу 2 может быть такая вешь, что просто не включена обработка. в usbFunctionSetup записано "/* игнорируем запросы типа вендора, мы их все равно не используем */". То есть если наше приложение посылает запрос по вендору, а не по классу, то этот запрос банально игнорируется. Сделал проверку, не по вендору тоже. Но помимо вендора и класса есть еще standard и reserved. 1 проверить тоже не получилось. поскольку при внесении дополнительного кода в usbFunctionWrite и usbFunctionRead код просто не работает ни с одной из перечисленных программ. Есть у меня смутные сомнения, что вероятно объявленный статичный (и нестатичный) массив располагается во флэш памяти. в CodeVision для этих целей используется специальная директива в декларации. Вероятно и в WinAVR тоже, только не знаю какая. |
|||
|
||||
pvabox |
|
||||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 23.8.2009 Репутация: нет Всего: нет |
Эта строка уже добавлна при инициализации микроконтроллера
Добавлено через 6 минут Написал недавно плагин под Winamp на Delphi для вышеприведенной схемы с дополнительным усилителем тока и мощными светодиодами, получилась замечательная цветомузыка. Ее можно использовать как usb игрушку. |
||||
|
|||||
mr_smit |
|
|||
Опытный Профиль Группа: Участник Сообщений: 254 Регистрация: 27.2.2008 Где: Самара Репутация: 1 Всего: 4 |
pvabox, давно мечтаю сделать что то подобное. Насмотрелся на ютубе на кубы из светодиодов.... класс...
Выложи хотя бы фото своего устройства...!!!!! Жутко интересно посмотреть!!! Очень заинтересовало. |
|||
|
||||
mr_smit |
|
||||||
Опытный Профиль Группа: Участник Сообщений: 254 Регистрация: 27.2.2008 Где: Самара Репутация: 1 Всего: 4 |
Да и ещё, объясните эту конструкцию, я чего то не понимаю:
Понятно что LEDs это байт, т.е. 8 бит. Причем тут 1,2,4,8,16,32,64,128. С "делфи битами" не приходилось работать. а если:
то что тогда????? Может лучше так:
Или глупость написал? Это сообщение отредактировал(а) mr_smit - 1.11.2010, 10:59 |
||||||
|
|||||||
xvr |
|
|||
Эксперт Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 8 Всего: 223 |
Состояние набора checkbox'ов переводится в битовую шкалу
Это степени двойки. В бинарном виде это будет 00000001 00000010 00000100 00001000 00010000 00100000 01000000 Если эти значения сложить, то в соответствующей позиции суммы появятся единички У Индусов подсмотрели? Работать будет, но где то раз в 100 медленнее |
|||
|
||||
tans |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 7.10.2010 Репутация: нет Всего: нет |
А кто-нибудь знает как реализовать передачу данных в c++ buildere. В билдере отсутствует тип TReportData, в какой тип нужно положить передаваемые данные?
|
|||
|
||||
mr_smit |
|
|||
Опытный Профиль Группа: Участник Сообщений: 254 Регистрация: 27.2.2008 Где: Самара Репутация: 1 Всего: 4 |
||||
|
||||
AlexART |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 1.11.2010 Репутация: нет Всего: нет |
Фрагмент файла USBConfig.h:
Добавлено через 2 минуты и 55 секунд И сразу вопрос: Подскажите, пожалуйста, как передавать БОЛЬШЕ одного бита? Просто менять состояние PORTB.0? |
||||||
|
|||||||
mr_smit |
|
|||
Опытный Профиль Группа: Участник Сообщений: 254 Регистрация: 27.2.2008 Где: Самара Репутация: 1 Всего: 4 |
Может байта? Шли друг за другом байты и всё. А если нужна скорость, то лучше не заморачиваться с HID и использовать USB <-> RS232 переходник.
|
|||
|
||||
pvabox |
|
||||||||||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 23.8.2009 Репутация: нет Всего: нет |
xvr правильно ответил. Чтобы не заморачиваться и уменьшить количество машинного кода и вычислений, я работаю и передаю в микроконтроллер десятичное число. При записи этого числа в порт PORTB микроконтроллер сам устанавливает соответствующие биты на выходе. 0 - соответствует состоянию 00000000, а 255 - соответственно 11111111. Для включения n-го светодиода, я увеличиваю переменную LEDs на 2 в степени n (n=0..7).
Не понятен вопрос, мы вроде передаем уже 8 бит (1 байт), может имелось ввиду как передавать БОЛЬШЕ одного байта?
Ну да, смотря для чего использовать. Для цветомузыки, например, скорость переключения в 10 мс это весьма большая скорость. Я в своем плагине для Winamp-а использовал эффект стробирования, работает на ура, с яркими светодиодами по глазам бьет конкретно. Можно даже увеличить длину репорта и передавать информацию о яркости свечения светодиода (через ШИМ), тогда время переключения увеличится до 100 мс и для плавных переключений это будет совершенно незаметно. Это сообщение отредактировал(а) pvabox - 4.11.2010, 23:15 |
||||||||||
|
|||||||||||
pvabox |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 23.8.2009 Репутация: нет Всего: нет |
||||
|
||||
AlexART |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 1.11.2010 Репутация: нет Всего: нет |
Извиняюсь, больше одного байта. Всё, уже понял, спасибо.
|
|||
|
||||
mr_smit |
|
||||
Опытный Профиль Группа: Участник Сообщений: 254 Регистрация: 27.2.2008 Где: Самара Репутация: 1 Всего: 4 |
А в работе? Видео хотелось бы. Хоть на телефон сними. |
||||
|
|||||
pvabox |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 23.8.2009 Репутация: нет Всего: нет |
Хорошо, чуть позже выложу. Но световые эффекты сильно зависят от программы управления и внешнего оформления. У меня девайс работает как прожектор, а в кубе смотрелось бы иначе. В плагине под Winamp у меня реализовано несколько режимов работы светодиодов: зеркальный, частотный, амплитудный, одиночный, а так же добавлены эффекты: инверсия и стробирование. К сожалению, все светодиоды работают в режиме "горит - не горит". Если будет время, думаю ввести режим управления яркостью светодиода, в зависимости от музыкального сопровождения. Хотя, можно немного доработать программу МК и реализовать режим плавного погасания светодиода. Причем скорость погасания будет зависеть от времени свечения. При быстрой музыке этот эффект не будет заметно проявляться, а при медленной получится необычайная световая картина.
|
|||
|
||||
darksilence |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 26.11.2010 Репутация: нет Всего: нет |
У меня проблема следующего рода:
На контроллере висит кнопка, по нажатию этой кнопки КОНТРОЛЛЕР должен передать какие то данные в ХОСТ. Как сделать это. че в Делфе где прописано должно быть. прерывание слушать. Как вариант конечно можно постоянно хостом опрашивать девайс. но это плохой вариант. Как быть? =) |
|||
|
||||
mr_smit |
|
|||
Опытный Профиль Группа: Участник Сообщений: 254 Регистрация: 27.2.2008 Где: Самара Репутация: 1 Всего: 4 |
Ну во-первых кто тебе сказал что это плохой вариант??? Я с кнопкой так и делал. А во-вторых вот: http://www.radiokot.ru/circuit/digital/pcmod/16/ Там и исходники есть. |
|||
|
||||
darksilence |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 26.11.2010 Репутация: нет Всего: нет |
Это не то. там программа хоста постоянно опрашивает, а не контроллер сам инициализирует передачу данных хосту. Я нашел получше пример, но он у меня не запускается. щас буду его мучать
http://radioelectronika.ru/?mod=full_cxema&cxemi_id=465 Благо он разобран детально. и мне придется самому строить HID дескриптор. |
|||
|
||||
AlexART |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 1.11.2010 Репутация: нет Всего: нет |
Модератор: Сообщение скрыто. |
|||
|
||||
KoTeKoT |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 24.12.2010 Репутация: нет Всего: нет |
Приветствую всех!
Возможно не туда (если что перенаправьте) , но я уже просто не знаю что делать и в чем искать причину! Уже несколько месяцев пользую проект "hid-data" подкоректировав его под свои нужды в связке с Delphi. И все шло норм, Но после очередной поездки на работу с платой этой - врубаю а ЮСБ пишет "Устройство не опознано" Как так? ПереПрозвонил по 20 раз уже все. Обрывов нет, коротких тоже... Ради интереса позаливал разные варианты прошивок и из "hid-custom-rq" и разные модификации "hid-data" - Все равно не опознано! Но прошивается без ошибок (тоесть с кварцом и кондерами я так понял все в норме) и если прописать "DDRB = 0xFF;" между "DBG1(0x00, 0, 0);" и "odDebugInit();" то светятся диоды как и положено. НО ЮСБ "не опознано". Подтолкните плз в какую сторону рыть... уже 3-й день над девайсом этим сижу... |
|||
|
||||
darksilence |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 26.11.2010 Репутация: нет Всего: нет |
В другой комп пробовал ставить девайс? Как вариант сгорел стабилитрон, если ты на нем схему делал, т.е. по шинам данных идет 5В вместо 3-х.
|
|||
|
||||
KoTeKoT |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 24.12.2010 Репутация: нет Всего: нет |
Пробовал с 3-мя компами (2 ХР и 1 Win7) одно и тоже... Делал на диодах (прозвонил - не пробитые):
И кстати замерял напругу - такое впечатление что ни R1 ни R2 нет... (тоесть между выводом USB1 и PD2 = USB1 и USB3 = 4,93 В) а (между выводом USB4 и PD4 = USB4 и USB2 = 2,97 В) Но при этом резюки исправно показывают 68 Ом. А между PD2 и PD4 так же как и между USB2 и USB3 = 2,95 В. Это сообщение отредактировал(а) KoTeKoT - 25.12.2010, 20:51 |
|||
|
||||
darksilence |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 26.11.2010 Репутация: нет Всего: нет |
впринципе R2 и R1 особо на схему и не влияют. Но как факт, что МК должен питаться от 3,6В не больше. и выдавать на ножки PD2,PD4 должен такое же напряжение.
Я толком не понял вашу запись
Напряжение нужно мерить относительно общего провода. А то что вы написали USB1 и PD2 = USB1 и USB3 = 4,93 В. напряжение относительно земли: USB1 = 5V USB2=USB3=3.3V~3.6V USB4 = 0V VCC = ~3.7 V - вот это важно вобщем думаю проблема в разводке. вполне мог какой то прводник отвалиться. также советую проверить фьюзы и попробовать прошить другую аналогичную МК. Это сообщение отредактировал(а) darksilence - 25.12.2010, 22:54 |
|||
|
||||
KoTeKoT |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 24.12.2010 Репутация: нет Всего: нет |
Пардон за непраильное обьяснение.
Напряжение на PD4 относительно земли 2,98 В на PD2 относительно земли 0,03 В, а относительно питания 4,98 В Вроде бы правильно написал.. И повотрюсь - это устройство уже работало на это й же плате и этим же МК.... я уже на невероятные вещи грешил (мож каким макаром статика на МК вдарила)... но он же прошивается нормально! Это сообщение отредактировал(а) KoTeKoT - 25.12.2010, 23:09 |
|||
|
||||
darksilence |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 26.11.2010 Репутация: нет Всего: нет |
Кстати о прошиввании. Какой у вас программатор? если типа AVR910, то он сам шлет меандр и ему не нужен тогда внешний кварц на прошиваемом МК для программирования. =) с фьзами все норм? Все таки попробуйте атмегу поменять.
|
|||
|
||||
KoTeKoT |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 24.12.2010 Репутация: нет Всего: нет |
Та нет , программатор 5 проводков )) но шил на нем 2 атмеги без проблемм. Может кварц не заводится... осцилографа нет, а как без него проверить без понятия... Ну а если перепрошивается отлично (мигает светиками с другой прошивкой) то кварц с кондерами в норме??? А с фьюзами вроде все в норме, я как makefile исправил сначала, так и не менят его и прошивал с ним через AVR-Dude несколько раз без проблемм. Лады, сейчас поменяю атмегу!
--- Прошил другую Атмегу8 - тоже самое! Не опознано! Но прошылась нормально (после подключения в ЮСБ засветились светодиоыды, как и написано в программе зашивал ЭТУ: http://forum.vingrad.ru/index.php?showtopi...t&p=2050245 )... выходит в пайке или с компонентами что то не так... но только что проверил еще ра - обрывов и коротких точно нет!!! Что ж компоненты по одному менять? Маразм... мистика... Это сообщение отредактировал(а) KoTeKoT - 26.12.2010, 00:37 |
|||
|
||||
zvyagaaa |
|
|||
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 13.1.2008 Репутация: нет Всего: нет |
а можно ли как-то управлять еще и яркостью светодиодов по этой схеме?
я так понимаю, что нужно организовать ШИМ, а вот как - не знаю, может подскажите? |
|||
|
||||
darksilence |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 26.11.2010 Репутация: нет Всего: нет |
Если не сильно вникая, то проще через CodeVisionAVR. там есть утилита встроенная - автокомпоновщик или как ее еще назвать. вобщем там выбрать использование таймера для ШИМ. из него взять регистры настройки таймера (TCCR,TCNT,OCR) и скопировать в ваш проект.
А лучше разобраться по даташиту. На сайте Атмеля есть аппноуты с примерами для WinAVR. Главное если будете использовать прерывания таймера не задеть прерывание USB протокола, если использовать ненулевые конечные точки. |
|||
|
||||
zvyagaaa |
|
|||
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 13.1.2008 Репутация: нет Всего: нет |
я к чему спрашиваю, а вообще, это реально чтобы в проект, который выкладывался тут, добавить на все 8! портов программный шим? Просто то, что я в сети встречал, сделано, обычно на меге 8, 48 и т.д., т.е. на более серьезных контроллерах, с большим объемом памяти и прочее...
|
|||
|
||||
darksilence |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 26.11.2010 Репутация: нет Всего: нет |
Я так понимаю особого опыта работы с МК нет да и знания слабые, никого не хочу обидеть.
В атемеге8 всего 2 порта по 8 пинов и 1 порт с 7-ью пинами. В проекте VUSB нам оставлено суммарно 18 пинов (касательно ATMEGA8, если не использовать аппратной возможности отключения от USB). Как хотите так и управляйте ими, особых ограничений нет. прерываниями таймера вы программу не собьете, единственно, что не советуется - выключать прерывания вообще(т.е. использовать комманду cli()). |
|||
|
||||
zvyagaaa |
|
|||
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 13.1.2008 Репутация: нет Всего: нет |
да, к сожалению, ни опыта ни знаний по работе с мк пока нету, кроме как прошивки при помощи программатора и PonyProg. :( сам-то принцип как шим организуется на микроконтроллере я понимаю, а как это в код оформить - не понимаю... вот помог бы кто-нибудь что конкретно нужно написать в исходнике.
|
|||
|
||||
darksilence |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 26.11.2010 Репутация: нет Всего: нет |
и в проект USB все вставляется в этом же роде. Если в вашем проекте используется только нулевая конечная точка, то проблем вообще не должно возникнуть Это сообщение отредактировал(а) darksilence - 30.12.2010, 01:22 |
|||
|
||||
zvyagaaa |
|
|||
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 13.1.2008 Репутация: нет Всего: нет |
для тиньки не хватит памяти, люди говорят надо как минимум 4 кбайта памяти,а в ней 2!
|
|||
|
||||
darksilence |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 26.11.2010 Репутация: нет Всего: нет |
ну если для тиньки CDC проекты катят (которые USB-COM), то уж ШИМ с USB сделать памяти много не надо
|
|||
|
||||
zvyagaaa |
|
||||
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 13.1.2008 Репутация: нет Всего: нет |
Похоже, что начал по-тихоньку вникать, что да как в МК этих, много читаю, примеры смотрю и прочее:
Посмотрите код - похоже на правду, что я написал? Мне нужно на базе Attiny 2313 сделать 6 управляемых через USB светодиодов, регулируемые ШИМом. Так как аппаратных, как я понял, можно использовать только 2, то я попробовал его сделать через программную реализацию. Реализовал я его вот так:
В принципе, понимаю, что реализация топорная, может можно как-то улучшить, и вообще - будет ли такое работать? Такое ощущение, что все это дело будет нещадно тормозить :( Только вот, зараза, не компилируется ни пса :( Выдает ошибку на последнюю строку
Прикладываю архив проекта на AVR Studio 4. Я правильно все делаю, или нет? Спасибо. Это сообщение отредактировал(а) zvyagaaa - 11.1.2011, 09:55 Присоединённый файл ( Кол-во скачиваний: 50 ) main.rar 111,83 Kb |
||||
|
|||||
darksilence |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 26.11.2010 Репутация: нет Всего: нет |
у тебя функция usbFunctionWrite не закончена.
в смысле закрывающую скобку "END" ты закомментировал. вот поэтому и error. ИМХО проще искать ошибки в ProgrammersNotepad, идущим в комплекте с WINAVR. собственно и компилировать от туда же. Я на AVRStudio в обиде. она без makefile откзаывается мне чето делать. а раз так, то лучше я не буду ей пользоваться и все =) А по счет программы.. мудрено как то все. можно и покрасивше написать, но если будет работать, то все здорово =) Не забудьте правильно фьюзы запрограммировать ;-) |
|||
|
||||
zvyagaaa |
|
||||
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 13.1.2008 Репутация: нет Всего: нет |
darksilence, огромное спасибо за то, что надоумили меня воспользоваться ProgrammersNotepad - тут хоть скобки можно проверить конечно, до delphi+CnWizard ему далеко, но все равно.
Там еще ошибки были. Поэтому выложу еще откомпилированный проект. Еле разобрался что этому компилятору надо, ну до чего же он не информативные сообщение выдает при ошибках, вот сиди и думай, что не так сделал а, да, в железе еще не проверялась работа, пока просто откомпилировал. Правда, пришлось все же оптимизировать код, как я и предполагал - код чисто индусский был памяти не хватило даже на сильной оптимизации: вот как я все включение/выключение светодиодов переделал:
ну и соответственно ее вызываю:
так-то оно ловчее будет Это сообщение отредактировал(а) zvyagaaa - 12.1.2011, 08:22 Присоединённый файл ( Кол-во скачиваний: 55 ) main.rar 147,59 Kb |
||||
|
|||||
darksilence |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 26.11.2010 Репутация: нет Всего: нет |
у нас уже оффтоп пошел, на самом деле..
Я тебе советую разобраться сначала с ШИМом. сделай все тоже самое только без юсб и проверь в Proteus (программа эмулирует готовое устройство. очень удобная вещь). если твоя реализация будет работать, то все норм =) Мне влом в тоем коде разбираться, тем более что когда сам ошибки исправишь, поймешь лучше ;-) P.S. не получиться в твое программе такое время моргания светодиодами, т.к. они у тебя последовательно моргают и период моргания одного светодиода = сумме всех delay в одном цикле. а у тебя там больше секунды может выйти. надо переделать =) Это сообщение отредактировал(а) darksilence - 12.1.2011, 19:22 |
|||
|
||||
mr_smit |
|
|||
Опытный Профиль Группа: Участник Сообщений: 254 Регистрация: 27.2.2008 Где: Самара Репутация: 1 Всего: 4 |
Почитайте: http://avrhobby.ru/index.php?option=com_co...k&Itemid=53
Там 3 части. Подробнейшим образом всё описано. Особенно части 2 и 3. |
|||
|
||||
pvabox |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 23.8.2009 Репутация: нет Всего: нет |
Хочу предложить замечательный сайт с аналогичным проектом, но с использованием 18 светодиодов. Все разработки на сайте представлены с открытым исходным кодом. Вообще, огромная благодарность автору за создание такого сайта. Ссылка
|
|||
|
||||
Juris |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 23.7.2011 Репутация: нет Всего: нет |
Уважаемый Pvabox, доступна ли каким-то образом Ваша разработка плагина Winamp? Я неисправимый фанат разного рода цветомузык :) Кстати, конструкция по вашей предидущей ссылке замечательная вещь, я там даже продвигал кое-какие идеи в коментариях.
Буду признателен если возможно попробовать и Вашу разработку. Спасибо! Это сообщение отредактировал(а) Juris - 23.7.2011, 19:19 |
|||
|
||||
pvabox |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 23.8.2009 Репутация: нет Всего: нет |
Было время, когда я мечтал собрать простейшее устройство для управления светодиодами через USB. Переписывался с Игорем Чешко, основателем программной реализации USB протокола на МК. Но он мне ничем не помог, намекнул, чтоб сам во всем разбирался. Благодаря чудесным разработкам от OBJECTIVE DEVELOPMENT Software GmbH для AVR - разобрался. Писал автору проекта http://shunmax.narod.ru/index.html чтоб помог разобраться с плагином, но ответ был точно таким же. Пришлось все изучать, во всем разбираться и экспериментировать.
Меня цветомузыка интересует с детства, а сейчас столько возможностей для реализации! Но, к сожалению, нам устроили такую жизнь, что думаешь о том, как прокормить семью и на творчество времени не остается. Поэтому, вот уже два года я не усовершенствую свой проект. Что у меня получилось, можете посмотреть в прикрепленном файле, это dll-ка визуализации для Winamp-а. Я придумал совершенно новый алгоритм включения ламп в зависимости от музыкального произведения, но пока не реализовал его. Есть задумка написать прогу управления лампами от MIDI файла, где включением ламп управляют ноты. Это очень простой алгоритм. Кроме того, можно использовать отдельный трек для управления лампами, где ноты не воспроизводятся. Получается впечатляющая картина музыки и света. Будет время, поделюсь результатами. Будут новые идеи или предложения пишите, обсудим. Мой пример модуля визуализации под Winamp для моего проекта. PS: Архив обновлен! Это сообщение отредактировал(а) pvabox - 23.9.2011, 10:12 Присоединённый файл ( Кол-во скачиваний: 96 ) vis_LED.rar 186,11 Kb |
|||
|
||||
Juris |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 23.7.2011 Репутация: нет Всего: нет |
Спасибо Pvabox за файл! Маленькое предупреждение если кто ещё будет пробовать: без подключенного деваиса при запуске плагина Windows (XP) будет засыплен бесконечными сообщениями об ошибке, придётса "убить" Winamp. Во всяком случае на моём компе так. Деваис ещё не спаял.
|
|||
|
||||
pvabox |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 23.8.2009 Репутация: нет Всего: нет |
Пардоньте, эта старая версия файла, для его работы нужен драйвер LptWdmIO, с помощью которого при отсутствии устройства USB, данные передаются в LPT порт. Ссылку перезалил последней версией. Проверял на другом компе - все прекрасно работает. Простите за не внимательность. |
|||
|
||||
pvabox |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 23.8.2009 Репутация: нет Всего: нет |
Обновил и дополнил архив проекта в посте http://forum.vingrad.ru/index.php?showtopi...t&p=1996458
|
|||
|
||||
megabyte |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 11.1.2007 Репутация: нет Всего: нет |
Всем привет!
Я работаю над полноскоростным обменом по USB . Пытаюсь разобраться по книге Агурова. Критику не могу в его адрес высказать, человек писал видимо, что знает. Я использую контроллеры AT90 c USB модулем на борту. В моем проекте нужна скорость 8Мбит/сек - а это USB2.0 . Над этим и бьюсь. Готовый вариант устройства обмена интересует в плане ''от чего то оттолкнуться ''. А так хочу все сам сделать. Кстати в Proteus есть модуль USB с отладчиком - показывает процесс обмена данными в режиме он-лайн, также в эта программа имеет драйвер (в примерах) который устанавливается как устройство и можно в полном объеме отлаживать устройство. Правда там поддерживаемых контроллеров не много. Так что если тема интересна - буду дальше писать о результатах. Это сообщение отредактировал(а) megabyte - 25.9.2011, 16:56 |
|||
|
||||
UniBomb |
|
|||
Новичок Награды: 1 Профиль Группа: Участник Клуба Сообщений: 1754 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: 9 Всего: 97 |
||||
|
||||
Juris |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 23.7.2011 Репутация: нет Всего: нет |
Уважаемый Pvabox, могли бы Вы сделать screenshot работаещего плугина Winamp и предоставить сдесь? Дело в том, что даже если в английском Windows (XP) включить поддержку русских системных фонтов, всёравно вместо букв только "?". А так можно будет по картинке сориентироватся
Спасибо! |
|||
|
||||
pvabox |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 23.8.2009 Репутация: нет Всего: нет |
Juris, для отображения кириллицы воспользуйтесь прикрепленным файлом, а скриншот вот такой
Присоединённый файл ( Кол-во скачиваний: 40 ) Cyrillic.zip 1,20 Kb |
|||
|
||||
Juris |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 23.7.2011 Репутация: нет Всего: нет |
Спасибо, pvabox! Вы очень helpful
P.S.: А это не Ваше? Похоже как то по оформлению. http://shunmax.narod.ru/index.html Это сообщение отредактировал(а) Juris - 27.9.2011, 14:54 |
|||
|
||||
pvabox |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 23.8.2009 Репутация: нет Всего: нет |
Нет, я о нем писал в этом посте, хотя действительно, что-то взял из оформления его плагина.
|
|||
|
||||
andreysh |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 29.10.2011 Репутация: нет Всего: нет |
Только что разобрался с исходником с первой страницы. HIDKomponente.zip
Правда при разработке устройства заказывал 64бит буфер (с запасом) !!!! пока не подправил на двойку не заработало ...... ToWrite := CurrentDevice.Caps.OutputReportByteLength; for I := 0 to (ToWrite - 2) do Я так понимаю CurrentDevice.Caps.OutputReportByteLength=65; 65-2=63; 63+0=64; Ну да ладно планирую сделать свтильник, только не через шим а использовать микросхему ULN2003AN Анод одного диода подключается сразу к двум ножкам контроллера, к одной прямо, второй через ограничивающий резистор (подобрать на макетке по люксометру половину яркости). Итого: 1-Полная яркость, 2-Пол Яркости, 3Выключен. 2*3RGB=6ножек одного порта будет достаточно. Глаз не отличит яркости по шим, сильно большая пушка по воробьям IMHO |
|||
|
||||
zvyagaaa |
|
|||
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 13.1.2008 Репутация: нет Всего: нет |
pvabox
А исходником плагина поделитесь? Пожалуйста |
|||
|
||||
Maks55 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 13.10.2011 Репутация: нет Всего: нет |
Парни подскажите, компонент jvhiddevicecontroller работает в вин7? А то при обращении к HID устройствам пишет "device cannot be opened". Пример идущий с компонентом не работает. :(
|
|||
|
||||
hash666 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 15.11.2011 Репутация: нет Всего: нет |
2 Maks55, а константы правильные стоят? ProductName, VendorID, ProductID.
|
|||
|
||||
Maks55 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 13.10.2011 Репутация: нет Всего: нет |
У меня просто не получается вывести список HID устройств, вот код:
procedure TMainForm.HidCtlDeviceChange(Sender: TObject); begin DeviceList.Clear; HidCtl.Enumerate; end; function TMainForm.HidCtlEnumerate(HidDev: TJvHidDevice; const Idx: Integer): Boolean; begin DeviceList.Items.Add( Format('%.4x/%.4x', [HidDev.Attributes.VendorID, HidDev.Attributes.ProductID])); Result := True; end; В системе 6 HID устройств и при запуске программы я получаю 6 раз: Project .exe raised exception class EControllerError with message "device cannot be opened", т.е. я вообще нимогу от устройств никакой инфы получить. Что я делаю не так? Прошу помощи! ЗЫ Заметил, что готовые кзешники из демо работают и отображают HID устройства, а после компиляции исходников device cannot be opened. Может у меня rad studio поломался??? Это сообщение отредактировал(а) Maks55 - 16.11.2011, 10:44 |
|||
|
||||
jekatj1 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 27.12.2011 Репутация: нет Всего: нет |
В модуле SetupApi.pas строка 62
ANYSIZE_ARRAY = 1; замени на: ANYSIZE_ARRAY = 1024; В модуле JvHidControllerClass.pas срока 1751 FunctionClassDeviceData^.cbSize := SizeOf(TSPDeviceInterfaceDetailDataA); заменить на: FunctionClassDeviceData^.cbSize := 5; строка 149 constructor Create(APnPHandle: HDEVINFO; ADevData: TSPDevInfoData; ADevicePath: PChar); на: constructor Create(APnPHandle: HDEVINFO; ADevData: TSPDevInfoData; ADevicePath: AnsiString); строка 1756 PnPInfo := TJvHidPnPInfo.Create(PnPHandle, DevData, PChar(@FunctionClassDeviceData.DevicePath)); на: PnPInfo := TJvHidPnPInfo.Create(PnPHandle, DevData, FunctionClassDeviceData.DevicePath); Это сообщение отредактировал(а) jekatj1 - 21.3.2012, 09:45 |
|||
|
||||
inpotseluev |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 30.7.2012 Репутация: нет Всего: нет |
Уважаемые господа программеры!
Помогите, кто сможет. На 7 Delphi написан кусок программы с использованием HID. При первом включении все нормально. Когда USB перевтыкаешь, то HID.Enumerate возвращает ноль, так как в JvHidDeviceControllerClass.pas возвращает в TJvHidDevice(FList[I]).IsPluggedIn false. То есть он не увидел включения и события Arrival не произошло со всеми вытекающими. Пробовал объект уничтожать и создавать, вообще фигня происходит. Может надо как-то обрабатывать HIDDeviceUnplug. Заранее спасибо! |
|||
|
||||
ru775 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 29.1.2013 Репутация: нет Всего: нет |
Привет, ALL!
Разработал прогу работающую со сканером штрихкода через COM порт, все отлично работает, и решил расширить функционал, и поработать с различными железяками через HID. И тут начались грабли... Я не могу понять, можно целиком перенаправлять входящие данные со сканера работающего в режиме эмуляции клавы в свою программу? можно ли при появлении данных генерировать событие? И самое главное, я переворошил кучу примеров, но нет ни одного рабочего где-бы данные принимались! Если есть у кого наработки дайте, плиз. |
|||
|
||||
pvabox |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 23.8.2009 Репутация: нет Всего: нет |
Хочу поделиться своим проектом - светодинамической установкой для Winamp-а. Целью этого проекта было желание научиться создавать простые устройства, использующие протокол HID USB для обмена данными с компьютером. Весь проект имеет подробные пояснения и позволяет быстро разобраться новичкам в принципах работы устройства. Данный проект не претендует на оригинальность, но может быть взят за основу для разработки других устройств. В оригинальном виде, он может свободно распространяться, но только с сылкой на автора. Данное устройство можно использовать как usb-игрушку на дискотеках. Пользуйтесь, кому интересно!
Это сообщение отредактировал(а) pvabox - 19.9.2014, 19:12 Присоединённый файл ( Кол-во скачиваний: 105 ) LED_Dynamic_USB_Device.rar 783,09 Kb |
|||
|
||||
pvabox |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 23.8.2009 Репутация: нет Всего: нет |
Фото девайса.
Это сообщение отредактировал(а) pvabox - 31.12.2013, 20:00 Присоединённый файл ( Кол-во скачиваний: 55 ) Foto_LED_Dynamic_Device.rar 734,02 Kb |
|||
|
||||
pvabox |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 23.8.2009 Репутация: нет Всего: нет |
Если нужно видео работы, вышлю ссылку на youtube.
Это сообщение отредактировал(а) pvabox - 31.12.2013, 20:05 |
|||
|
||||
mr_smit |
|
|||
Опытный Профиль Группа: Участник Сообщений: 254 Регистрация: 27.2.2008 Где: Самара Репутация: 1 Всего: 4 |
Выкладывай
|
|||
|
||||
radan |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 26.1.2011 Репутация: нет Всего: нет |
и я видео жду!
|
|||
|
||||
pvabox |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 23.8.2009 Репутация: нет Всего: нет |
Обновил пост, ссылка на видео youtub работы устройства внутри архива с файлами проекта
Это сообщение отредактировал(а) pvabox - 19.9.2014, 19:22 |
|||
|
||||
pvabox |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 23.8.2009 Репутация: нет Всего: нет |
А этот проект с использованием бинарной кодовой модуляции (BCM-метод), позволяющей плавно управлять восемью светодиодами.
Ссылка на видео youtub работы устройства внутри архива с файлами проекта Это сообщение отредактировал(а) pvabox - 19.9.2014, 19:24 Присоединённый файл ( Кол-во скачиваний: 53 ) BCM_Dynamic_USB_Device.rar 669,68 Kb |
|||
|
||||
Juris |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 23.7.2011 Репутация: нет Всего: нет |
Спасибо Pvabox за вариант с плавной сменой яркости! Может есть у Автора ещё какие интересные свето-эффектные штучки чем можно поделится с другими?
|
|||
|
||||
pvabox |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 23.8.2009 Репутация: нет Всего: нет |
Cвето-эффектных больше нет, есть из других областей электроники.
Очень был бы признателен за отзывы, критику и новые идеи! |
|||
|
||||
Juris |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 23.7.2011 Репутация: нет Всего: нет |
Уважаемый Pvabox, если у Вас сейчас нет интереса по развитию светомузыкального плагина, может возможно дать мне подсказки и короткие наводки как можно покопаться в кодах, как потом скомпилировать (я плох в программировании, только общие поверхностные знания)? Как первое, я бы хотел перевести надписи в установочном окне на английский язык. Потом это можно конечно выложить для других кому нужно, сдесь и на "Lightportal". Спасибо заранее!
|
|||
|
||||
pvabox |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 23.8.2009 Репутация: нет Всего: нет |
Чем тут я могу помочь? Все мои исходники полностью открыты, комминтариев в исходниках более чем достаточно. Изучайте языки программирования. Google в помощь.
|
|||
|
||||
Juris |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 23.7.2011 Репутация: нет Всего: нет |
Спасибо, понимаю. Спрошу иначе: если я новичок, данный проект мне подойдёт для ковыряния, или там могу быстро обломатся в сложностях?
|
|||
|
||||
pvabox |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 23.8.2009 Репутация: нет Всего: нет |
Когда я увидел в интернете подобный проект М. Бакулина для LPT порта и статью И. Чешко о программной реализации USB на МК Atmel, то сразу же связался с ними с просьбой о помощи. Они, мягко сказать, послали меня самому во всем разбираться. Я был таким же новичком как и Вы. В итоге у меня получился свой проект такой, о каком я мечтал. Но цель была не только в проекте, но и в возможности самому во всем разобраться, понять как что работает и применить эти знаниня для реализации других устройств. Я начинал с нуля, а у Вас в руках готовое описание с комментариями и Вы еще спрашиваете: "данный проект мне подойдёт для ковыряния, или там могу быстро обломатся в сложностях?". Для ковыряния подойдет любой проект, а быстрота обломатся в сложностях зависит от желания и настойчивости.
Не, на самом деле это все для начинающих, там все элементарно! |
|||
|
||||
Juris |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 23.7.2011 Репутация: нет Всего: нет |
Спасибо за моральную поддержку! Ну чтож, "наберусь храбрости" и попробую.
|
|||
|
||||
pvabox |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 23.8.2009 Репутация: нет Всего: нет |
||||
|
||||
simon2012 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 22.6.2017 Репутация: нет Всего: нет |
Да, мне тоже интересно. А ветка жива вообще? Последнее сообщение в 2015 году было.
|
|||
|
||||
pvabox |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 23.8.2009 Репутация: нет Всего: нет |
Наверно, все уже разобрались во всем. В моем проекте все подробно расписано, думаю вопросов быть не должно.
|
|||
|
||||
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)" | |
|
На данный раздел помимо Правил форума распространяются текже следующие правила:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |