PDA

Просмотр полной версии : Light Pen



ALKO
07.04.2010, 10:40
Где можно взять простейшую схему светового пера?
Нашёл описание лайтпэна, конэктящегося к порту джоя, но написано на польском (или финском) ни---фига не понятно, и вроде как там нужно наличие Ау-чипа.

null_device
07.04.2010, 10:58
Одна микруха вся схема светового пера (без учета обвязки и фотоприемника). На VT Персональный компьютер ZX-Spectrum. периферия своими руками (http://trd.speccy.cz/book/PERIFER.ZIP) в главе light pen есть схема.
----

А его хоть какой-то софт поддерживает?
SYSTEM.zip (http://zx.pk.ru/attachment.php?attachmentid=16428&d=1267581311)

KALDYH
07.04.2010, 12:22
А его хоть какой-то софт поддерживает?

проф
07.04.2010, 12:59
В древних книгах была одна программа упомянута. Если сами не вспомните через недельку в закромах пороюсь.

Petr0v
11.04.2010, 12:03
В древних книгах была одна программа упомянута. Если сами не вспомните через недельку в закромах пороюсь.
В книгах ПЕРЕФЕРИЯ СВОИМИ РУКАМИ и ИНТЕРФЕЙСЫ ПЕРСОНАЛЬНОГО КОМПЬЮТЕРА ZX-SPECTRUM, одна и та же статья и схема, там же и программы... Но вот принцип работы совсем не описан, возникает вопрос, а будет ли такая "указка" работать на LCD мониторе? :v2_conf2:

Нашёл описание лайтпэна, конэктящегося к порту джоя, но написано на польском (или финском) ни---фига не понятно, и вроде как там нужно наличие Ау-чипа.
Интересно глянуть, есть возможность отсканить?

ALKO
11.04.2010, 14:23
Интересно глянуть, есть возможность отсканить?
источник находится в инэте,тока ссылку не запоминал.

BYTEMAN
12.04.2010, 20:03
Программы для работы со всетовым пером есть на WoS. Даже есть такая, как в книжке.

Slesar
13.04.2010, 15:11
Перо не будет работать с ЖК-шкой, у них нет строчной развертки. Положение пера определяется по разности времени включения фотодиода в начале кадра и его фактического срабатывания, когда развертка дойдет до него.

VELESOFT
13.04.2010, 19:03
http://translate.google.com/translate?hl=cs&sl=cs&tl=ru&u=http%3A%2F%2Fvelesoft.speccy.cz%2Flightpen-cz.htm

ALKO
13.04.2010, 22:01
О да,оно самое!

---------- Post added at 22:01 ---------- Previous post was at 21:56 ----------

Довольно хитро описано про 48к.
каким же образом комп будет знать положение луча на экране при считывании с ЕАR разъёма?
он только увидит свет,незная откуда.

null_device
14.04.2010, 05:12
каким же образом комп будет знать положение луча на экране

А, каким образом делаются мультиколоры?!:v2_conf2:


Положение пера определяется по разности времени включения фотодиода в начале кадра и его фактического срабатывания

---------- Post added at 08:12 ---------- Previous post was at 08:11 ----------

Вероятно, перо будет работать на разных моделях поразному (даже после калибровки).

ALKO
14.04.2010, 21:32
А, каким образом делаются мультиколоры?!
ну про дополнителную хардвар-доработку там не указывается.
толко подключение к порту 254dec и на этом всё.

psb
14.04.2010, 21:39
по ходу это то перо, по поводу которого я негодовал... там просто фотодатчик, ни к чему не привязанный. при подносе его к экрану и нажатию какой-либо кнопки происходит... ПИПЕЦ! с экрана все сохраняется и начинается поиск места, куда приложен датчик. типа, заполнили половину экрана белым, половину черным. сигнал есть? значит мы на белой половине, делим ее на 2 части и повторяем. вот такое перо.

ALKO
14.04.2010, 21:54
Клёвое решение.
вопрос в том как "быстро" обрабатывается сигнал.

psb
14.04.2010, 22:33
так легко.
пишешь прогу:
1. сохранить экран
2. еи:хальт
3. быстро (хоть через стек) заполняешь экран (атрибутами) - половина черная, половина белая.
4. еи:хальт
5. луч вверху, экран светится, опрашиваешь датчик (1 раза хватит). если попал на светлую половину, то делишь ее опять на светлую и темную, а темную оставляешь. опять все делаешь быстро, быстрее чем луч рисует экран. если попал на темную, ее красишь наполовину, а светлую всю делаешь черной.
6. еи:хальт
7. луч опять вверху, экран отрисован, опрашиваешь датчик, .....
8. ......

повторяешь пока не вычислишь знакоместо. для первого раза (чисто заценить) достаточно.

Х. восстанавливаешь то, что было на экране.


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

BYTEMAN
15.04.2010, 10:02
то световое перо, что в этой книге, полное Г.... работает по такому принципу, что описал psb. Даже не знаю, были ли под спек перья, которые отлавливали развёртку... Хотя, возможно, что и были. Например, посмотрите софт для пера Dopler. Интересно найти для него схему...

Slesar
15.04.2010, 11:20
Может, я туплю, но для отслеживания развертки надо сделать следующее:
1. Взять пиксельклок и кадровый синхроимпульс.
2. Взять счетчик.
3. По кадровому импульсу обнулять счетчик, по пиксельклоку - считать импульсы, пока не сработает датчик
4. Перед обнулением считывать значение счетчика, делить нацело на количество пикселей в строке.
5. Из этой же операции брать остаток от деления. - это координата Х.
6. Если остаток ноль, то (4)-координата У, иначе прибавить к ней 1, и все равно У.

---------- Post added at 11:20 ---------- Previous post was at 11:02 ----------

А можно и аппаратно:
1. Взять пиксельклок, кадровую и строчную синхронизацию.
2.Взять 2 счетчика - один будет считать строчные импульсы, другой по ним обнуляться, а считать пиксельклок.
3. при срабатывании фотоэлемента считываем оба счетчика, получаем строку и пиксель.
4. по кадровому импульсу обнуляем, повторяем.

psb
15.04.2010, 11:59
А можно и аппаратно:
эээ... а то, что, программно было?:)))))

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

