Канал радиоуправления. Мыши - рулят ?

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

Проект - производная от проекта лампы RGB.

Правильно leshak сказал - программисты - ленивый народ, ибо весь прогресс от лени....

Управление лампой прошло стадии:

- две кнопки и два переменника

- кнопка и два энкодера

- клавиатура ( четыре кнопки )

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

Суть проекта: использовать комплект оптической беспроводной ( радиоканал ) мыши.

Таблетку-приёмник ( USB ) подружить с Ардуиной, а на мыше для лампы RGB достаточно использовть кноки L, R и колёсика, ну - и колёсико. Ночевать она может под подушкой или в руке. Удобно....

И механических работ - НЕТ....

Вопрос: получится ли "подружить" таблетку-приёмник ( USB ) с Ардуиной ?

Для такого мнемонического манипулятора-пульта, мне кажется, много применений.

Например, заменить огромный пульт TV одной мышью - канал+ , канал- , громкость+ , громкость- .

"Ленивый пульт", короче, - минимальный. И многое другое...

Спасибо, особенно тем - кто направит куды бечь.... Пока попытаюсь изучить интерфейс мышиный....

leshak
Offline
Зарегистрирован: 29.09.2011

 USB-host шилд покупаем и ищем примеры как подключать USB-мышку к ардуине. А радио она или нет - дело десятое. Для ардуины это "мышка воткнутая в USB" (как и обычный комп не знает что это беспроводная мышка).

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

 А программным способом ? С шилдом - дороговатая лампа получится :( ......

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

Предлагаю по-другому. Многие радиомышки (у меня такая) могут себя позиционировать и как USB и как PS/2. Я провелэксперимент - радиоудлиннитель воткнул через мышиный переходник в PS/2 - и мышь заработала как пс-ная!!! Так что можно взять переходник, подключиться к 2-м дискретным пинам, скачать библу PS/2 - и усё! 

Купил USB-разъемчик, но еще не распаял. Буду мышей мучать на предмет "сделать из мыши энкодер"

P.S. К администрации форума! У меня твердый знак постоянно изчезает и меняется на тег "стронг" - толстые буквы. Приходится переключаться на "источник" и править. Некрасиво как-то! 

Alexander
Offline
Зарегистрирован: 25.04.2010

 Тестъ, тестъ, подъезд

А какой у Вас браузер? У себя ни в Firefox, ни в IE, ни в хроме не смог повторить.

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

Подезд

У меня опера, из фокса почему-то ответы не идут (пишет, что в поле коментария ничего нет) - на работе, дома фокс работает. Думаю. 

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

AlexFisher пишет:

Предлагаю по-другому. Многие радиомышки (у меня такая) могут себя позиционировать и как USB и как PS/2. Я провелэксперимент - радиоудлиннитель воткнул через мышиный переходник в PS/2 - и мышь заработала как пс-ная!!! Так что можно взять переходник, подключиться к 2-м дискретным пинам, скачать библу PS/2 - и усё! 

Этот вариант я и хотел бы реализовать... Статья про мышей - www.ixbt.com/peripheral/interface-p1-mices.shtml

maksim
Offline
Зарегистрирован: 12.02.2012

 А вот я где то видел, что как раз так и не получится, нужна мышь именно PS/2, так как хоть и подключается через переходник USB-PS/2, но работает все равно по интерфейсу USB. Если подключить USB мышь через USB-PS/2 к материнке, у которой вообще нет USB, то мышь работать не будет.

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

AlexFisher пишет:

...............................подключиться к 2-м дискретным пинам, скачать библу PS/2 - и усё!

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

 ........потерял 40 строк текста, пока цитировал :( - всё сначала........

При чём здесь материнка и переходники ?

Имеется:

- мышь с проводом или приёмник радиомыши ( итого - + , - , Data , Clock )

- Ардуино ( нуны её два Пина всего )

- различные описания протокола

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012
SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

 две библиотеки - правда, в одной пришлось поменять ВПрограмм.Х на Ардуино.Х, а во второй - .............Х - тоже на Ардуино.Х

.....спецы, я думаю, лучше миня знают - про что рассказываю ( скетчи выдавали кучу ошибок до этой замены ).

На основе этих библиотек - два работающих скетча ( без подсоединения мышей !!!!!! ), КАК они работают - узнаю после потрошения и подсоединения мышей..... Заведомо - USB и PS/2......

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

 Первый:

//--------------------------------------------------------------------------------
#include <PS2Mouse.h>
#define MouseData 5
#define MouseClock 6
PS2Mouse MouseR( MouseClock , MouseData , STREAM ) ;
//--------------------------------------------------------------------------------
void setup()
{
//  Serial.begin( 38400 ) ;
  MouseR.initialize() ;
}
//--------------------------------------------------------------------------------
void loop()
{
  int Data[ 2 ] ;
  MouseR.report( Data ) ;
//  Serial.print( Data[ 0 ] ) ; // Status Byte
//  Serial.print( " : " ) ;
//  Serial.print( Data[ 1 ] ) ; // X Movement Data
//  Serial.print( " , " ) ;
//  Serial.print( Data[ 2 ] ) ; // Y Movement Data
//  Serial.println() ;
}
//--------------------------------------------------------------------------------

 

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

 Второй:

#include <ps2.h>
PS2 mouse(6, 5);
void mouse_init()
{
  mouse.write(0xff);  // reset
  mouse.read();  // ack byte
  mouse.read();  // blank */
  mouse.read();  // blank */
  mouse.write(0xf0);  // remote mode
  mouse.read();  // ack
  delayMicroseconds(100);
}
void setup()
{
//  Serial.begin(9600);
  mouse_init();
}
void loop()
{
  char mstat;
  char mx;
  char my;
  mouse.write(0xeb);  // give me data!
  mouse.read();      // ignore ack
  mstat = mouse.read();
  mx = mouse.read();
  my = mouse.read();
//  Serial.print(mstat, BIN);
//  Serial.print("\tX=");
//  Serial.print(mx, DEC);
//  Serial.print("\tY=");
//  Serial.print(my, DEC);
//  Serial.println();
//  delay(20);  /* twiddle */
}

 

maksim
Offline
Зарегистрирован: 12.02.2012

SU-27-16 пишет:

 ........потерял 40 строк текста, пока цитировал :( - всё сначала........

При чём здесь материнка и переходники ?

Имеется:

- мышь с проводом или приёмник радиомыши ( итого - + , - , Data , Clock )

- Ардуино ( нуны её два Пина всего )

- различные описания протокола

А при том...  без USB-хоста вы не подружите USB-приемник с дуиной. Если только вы не являетесь обладателем беспроводной PS/2 мыши.

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

Мыша не может же знать - кто ей управляет и кому она пересылает данные ?

Если соблюдать протокол обмена - она ДОЛЖНА работать ! .....хочется надеяться :)

maksim
Offline
Зарегистрирован: 12.02.2012

 Еще раз обьясняю, работать будет только PS/2 мышь, через переходник USB-PS/2 у вас ничего не заработает. А значет если вы просто отрежете провод у USB мыши, то она не будет работать как PS/2.

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

maksim пишет:

 

................... Если только вы не являетесь обладателем беспроводной PS/2 мыши.

А разве устройства не равнозначны по функции - если рассматривать начало и конец цепочек :

- мышь - кабель - разъём ( 4 провода )

- мышь - передатчик - эфир - приёмник - разъём ( 4 провода )

???????????

maksim
Offline
Зарегистрирован: 12.02.2012

 Дело не в цепочке, а в разъеме (4 проводах), лично я беспроводную PS/2 мышь видел только ИК и никогда не видел беспроводной PS/2 - 2.4Ггц мыши.

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

 Мне кажется, что радиоприёмник-передатчик только переносит сигналы Data и Clock на две радионесущих в режиме... да хоть и амплМодуляции..... Неужели Пр-Пер вносит ещё и изменения в протокол обмена ?!!!!!!!!! 

maksim
Offline
Зарегистрирован: 12.02.2012

 Вам так только кажется, радиоприёмник и передатчик могут работать как угодно - это не важно, важно то что на выходе приемника. Вы понимаете что USB и PS/2 разные интерфейсы? И вы не сможете работать с USB так же как и с PS/2.

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

 Разве Ардуина не сможет убедить мышь ( любую ) по 2 пинам - что она должна отсылать данные ?

Какая разница что управляет марионеткой ? Рука человека или роботоРука через Ардуину от руки человека ?

Спасибо за мысли советы ! ....пойду убеждаться путём потрошения мышей :) , а то leshak нас почистит :)

