Администрация форума не несёт ответственности за достоверность информации и оставляет за собой право редактировать или в особых случаях даже удалять посты без предупреждения. Спасибо за понимание.

Программирование ATMEL в BASCOM.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



мышь+МК

Сообщений 1 страница 23 из 23

1

Пытался подключать мышку РS/2 к МК 8 мучатся неделю перечитал кучу литературы, доигрался что мышь погибла , разобрал и на плате (мыши) обнаружил надписи D+ и D- и как-то закралась мысль, что мышки нынче с разъемом  РS/2 имеют протокол передачи USB (там я видел такие надписи на выходах)
Помогите
Хочу подключить мышку чтобы управлять двумя сервоприводами
зачем? - дома камера во дворе поставил два сервопривода вот и хочу глазеть по сторонам (джойстик не хочу его надо делать кнопки не модно -хотя сейчас реализовано на кнопках)
мне главное кодик как от этого хвостатого данные принимать , а остальное я напишу

0

2

1 USB и PS/2 имеют похожую аппаратную реализацию - "земля", питание +5В и два сигнальных провода. Поэтому клавиатуры и мыши USB и PS/2 собираются на одной аппаратной платформе и микроконтроллером и программой. Встречаются и двухинтерфейсные, а используемый протокол определяются при включении.
2 PS/2 похож на SPI и в интернете широко описан.

0

3

перерыл все на васкоме нет реализации: ну к примеру подключить к МК мышь и получить данные, а то есть
А - переменная  нажатие кнопки
В- перемещение влево- право
С- перемещение в вверх-вниз

0

4

Более подробно задам вопрос:
Возникла необходимость разработать дишифратор который конвертировал бы сигнал USB устройства (пакеты данных) в другой вид сигнала. Порылся в нете, устройств и переходников подключения МК к USB компа для различных целей полно, а вот на оборот, чтобы USB-устройство без компа использовалось не встретил.
Если подробнее, то нужно управлять серводвигателем с помощью компьютерной мышки. Т.е. информация о перемещении мыши конвертировалась в понятные серводвигателю "шаг" и "направление"

0

5

Хост на MK создать намного сложнее чем обычного USB клиента.
Так что лучше с этим не заморачиваться, т. к. нужен МК с аппаратным модулем USB, позволяющем создать хост. Таких моделей МК довольно мало и наверное их цена кусается.

0

6

вот нашел вполне случайно видео и теперь еще больше загорелось это осуществить, судя по платке не так все сложно
http://www.youtube.com/watch?v=RkHEF6kw … re=related

0

7

С помощью обычной PS/2 мыши и библиотеки PS2MOUSE_EMULATOR наверное можно реализовать вашу задумку. Единственное НО - библиотека платная. Но если хорошо поискать... тс.ссс... я вам ничего не говорил насчёт поискать. :D

0

8

PS2MOUSE_EMULATOR нашел побывал, но данная библиотека передает на ПК, я побывал простую программку 4 кнопки с МК к ПК в PS/2 втыкаешь
и вот тебе готовая мышка (прикольно получается игрался завязал с R5 протоколом и получилась мышка из ДУ телевизора)

0

9

разбирался с  мышками по интернету и пришел к выводу:
не надо думать, что USB-мыш тупа как микки-маус  там стоит вполне умный чип, который отлично определяет, что его воткнули не в USB, а в PS/2, и начинает работать как обычная мышка  поэтому конечно, никакой процедуры нет. и если использовать USB-мышку именно так - то и  мышку вполне реально подоткнуть к МК

0

10

да о чипах начитался и в голове полная каша, ну вот из заметок о мышах

В результате рысканий по интернету, сложилось впечатление, что PS/2 очень странно поддерживаемый протокол: кто, что хочет, тот так и дополняет его. Может я и не прав.

Самым большим откровением для меня было то, что мыши надо разрешить работать , т.е. послать команду "Enable". Другая важная информация, что интерфейс двунаправленный, т.е. и "Data" и "Clock" могут передаваться в двух направлениях. Обе линии подпитываются от +5В через 10 кОм. Таким образом если никто не шлет ноль, то на линии единица. В противном случае естественно ноль, но как видно, никто никого сломать при таком подключении не может, хотя прерывать - легко. Что host и делает, если не хочет ждать пока мышь наговорится.