Slesar
15.04.2010, 13:12
С делением - таки да, программно. Может, даже и счетчик можно программно сделать. На датчик надо поставить пороговый элемент, можно компаратор, чтоб подгонять уровень, и надеть на него резинку от лишнего света.

psb
15.04.2010, 15:23
С делением - таки да, программно.
вот даже если тупо сделать INIR (или кучу INI) из порта, то точность будет +- лапоть. тут только схему менять. т.е. счетчики аппаратные.

jerri
15.04.2010, 15:25
цеж световой пистолет :)
подносишь к экрану - клоцаешь
на экран кидаешь аттрибуты
там куда стрелять 0 - все светлое
остальное - темное
в следующем фрейме восстанавливаешь аттрибуты :)
так же сделано на Денди :)

Slesar
15.04.2010, 15:49
на 720х576 будет 2 десятибитных счетчика. Как их можно скинуть в порт? Последовательно прокатит?

---------- Post added at 15:49 ---------- Previous post was at 15:44 ----------

jerri, на Денди артефакты позиционирования маскируются эффектом "Пыщь - пыщь!" в игре. На спектруме уж очень мелькать будет. Ето надо десяток кадров с атрибутами на кадр с изображением. Кроме того, неудобно, если не невозможно сделать, чтоб пойнтер следовал за пером.

psb
15.04.2010, 16:06
Последовательно прокатит?
конеш прокатит, но это уже другая схема. думаю, щас нет проблемы сделать нормальное перо на мк. кому тока это надо?:)

Slesar
15.04.2010, 16:14
Приделать мк со своим ядром, конечно, можно, но, имхо, лишнее для схемы на пять корпусов. А последовательно можно скинуть через пару своих регистров. Интересно только, не будет ли это слишком медленно.

psb
15.04.2010, 17:02
ну конечно, 5 корпусов это лучше чем 1 мк:) ну ладно, мк+еще 1 корпус про запас.

Slesar
15.04.2010, 17:16
Не, я просто про то, что там брать из мк? 2 регистра и 2 счетчика? При большой охоте их можно и из 315-х сгородить.