maksim
Offline
Зарегистрирован: 12.02.2012

SU-27-16 пишет:

 Разве Ардуина не сможет убедить мышь ( любую ) по 2 пинам - что она должна отсылать данные ?

Нет не сможет. USB-мышь только с USB-хостом и никак иначе.

leshak
Offline
Зарегистрирован: 29.09.2011

 Вы сами сказали - протоколы.

Вот USB и PS/2 - разные протоколы.

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

Переходник - USB->PS/2, если я правильно понял Максима, не превращает USB-протокол в PS/2-протокол. Он только меняет "форму разъема", но суть передаваемых данных - остаестся USB-шной. Соответсвенно ардуино-либы для PS/2-протокола - нифига понять не смогут.

А когда вы втыкаете мышку через переходник в комп, то он распознает что "в PS/2 разъем, на самом деле, воткнули USB-девайс" и работает с ней, все-таки, как с USB (грубо говоря подключает внутри свой USB-хост шилд к PS/2 разъему). А вот если материнка не имеет USB-вообще - то такую мышку она понять уже не сможет (как и ардуина). Даже через переходник. Есть потребуется "настоящая PS/2 мыша").

P.S. Если я правильно понял что вы имелли ввиду под Пр-Пер то ответ - не вносит изменений. И в этом главная печаль.

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

 Понимаю.... Но ! Это со стороны хоста есть разница....

