Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Программная инженерия > Компьютерное железо
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.01.2014, 00:39   #1
_PROGRAMM_
Участник клуба
 
Аватар для _PROGRAMM_
 
Регистрация: 30.07.2009
Сообщений: 1,601
По умолчанию Свое устройство для управления компьютером

Доброй ночи. Хочу получить практические навыки по созданию устройства, с помощью которого я смогу подавать сигналы компьютеру. <- это вкратце, теперь, по традиции полное описание с примером(графически изображать тут нечего, поэтому без картинки).

Пусть имеется какая-нибудь программа. Представляет из себя окно. Хочу сделать устройство с выводами, при замыкании которых, программка пишет: "Вы замкнули вывод 1" или "ЗАЖАЛИ кнопку №1". Реакция должна быть на замыкание и размыкание контактов. Должно иметься хотя бы 5*2=10 таких выводов, а лучше больше. Конечно же конструкцию я придумаю. Работать хочу через USB, ибо ноут.

Еще вариант управления. Два реостата(или потенциометра), которые регулируют напряжение. И эти значения (на одном реостате и на другом) должны поступать на компьютер.

Идея с представлением устройства, как COM порт очень заманчива, но хочется услышать мнение профессионалов. Может есть более рациональные пути?

Что и как лучше реализовать, какие ИС(или микроконтроллеры) использовать и каким образом работать с ним в системе?(устройство будет использоваться в Linux). Компоненты собираюсь заказывать через интернет(это немаловажно).

Заранее спасибо.

В мире нет вечных двигателей, зато есть вечные тормоза...

Блог
_PROGRAMM_ вне форума Ответить с цитированием
Старый 07.01.2014, 06:10   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

При работе с USB вы так или иначе все равно будете иметь дело с последовательным портом, только виртуальным over USB. Его чаще всего и эмулируют производители всяческих конверторов интерфейсов, за исключением случаев, когда вы работаете с USB HID (по нему в разделе статей форума есть цикл из трех материалов)/CDC и прочее.

В общем, в вашем случае, для быстрого старта и последующих наполеоновских планов контроля и диагностики рекомендую обзавестить Arduino или ее клонами (моно и расперри и программить под Lazarus, но одноплатник дороже, раз в семь), благо у китайцев на али платки с бесплатной доставкой и стоят копейки (nano от 7-ми вечнозеленых). А на борту у нее и USB и последовательный порт (+ возможность эмуляции на любом I/O) и куча дискретно-аналоговой периферии, включая ШИМ. Да еще и огромнейшее комьюнити с кучей готового добра. Из примеров шуточно-серьезного использования буратины в умном доме http://www.youtube.com/watch?v=cTmkX_LZ1H8

Общаться, разумеется, с ней вы сможете не только по USB, но и по блютуз по тому же COM-порту, используя блютуз-модулек с прозрачным UART, можно и по Wi-Fi.

Цитата:
устройство будет использоваться в Linux
примечательно то, что при использовании конверторов интерфейсов типа FTDI или их же в ардуине, дрова под Linux тоже имеются.