psb
15.04.2010, 18:25
что там брать из мк?
да, сделать измеритель времени до луча, компаратор там же, интерфейс (посл/паралл.) - там же. схема меньше получается, можно все более-менее гибко программно подогнать. имхо это того стоит. а так, если извращаться с подключением через существующие порты, то хватит одного маааленького контроллерчика.

jerri
15.04.2010, 22:19
jerri, на Денди артефакты позиционирования маскируются эффектом "Пыщь - пыщь!" в игре. На спектруме уж очень мелькать будет. Ето надо десяток кадров с атрибутами на кадр с изображением. Кроме того, неудобно, если не невозможно сделать, чтоб пойнтер следовал за пером.

ненене

есть кадр с местностью и обьектом

когда жмешь на выстрел

на экран на 1 фрейм швыряется картинка с чорным фоном #00 и высветленным пятном атрибутов #3f там где обьект

хватаем данные с пера

восстанавливаем исходные аттрибуты

рисуем ржушюю собаку

Profit! :)

а рубить экран методом "льва в пустыне" - долго
да и перо можно увести за это время

psb
16.04.2010, 07:52
так вы определитесь, че вы хотите... узнать куда попало перо, или попало ли оно куда-то..

Slesar
16.04.2010, 09:17
высветленным пятном атрибутов #3f там где обьект
А где объект? Перо существует, чтоб на чистом фоне рисовать объекты. Никакого объекта нету. Задача - найти положение пера на пустом экране с точностью до пикселя.

Решим от противного и представим, что лев уже пойман.....

KALDYH
16.04.2010, 09:44
Что-то я сомневаюсь, что с точностью до пикселя можно. Световое перо встречалось в основном на текстовых терминалах и работало с точностью до символа.

psb
16.04.2010, 11:55
Что-то я сомневаюсь, что с точностью до пикселя можно.
почему нет? все зависит от самого пера. может оно "видит" все в районе +-3 знакоместа? тогда даже знакоместо выделить не получится.

jerri
18.04.2010, 14:52
если у вас в пере 1 фотоэлемент то на поиск блока 2*3 знакоместа уйдет 7 фремов
именно фреймов

потому как фотоэлемент берет данные с монитора а не из памяти

хотите до пикселя - нужен сенсорный экран :v2_biggr:

psb
18.04.2010, 15:29
а почему так нельзя до пикселя? будет фреймов 15, это чуть больше четверти секунды... не гуд, но это ж "из *овна и палок"...

jerri
18.04.2010, 21:21
а почему так нельзя до пикселя? будет фреймов 15, это чуть больше четверти секунды... не гуд, но это ж "из *овна и палок"...

можно конечно
ну а если рука дрогнет? :)

Slesar
18.04.2010, 22:28
Да, блин, перо определяет свое положение 50 раз в секунду. Мало, что ли?
Из овна и палок интерактивный режим не соорудишь.
Надо отслеживать движение луча а не делить экран рекурсивно.
Светопистолет - это совсем не перо, принцип должен быть совсем другой.
А сенсорный экран менее точен, чем световое перо (материал из Википедии - свободной энциклопедии).
Однако, перо не действует на абсолютно черном фоне (оттуда же)

psb
18.04.2010, 22:31
ну а если рука дрогнет?
ну, будет немного не там пиксель:)

---------- Post added at 00:31 ---------- Previous post was at 00:29 ----------


Из овна и палок интерактивный режим не соорудишь.
да понятно это все. в начале темы речь шла не о нормальном св.пере.

Jukov
19.04.2010, 20:33
Я как-то собирал перо, аналогичное тому, что было в "периферии своими руками". Делалось оно из двух элементов - фотодиода от светового пистолета Денди и переменного резистора, с помощью которого регулировалась чувствительность. Все это подключалось к порту кемпстон-джойстика. Небольшие изменения в стандартной программе (менял № порта пера) и всё работало. Но толку от этого пера было мало - низкая скорость работы и низкая точность позиционирования. В журнале Радио начала 90-х была схема пера для Орион-128. Там использовался следующий принцип - в момент, когда от фотодиода щел сигнал в двух регистрах запоминалось значение, считанное с счетчиков, ответственных за адрес выводимой на экран точки видеодисплея. Тем самым обеспечивалось быстродействие и точность пера. Но для того, чтобы можно было позиционировать перо с точностью до пиксела, необходима оптическая система с линзой.