Со стороны мыши - есть Data, Clock и TTL-уровни сигналов.... Какая мыше-то разница ?

Можно же крутить серву посредством таймера 555 с регулировкой скважности потенциометром ? Да, и серва этого не заметит...

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

leshak пишет:

.....................(или пытаться сделать програмный USB).

Ближе к теме..... Ардуина не сможет по 2 пинам притвориться USB-шилдом ?

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

 Я так понимаю, что у миня осталась всё-таки лазейка для реализации проекта "Мышь=Джойстик=Клавиатура=Манипулятор" ?

Применять тока воистину мышь PS/2 ?

leshak
Offline
Зарегистрирован: 29.09.2011

SU-27-16 пишет:

Со стороны мыши - есть Data, Clock и TTL-уровни сигналов.... Какая мыше-то разница ?

Да никакой. В конечном итоге вообще все сводится к обмену электронами. Так что теперь можно подключать что угодно к чему угодно? Лишь бы количество проводов и вольтаж совпадал? Такова ваша логика?

Вы читаете что вам пишут? Осмысливать пытаетесь? Про то что протоколы разные осознали? 

Есть Data.OK. А что по этой дате передается? Как кодируется 0, как кодируется 1? Хорошо, приняли вы какой-то набор битов, а что он значит?

Вообщем-то, теоретически, - можно и без шилда. Если вы сможете этими своими проводами/ногами дергать-читать в соотвесвии со стандартом USB.

Хотите читать USB-данные скетчами для PS/2? OK. Вам два человека сказали - не получится. Объяснили.  Не верите (а зачем спрашивали тогда?) - нормально. Можем и ошибатся. Берите и пробуйте. Не нужно нас убеждать "теоретическими выкладками". Соберите - покажите. 

 

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

SU-27-16 пишет:

Со стороны мыши - есть Data, Clock и TTL-уровни сигналов.... Какая мыше-то разница ?

Для USB-мыши получается - ЕСТЬ.... в USB - не только TTL-уровни.... Ардуина не сможет их подыграть....

Я правильно понял "физическую" причину ?