Процедура инициализации мыши выглядит примерно так:

Мышь делает себе reset (через 300..500 мс после включения) и посылает два байта (АА и 00). Это говорит машине, что мышь в порядке. Я просто пропускаю это все, потому что информация эта бесполезная.

Затем надо выставить на "Clock" ноль, подержать так 100-200 мкс и отпустить. "Clock" при этом опять станет "1".

Выставить на "Data" ноль - с него начинается любой байт посылки. Ждать так не более 10 мс. В течении этого времени мышь начнет выдавать на линию "Clock" импульсы. Как только импульс заканчивается и линия "Clock" возвращается к единице, можно менять сигнал на линии "Data". Таким образом надо послать число F4h.

После этого надо послать бит контроля четности и затем вернуть "Data" в состояние "1".

Мышь проверяет после одиннадцатого импульса (1ый бит "0", 8 бит информации, контроль четности, стоповая "1") линию "Data" и на пару сотен мкс переводит ее в состояние "0". Затем все линии становятся "1"

После такой инициализации, мышь шлет три байта информации каждый раз когда на нее каким-либо образом воздействуют: нажимают кнопки, двигают и т.д. Биты из этих байтов расписаны в описании контроллера мыши.

вот откуда я сделал такие умозаключение
из описания
HT6523
PS/2 Mouse Controller

0

11

подведя итоги исследования мишки
попробовал на клавиатуре PS\2

$regfile = "m8def.dat"                                      ' specify the used micro

$crystal = 16000000                                         ' used crystal frequency

$baud = 9600





Config Keyboard = Pind.2 , Data = Pind.3 , Keydata = Keydata

Config Int0 = Low Level
On Int0 Isr0
Enable Int0
Enable Interrupts

Dim Aktualkey As Byte


Do
Print "==========="
Print Aktualkey

Waitms 30

Loop

Isr0:
Aktualkey = Getatkbdraw()
Return
Keydata:                                                    ' needed as dummy for config keyboard

код считывается подключаю мышь тишина полная

0

12

и так я понимаю по данной теме тупик, реализовать мышь+МК на  Bascom-AVR не возможно

0

13

Наверное просто никто не делал мышку в баскоме. Но это не значит что это не возможно.

0

14

texnuk, я планирую это сделать, но не ранее, чем через месяц-два - нет времени

+1

15

Когда открылась эта тема, заинтересовался и посмотрел на протокол работы. Вполне реализуемо, хоть достаточно объемно. Если бы придумал, куда ее использовать, то занялся бы. Тогда же возникло такое соображение - ну сделаю ввод с мыши, а как потом на графическом индикаторе ее отображать и использовать для управления это еще на порядок сложнее, чем просто энкоденр и кнопки.  Другой полезный способ утилизации мышей пока не придамал. Да, мышь просто отличный датчик перемещения. очень дешев, бесконтактный, например, можно считать расход туалетной бумаги. Но имеет ряд недостатков - неабсолютный (не годится за наблюдение за деформацией и очень медленными процессами без установки в исходное положение), с другой стороны, он медленный (вибрацию уже не берет). Кстати вот хорошая ссылка -  http://www.programmersclub.ru/Исследова … для-мышки/  .

0

16

Пропала ссылка, повторяю: programmersclub.ru/Исследование-протокола-ps2-для-мышки/. Если есть идеи - пишите.

0

17

Александр Д.
заранее спасибо, а не можете подсказать чего начать, хочу начать сам, а Вы уже будите рулить в нужном направлении

0

18

а вот как отправить код F4, на эти порта , а потом считывать с них данные, с клавой я пробовал да работает

0

19

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

0

20

проблема одна: нет времени ни на что, акромя работы :(

0

21

будем ждать, спасибо

0

22

Посмотри "Радио" 4 номер 2009 год стр.27.
Где-то у меня была инструкция, шла вместе с мышью,
там было подробное описание её протокола.
Но это было давно...

0

23

В догонку --

0