Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.225.149.136] |
|
Страницы: (2) [1] 2 все ( Перейти к последнему сообщению ) |
Сообщ.
#1
,
|
|
|
Хочу сделать одну штуковину...
Для простоты объяснения задача такая: Сделать программу (любой язык (С например)) которая будет ументь пускать/перекрывать "ток". Ток соответвенно будет зажигать лампочку (любую). Електричество пускается по USB проводу. Пример такого устройства - USB флешка - когда пишем что-либо, горит/моргает лампочка. Единственно, что могу придумать я - это переделать старую флешку и написать прогу которая будет циклично что-либо писать... но это не очень хорошо Какие есть варианты (лучше по-проще)? Заранее спасибо |
Сообщ.
#2
,
|
|
|
Windows?
Купить преобразователь USB-COM, дальше EscapeCommFunction(hcom, SETDTR); EscapeCommFunction(hcom, CLRDTR); Ну еще есть RTS и даже (через установку-снятие BREAK) - TXD Мигать можно тремя лампочками |
Сообщ.
#3
,
|
|
|
Да. Только силовая схема нужна будет на транзисторе.
|
Сообщ.
#4
,
|
|
|
AVR309: Программная реализация универсальной последовательной шины (USB)
останеться только светик с резюком прикрутить. все остальное программерское дело и чтоб пином порта дергать уже есть тулзы. да даже если в контроллер свое че нить захочется добавить, то там есть еще место и даже для драйвера предусмотрены еще 2-3 фукции дополнительных, но там вроде только один регистр общего назначения оставался, поэтому приходилось пооткусывать некоторый общий функционал. да EEPROM там тоже вся свободная |
Сообщ.
#5
,
|
|
|
Цитата Windows? Да. Цитата Купить преобразователь USB-COM, дальше В самых новых компах есть COM порт? - может сразу через него? И в чем фишка СОМа? За что там контакты отвечают? Цитата EscapeCommFunction(hcom, SETDTR); EscapeCommFunction(hcom, CLRDTR); Это чьи функции? И что они делают? Цитата Ну еще есть RTS и даже (через установку-снятие BREAK) - TXD А что это? Цитата Мигать можно тремя лампочками Это было бы совсем идеально. По ссылке ElcnU кажись это и предлагается (USB to RS232). Только там я немного не понимаю пока - что от меня требуется? Только конвертер с драйвером или еще что-то? Цитата останеться только светик с резюком прикрутить. Я в первый раз - что это значит? Цитата да даже если в контроллер свое че нить захочется добавить Его самому надо делать или уже есть готовый (или имеется ввиду конвертер)? Цитата да EEPROM там тоже вся свободная А это что такое? |
Сообщ.
#6
,
|
|
|
Цитата NoeR @ В самых новых может и не быть (может быть только гребёнка на материнке, до которой ещё добраться надо).Цитата В самых новых компах есть COM порт? - может сразу через него?Купить преобразователь USB-COM, дальше И в чем фишка СОМа? За что там контакты отвечают? Если задача мигать маломощными светодиодиками, то можно и на обычный COM-порт, с переходником USB-COM та же схема и та же программа будут работать. Всей схемы - светодиод плюс резистор. Но если нужно что-то помощнее, то разобрав переходник USB-COM можно дотянуться до +5В от USB. Ну и раз было попрошено USB, я решил что других интерфейсов нет Цитата NoeR @ WinAPI. Переключают сигналы на линиях COM-порта по хендлу hcom, сигнал и дейстиве с ним задаются константой, SETDTR - это установить линию DTR, CLRRTS - сбросить RTS и т.д.Цитата Это чьи функции? И что они делают?EscapeCommFunction(hcom, SETDTR); EscapeCommFunction(hcom, CLRDTR); Цитата NoeR @ А линия передачи данных TXD может быть (надолго) переведена в противоположное состояние "разрыв линии" - BREAK, таким образом ею можно тоже управлять произвольно. Только там пара функций SetCommBreak(hcomm) и ClearCommBreak(hcomm)Цитата А что это? и даже (через установку-снятие BREAK) - TXD Цитата NoeR @ По ссылке на перевод аппноты от Atmel предлагается купить микроконтроллер, сделать плату, зашить в него программу, ...По ссылке ElcnU кажись это и предлагается (USB to RS232). Только там я немного не понимаю пока - что от меня требуется? Только конвертер с драйвером или еще что-то? Не порекомендовал сразу только потому, что раз в первом сообщение речь шла о "расковырять USB-flash" и писать на неё файлы, то слово "микроконтроллер" автору темы мало знакомо и нет смысла ради одной "мигалки" в это втягиваться. Хотя может уже такую платку и готовую можно найти. |
Сообщ.
#7
,
|
|
|
Цитата Всей схемы - светодиод плюс резистор. Нужен только светодиод и резистор? Какой резистор и что с ним делать когда достану? Цитата Но если нужно что-то помощнее, то разобрав переходник USB-COM можно дотянуться до +5В от USB. Лучше было бы так... готов ковырять Вот только что, да как.. Цитата Ну и раз было попрошено USB, я решил что других интерфейсов нет Если СОМа может не быть - значит др. интер. нет Надо чтобы много куда шло... Цитата сигнал и дейстиве с ним задаются константой, SETDTR - это установить линию DTR, CLRRTS - сбросить RTS А как это все согласовать (связать) с лампочкой? Куда ее саму коннектить? Цитата Не порекомендовал сразу только потому, что раз в первом сообщение речь шла о "расковырять USB-flash" и писать на неё файлы, то слово "микроконтроллер" автору темы мало знакомо и нет смысла ради одной "мигалки" в это втягиваться. Все верно |
Сообщ.
#8
,
|
|
|
Цитата NoeR @ Цитата Всей схемы - светодиод плюс резистор. Нужен только светодиод и резистор? Какой резистор и что с ним делать когда достану? ... Все верно У-у-у... Про куда засунуть резистор "эскадрон, молчать!"... Чижолый случай... Это точно на один раз, а не постепенная смена ориентации? Тогда держи: #include <windows.h> #include <stdio.h> int main(int ac, char **av) { int key; HANDLE hCom; if( ac < 2) { printf( "Use: test COMNAME\n"); return 1; } hCom = CreateFile( av[1], GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL); if( hCom == INVALID_HANDLE_VALUE ) { printf( "Can't open %s", av[1]); return 1; } printf( "use r/R, d/D, b/B keys for clear/set RTS, DTR and BREAK state, q for quit (press CR after key)\n"); while( (key = getchar()) != 'q' ) { switch(key) { case 'D': EscapeCommFunction( hCom, SETDTR); break; case 'd': EscapeCommFunction( hCom, CLRDTR); break; case 'R': EscapeCommFunction( hCom, SETRTS); break; case 'r': EscapeCommFunction( hCom, CLRRTS); break; case 'B': SetCommBreak( hCom); break; case 'b': ClearCommBreak( hCom); break; } } CloseHandle(hCom); return 0; } Тю, а что это png-шка не приклеилась? Ну тогда gif-ка Добавлено Вид COM-порта ("настоящий" или переходник с USB) не важен. С приведенной программкой набор в консоли (FAR-е) test COM4 дальше по одному или группами drb(CR) выключит все светодиоды DRB(CR) - включит все. (ну у меня переходник USB-COM поцепился на COM4) Прикреплённая картинка
|
Сообщ.
#9
,
|
|
|
Большое спасибо
А как насчет 5В? И еще вопросик немного не в тему: Можно от USB сделать включение света в комнате? (Не сама лампа горела от USB, а вкл. выключатель) |
Сообщ.
#10
,
|
|
|
Цитата NoeR @ А как насчет 5В? Два крайних контакта на ЮСБ это и есть 5в. Только осторожней, на материнке стоят предохранители, если превышение тока будет больше чем пол ампера, то к ним кердык прийдет. Цитата Можно от USB сделать включение света в комнате? Можно. Вместо светодиодов ставить транзистор, который коммутируют реле запараллеленное с выключателем света. |
Сообщ.
#11
,
|
|
|
Цитата AlexJ @ ..Только осторожней, на материнке стоят предохранители, если превышение тока будет больше чем пол ампера, то к ним кердык прийдет.... режим старта юсб - 100мА. по запросу до 500мА... с уважением (круглый) |
Сообщ.
#12
,
|
|
|
Цитата NoeR @ И еще вопросик немного не в тему: Можно от USB сделать включение света в комнате? (Не сама лампа горела от USB, а вкл. выключатель) Реле используй для этих целей с использованием транзистора |
Сообщ.
#13
,
|
|
|
Цитата Два крайних контакта на ЮСБ это и есть 5в. А если USB->COM? CD & RI по 5В? За реле спасибо |
Сообщ.
#14
,
|
|
|
Цитата NoeR @ Цитата Два крайних контакта на ЮСБ это и есть 5в. А если USB->COM? CD & RI по 5В? CD & RI это входные пины, с них напругу вообще не снимают распиновка КОМ-порта(9-пиновый): http://pinouts.ru/SerialPorts/Serial9.shtml Управляющую напругу можно снять только с линий TXD, DTR, RTS. Согласно стандарту, относительно общего провода, напряжение может варьироваться в диапазоне от -15...-3 Вольт(логическая единица) до +3...+15 Вольт(логический ноль). Так что в этом случае все зависит от производителя компа или переходника USB<->COM. ИМХО проще вытащить 5 вольт непосредственно с USB разьема, а подключение/отключение нагрузок(через реле, транзисторы...) сделать по COM-порту. |
Сообщ.
#15
,
|
|
|
Цитата ИМХО проще вытащить 5 вольт непосредственно с USB разьема Т.е. разрезать провод, найти черный/красный, их вытащить наружу обматав, а остальное отправить в первоначальное русло? Я говорю про USB->COM. Т.е. будет COM работать если из провода (конвертера) вытащить эти два вольтовых? |