Спасибо всем !

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

 Спасибо leshak ! Я не спорю, моя хочет понять.... Просто Вы и вы - говорите с начинающим ! Будем учиться....

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

  Состояния «0» и «1» определяются по разности потенциалов между линиями более 0,2 В и при условии, что на одной из линий (D− в случае diff0 и D+ при diff1) потенциал относительно GND выше 2,8 В. Дифференциальный способ передачи является основным, но не единственным (например, при инициализации устройство сообщает хосту о режиме, поддерживаемом устройством (англ. Full-Speed или англ. Low-Speed), подтягиванием одной из линий данных к V_BUS через резистор 1,5 кОм (D− для режима Low-Speed и D+ для режимов Full-Speed и High-Speed).

.....наверное, ЭТО мне все пытались объяснить ?

Был бы статус у каждого форумчанина - тогда бы сэнсэй leshak лоху SU-27 сразу бы знал, как объяснить ошибку в размышлениях....

Спасибо ! Извините за занудство.....

leshak
Offline
Зарегистрирован: 29.09.2011

SU-27-16 пишет:

тогда бы сэнсэй leshak лоху SU-27

Видимо мне стоит извинится. Был излешне резок/грубоват. Прошу прощения.

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

 Принято !

....хотя я и не ожидал ! Сам дурак же !

Критика: на некоторые вопросы так и не ответили...... :( МИНЕ - выжные.... Не чат здесЯ - понимаю....

Спасибо за наукИ !!!!!

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

 Препарировал ТРИ мыши....Все оказались USB.... :(

Зато имею три платки с энкодером и тремя кнопками ! Светики и фотоЧип - через полгода ломать буду....

Итого:

- в моём проекте хвостатая мыша PS/2 будет работать ?

- радиоМыша PS/2 - существует ?

Спасибо !

leshak
Offline
Зарегистрирован: 29.09.2011

SU-27-16 пишет:

Итого:

- в моём проекте хвостатая мыша PS/2 будет работать ?

- радиоМыша PS/2 - существует ?

Перечитайте ветку не торопясь. На эти вопросы уже отвечали. 

(Как и на другие, про которые вы жалуетесь, "остались без ответа".

 

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

Ну прямо "горячая тема" :)

Добавлю. Есть мыши USB одностандартные (эти не работают через переходник), есть двухстандартные, в которых чип сам определяет протокол и включается в рехим PS/2 или USB соответственно. Я купил USB мышку за 99р и она заработала через переходник! Мне повезло :)

maksim
Offline
Зарегистрирован: 12.02.2012

 Мышь наврядли умеет определять интерфейс, еще раз повторюсь интерфейс скорее всего определяет материнка. Вот например статья, которая вообще не касается мыши, там речь идет о флешке, которую подключают к PS/2. То есть протокол USB работает через PS/2 разъем.
Так вот ответе мне на такой вопрос - флешки тоже имеют "двойной стандарт" ???
 

maksim
Offline
Зарегистрирован: 12.02.2012

 Поискав инфу по этому вопросу однозначного ответа найти не смог, так что... вопрос остается открытым, но по логике вещей мышь работает так же как и флешка в выше указанной статье.

leshak
Offline
Зарегистрирован: 29.09.2011

maksim пишет:

 Поискав инфу по этому вопросу однозначного ответа найти не смог, так что... вопрос остается открытым, но по логике вещей мышь работает так же как и флешка в выше указанной статье.

Честно говоря я тоже когда-то натыкался что, будет ли мышь работать через переходник - зависит от самой мыши.

А возможно что "и так и так верно". Во времена "перехода" и производители материнок и производители мышей могли озаботится "дуальностью". 

Но в любому случа, думаю если радио-мышка заработает в режиме PS/2 - это будет фантастической удачей. Причем относящийся конретно к этой модели мыши.

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

 Спасибо за советы !

Пока сделаю мышь с хвостом из 7 проводов. + , - , Btn1 , Btn2 , Btn3 , EncA, EncB.

Nprasolov
Offline
Зарегистрирован: 13.07.2011

я конечно дикий нуб. но впихнуть свои радиомодули в мышь не проще?

leshak
Offline
Зарегистрирован: 29.09.2011

Nprasolov пишет:

я конечно дикий нуб. но впихнуть свои радиомодули в мышь не проще?

Ну, в какой-то мере вы наверное правы. Можно вообще взять радиомодуль с небольшим пультиком готовым, но...

А на чем же учится? :)

К тому же. Частенько мыши в дохлом/полудохлом виде есть в неограниченных количествах в любом оффисе. Поэтому освоить их как "источник запчастей/корпусов и проч." - не самое последнее дело (я свой первый девайс как раз в корпус от мыши упихивал).

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

leshak пишет:

А на чем же учится? :)

И про вживление радиомодуля думал, и про радиопультик.... И ИК-пульт надо обкатать....

МатЧасть нано учить !!!!

 

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

leshak пишет:

maksim пишет:

 Поискав инфу по этому вопросу однозначного ответа найти не смог, так что... вопрос остается открытым, но по логике вещей мышь работает так же как и флешка в выше указанной статье.

Честно говоря я тоже когда-то натыкался что, будет ли мышь работать через переходник - зависит от самой мыши.

А возможно что "и так и так верно". Во времена "перехода" и производители материнок и производители мышей могли озаботится "дуальностью". 

Но в любому случа, думаю если радио-мышка заработает в режиме PS/2 - это будет фантастической удачей. Причем относящийся конретно к этой модели мыши.

Вот несколько ссылок по теме:

http://nowa.cc/archive/index.php/t-116495.html

http://monitor.espec.ws/section5/topic47140.html

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