Цитата:
Компоненты собираюсь заказывать через интернет(это немаловажно
• буратины http://ru.aliexpress.com/wholesale?S...o+nano&catId=0
• малины http://ru.aliexpress.com/wholesale?S...rry+pi&catId=0
• еще есть такие штуки как Ethernet/RS-232 http://i01.i.aliimg.com/wsphoto/v0/1...Module-Kit.jpg


Дополнения

• USB термометр и дистанционка в одном флаконе. Часть 1 + цикл 2 3 4 5 6 7
Управление устройствами через браузер
• USB-реле MP709
Удаленный COM-порт по TCP/IP


Образцы проектов (все доступны)

Пример голосового управления (с обратной связью разумеется) нагрузками Буратины через HC-05 по блютуз с нетбука:

http://www.youtube.com/watch?v=ELdbxYty76Y

Пример управления (с обратной связью разумеется) нагрузками Буратины через HC-05 по блютуз с планшета:

http://www.youtube.com/watch?v=nq3mU_Z_ZOM


Пример контроля нагрузками по USB без использования МК через кабель-конвертор интерфейсов и тупом сдвиговом регистре:

http://www.youtube.com/watch?v=zj7LvleuZlk

Пример сканнера из сенсора оптической мыши Agilent ADNS2610 + Буратино:

http://www.youtube.com/watch?v=s2i-MsQSmkE

Пример голосового управления нагрузками через USB HID эмуляцию на Atmeg-е:

http://www.youtube.com/watch?v=aqzYZov_L1o

Пример Интернет-управления нагрузками через USB HID эмуляцию на Atmeg-е из браузера:

http://www.youtube.com/watch?v=UJy170pAXGw

Цитата:
Представляет из себя окно. Хочу сделать устройство с выводами, при замыкании которых, программка пишет: "Вы замкнули вывод 1" или "ЗАЖАЛИ кнопку №1". Реакция должна быть на замыкание и размыкание контактов. Должно иметься хотя бы 5*2=10 таких выводов, а лучше больше. Конечно же конструкцию я придумаю. Работать хочу через USB, ибо ноут.
да, забыл упомянуть, есть не только конверторы интерфейса USB в последовательный интерфейс, но и параллельный, на которых делают всяческие эмуляторы LPT (по подобию моей поделки выше на сдвиговом регистре) - PL2305 или CH-341.


p.s.: на ардуине не настаиваю, можно и ПЛИС взять и использовать ее через конвертор интерфейсов USB/UART TTL (FTDI, PL-23XX, CP-21XX и т.д.). Про одноплатник расперри (она же малинка) уже сказал, есть еще куби-боард, но стоить будет еще дороже. Есть и всякие демо-борды на основе STM32, но как по мне в отличие от тех же AVR-ок старт для "нежелезячника" будет непрозрачен.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation

Последний раз редактировалось raxp; 07.01.2014 в 06:39.
raxp вне форума Ответить с цитированием
Старый 07.01.2014, 06:40   #3
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

Не влезло. Продолжение...

p.p.s.: вы думаете управление компьютером исчерпывается одним лишь USB/блютуз/Wi-Fi? Отнюдь. Сигнал можно заводить через аудиокарту (микрофонный и линейный вход) и кстати, выводить через нее (линейный выход). Да-да, звуком. Как? Импульсно-частотным кодированием, частотным и двух-частотным. Пример тому тоновые кодеры-декодеры LM567 и DTMF на всяческих аналогах BЖ18. Программно, на верхнем уровне, делать FFT (БПФ) ...для этого есть кроссплатформенная FFTW, раз вас Линукся интересуют.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 08.01.2014, 17:16   #4
_PROGRAMM_
Участник клуба
 
Аватар для _PROGRAMM_
 
Регистрация: 30.07.2009
Сообщений: 1,601
По умолчанию

Спасибо. Пока изучаю. Отпишусь.

В мире нет вечных двигателей, зато есть вечные тормоза...

Блог
_PROGRAMM_ вне форума Ответить с цитированием
Старый 09.01.2014, 01:07   #5
_PROGRAMM_
Участник клуба
 
Аватар для _PROGRAMM_
 
Регистрация: 30.07.2009
Сообщений: 1,601
По умолчанию

Таак. Возник вопрос. Что покупать? Почему именно arduino nano, а не uno? Одного arduino мало ведь будет, его нужно как-то проверить/использовать. Не управлять же 220 через реле, что бы проверить контакт В связи с этим вопрос: может что-то из такого + arduino брать?

В мире нет вечных двигателей, зато есть вечные тормоза...

Блог
_PROGRAMM_ вне форума Ответить с цитированием
Старый 09.01.2014, 05:10   #6
Vad33
Участник клуба
 
Аватар для Vad33
 
Регистрация: 24.07.2009
Сообщений: 638
По умолчанию

Цитата:
Сообщение от _PROGRAMM_ Посмотреть сообщение
Таак. Возник вопрос. Что покупать? Почему именно arduino nano, а не uno? Одного arduino мало ведь будет, его нужно как-то проверить/использовать. Не управлять же 220 через реле, что бы проверить контакт В связи с этим вопрос: может что-то из такого + arduino брать?
Nano меньше по размерам и дешевле чем Uno, хотя это на любителя.
Почему одного мало будет?
У обычного Nano/Uno на контроллере ATmega168/ATmega168:
Цифровые Входы/Выходы - 14
(6 из которых могут использоваться как выходы ШИМ)
Аналоговые входы - 6

Есть еще расширители количества
входов/выходов. Но если не охота с этим возиться есть еще
Arduino Mega 2560
Цифровые Входы/Выходы - 54
(14 из которых могут работат также как выходы ШИМ)
Аналоговые входы - 16

http://www.arduino.ru/

Если средства неограниченны, то можно взять сразу и много
например: http://mysku.ru/blog/buyincoins/21006.html
Сейчас такого добра - завались.

Аrduino здесь как буфер между компьютером
и конечной переферией, потому как выходы ATmega
держат только до 40 ma (т.е. макс. светодиод через резистор
напрямую к выходу) ну или простые кнопки.

Если нужно что то мощнее, то Гугль в помощь.
http://www.ebay.com/sch/i.html?_nkw=arduino+relay
** Удача терпелива. **
Vad3333@inbox.ru
Vad33 вне форума Ответить с цитированием
Старый 09.01.2014, 07:57   #7
Simply-Art
Программист и
Участник клуба
 
Аватар для Simply-Art
 
Регистрация: 29.10.2006
Сообщений: 1,265
По умолчанию

Мне кажется для ваших целей будет лучше использовать Teensy. Плата не больше флэшки, дополнительного питания не надо. Программируется и может быть опознана как различные устройства.
Simply-Art вне форума Ответить с цитированием
Старый 09.01.2014, 09:07   #8
Vad33
Участник клуба
 
Аватар для Vad33
 
Регистрация: 24.07.2009
Сообщений: 638
По умолчанию

Цитата:
Сообщение от Simply-Art Посмотреть сообщение
Мне кажется для ваших целей будет лучше использовать Teensy. Плата не больше флэшки, дополнительного питания не надо. Программируется и может быть опознана как различные устройства.
Дьявол прячется в мелочах...

Arduino UNO и Nano задают стандарт размеров и расположения контактов
у дополнительных плат расширения, которые можно соединять друг с
другом, как бутерброд и сразу получать доп. функционал.

У Teensy, как я понял такого стандарта нет.
И немногие сторонние разработчики будут делать доп платы под такой
формат.

Кроме этого, Teensy ничем не лучше Arduino, фактически - это то же самое,
только это тупиковая ветка для единичных проектов.
** Удача терпелива. **
Vad3333@inbox.ru

Последний раз редактировалось Vad33; 09.01.2014 в 09:09.
Vad33 вне форума Ответить с цитированием
Старый 09.01.2014, 14:03   #9
Simply-Art
Программист и
Участник клуба
 
Аватар для Simply-Art
 
Регистрация: 29.10.2006
Сообщений: 1,265
По умолчанию

Цитата:
Сообщение от Vad33 Посмотреть сообщение
Дьявол прячется в мелочах...

Arduino UNO и Nano задают стандарт размеров и расположения контактов
у дополнительных плат расширения, которые можно соединять друг с
другом, как бутерброд и сразу получать доп. функционал.

У Teensy, как я понял такого стандарта нет.
Teensy проект такой же как ArduinoMicro ну или ArduinoBoardNano, причем тут UNO?
Если хочет начать просто с малого, ваш выбор. Да в популярности данный проект уступает, но в нем так же есть возможности расширения и прочее.
Нравиться arduino используйте её.
Да и вроде бы, teensy совместимо с arduino.

Последний раз редактировалось Simply-Art; 09.01.2014 в 14:09.
Simply-Art вне форума Ответить с цитированием
Старый 09.01.2014, 14:17   #10
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

Цитата:
Таак. Возник вопрос. Что покупать? Почему именно arduino nano, а не uno?
чтобы вам меньше платить.

Цитата:
Одного arduino мало ведь будет,
для ваших, описанных в теме, задач хватит с головой.

Цитата:
его нужно как-то проверить/использовать. Не управлять же 220 через реле, что бы проверить контакт
вешаете светодиоды, реле, платы расширения, датчики, моторы и проверяете.

Надо ~220, используем ключ с реле или прямое управление оптореле (твердотельные реле).

Цитата:
В связи с этим вопрос: может что-то из такого + arduino брать?
себе я брал мегу 2560 (на видео видите) и нано (тоже видите), нано я брал для установки на машинку, мегу для домашней автоматизации. Просто у меги больше периферии, тех же UART-ов. Однако на любых дискретных I/O с успехом эмулируется Soft UART, так что это не проблема.

На ARDUINO свет клином не сошелся, ее не только на AVR реализуют, но и на интел, есть ардуино-платы с линуксом на борту. Кроме того, не нравится буратина, никто не мешает работать просто как с обычным микроконтроллером. Тут удобство готовой платы.

p.s.: наберите в гугле "Arduino: теория и практика", первая же тема, почитайте
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation

Последний раз редактировалось raxp; 09.01.2014 в 14:20.
raxp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Очки для работы за компьютером. spamer Свободное общение 9 31.12.2010 10:07
Создать свое меню для макросов nikolai_P Microsoft Office Excel 13 23.04.2009 09:35
PopupMenu для формы свое, а для Edit - стандартное Виндоус yaver Общие вопросы Delphi 4 10.11.2008 15:03
свое окно ввода Login и Password для ADOConnection1 antoni БД в Delphi 5 03.11.2008 15:05
Программа для манипулирования компьютером Palan Софт 1 31.01.2008 08:31