Где можно взять простейшую схему светового пера?
Нашёл описание лайтпэна, конэктящегося к порту джоя, но написано на польском (или финском) ни---фига не понятно, и вроде как там нужно наличие Ау-чипа.
Вид для печати
Где можно взять простейшую схему светового пера?
Нашёл описание лайтпэна, конэктящегося к порту джоя, но написано на польском (или финском) ни---фига не понятно, и вроде как там нужно наличие Ау-чипа.
Одна микруха вся схема светового пера (без учета обвязки и фотоприемника). На VT Персональный компьютер ZX-Spectrum. периферия своими руками в главе light pen есть схема.
----
SYSTEM.zip
А его хоть какой-то софт поддерживает?
В древних книгах была одна программа упомянута. Если сами не вспомните через недельку в закромах пороюсь.
В книгах ПЕРЕФЕРИЯ СВОИМИ РУКАМИ и ИНТЕРФЕЙСЫ ПЕРСОНАЛЬНОГО КОМПЬЮТЕРА ZX-SPECTRUM, одна и та же статья и схема, там же и программы... Но вот принцип работы совсем не описан, возникает вопрос, а будет ли такая "указка" работать на LCD мониторе? :v2_conf2:
Интересно глянуть, есть возможность отсканить?
Программы для работы со всетовым пером есть на WoS. Даже есть такая, как в книжке.
Перо не будет работать с ЖК-шкой, у них нет строчной развертки. Положение пера определяется по разности времени включения фотодиода в начале кадра и его фактического срабатывания, когда развертка дойдет до него.
О да,оно самое!
---------- Post added at 22:01 ---------- Previous post was at 21:56 ----------
Довольно хитро описано про 48к.
каким же образом комп будет знать положение луча на экране при считывании с ЕАR разъёма?
он только увидит свет,незная откуда.
по ходу это то перо, по поводу которого я негодовал... там просто фотодатчик, ни к чему не привязанный. при подносе его к экрану и нажатию какой-либо кнопки происходит... ПИПЕЦ! с экрана все сохраняется и начинается поиск места, куда приложен датчик. типа, заполнили половину экрана белым, половину черным. сигнал есть? значит мы на белой половине, делим ее на 2 части и повторяем. вот такое перо.
Клёвое решение.
вопрос в том как "быстро" обрабатывается сигнал.
так легко.
пишешь прогу:
1. сохранить экран
2. еи:хальт
3. быстро (хоть через стек) заполняешь экран (атрибутами) - половина черная, половина белая.
4. еи:хальт
5. луч вверху, экран светится, опрашиваешь датчик (1 раза хватит). если попал на светлую половину, то делишь ее опять на светлую и темную, а темную оставляешь. опять все делаешь быстро, быстрее чем луч рисует экран. если попал на темную, ее красишь наполовину, а светлую всю делаешь черной.
6. еи:хальт
7. луч опять вверху, экран отрисован, опрашиваешь датчик, .....
8. ......
повторяешь пока не вычислишь знакоместо. для первого раза (чисто заценить) достаточно.
Х. восстанавливаешь то, что было на экране.
возможно что сразу и не прокатит, может быть будет нужен полностью черный экран перед каждым новым светлым "квадратом". творческая задача, что тут скажешь...
то световое перо, что в этой книге, полное Г.... работает по такому принципу, что описал psb. Даже не знаю, были ли под спек перья, которые отлавливали развёртку... Хотя, возможно, что и были. Например, посмотрите софт для пера Dopler. Интересно найти для него схему...
Может, я туплю, но для отслеживания развертки надо сделать следующее:
1. Взять пиксельклок и кадровый синхроимпульс.
2. Взять счетчик.
3. По кадровому импульсу обнулять счетчик, по пиксельклоку - считать импульсы, пока не сработает датчик
4. Перед обнулением считывать значение счетчика, делить нацело на количество пикселей в строке.
5. Из этой же операции брать остаток от деления. - это координата Х.
6. Если остаток ноль, то (4)-координата У, иначе прибавить к ней 1, и все равно У.
---------- Post added at 11:20 ---------- Previous post was at 11:02 ----------
А можно и аппаратно:
1. Взять пиксельклок, кадровую и строчную синхронизацию.
2.Взять 2 счетчика - один будет считать строчные импульсы, другой по ним обнуляться, а считать пиксельклок.
3. при срабатывании фотоэлемента считываем оба счетчика, получаем строку и пиксель.
4. по кадровому импульсу обнуляем, повторяем.
С делением - таки да, программно. Может, даже и счетчик можно программно сделать. На датчик надо поставить пороговый элемент, можно компаратор, чтоб подгонять уровень, и надеть на него резинку от лишнего света.
цеж световой пистолет :)
подносишь к экрану - клоцаешь
на экран кидаешь аттрибуты
там куда стрелять 0 - все светлое
остальное - темное
в следующем фрейме восстанавливаешь аттрибуты :)
так же сделано на Денди :)
на 720х576 будет 2 десятибитных счетчика. Как их можно скинуть в порт? Последовательно прокатит?
---------- Post added at 15:49 ---------- Previous post was at 15:44 ----------
jerri, на Денди артефакты позиционирования маскируются эффектом "Пыщь - пыщь!" в игре. На спектруме уж очень мелькать будет. Ето надо десяток кадров с атрибутами на кадр с изображением. Кроме того, неудобно, если не невозможно сделать, чтоб пойнтер следовал за пером.
Приделать мк со своим ядром, конечно, можно, но, имхо, лишнее для схемы на пять корпусов. А последовательно можно скинуть через пару своих регистров. Интересно только, не будет ли это слишком медленно.
ну конечно, 5 корпусов это лучше чем 1 мк:) ну ладно, мк+еще 1 корпус про запас.
Не, я просто про то, что там брать из мк? 2 регистра и 2 счетчика? При большой охоте их можно и из 315-х сгородить.
да, сделать измеритель времени до луча, компаратор там же, интерфейс (посл/паралл.) - там же. схема меньше получается, можно все более-менее гибко программно подогнать. имхо это того стоит. а так, если извращаться с подключением через существующие порты, то хватит одного маааленького контроллерчика.
ненене
есть кадр с местностью и обьектом
когда жмешь на выстрел
на экран на 1 фрейм швыряется картинка с чорным фоном #00 и высветленным пятном атрибутов #3f там где обьект
хватаем данные с пера
восстанавливаем исходные аттрибуты
рисуем ржушюю собаку
Profit! :)
а рубить экран методом "льва в пустыне" - долго
да и перо можно увести за это время
так вы определитесь, че вы хотите... узнать куда попало перо, или попало ли оно куда-то..
Что-то я сомневаюсь, что с точностью до пикселя можно. Световое перо встречалось в основном на текстовых терминалах и работало с точностью до символа.
если у вас в пере 1 фотоэлемент то на поиск блока 2*3 знакоместа уйдет 7 фремов
именно фреймов
потому как фотоэлемент берет данные с монитора а не из памяти
хотите до пикселя - нужен сенсорный экран :v2_biggr:
а почему так нельзя до пикселя? будет фреймов 15, это чуть больше четверти секунды... не гуд, но это ж "из *овна и палок"...
Да, блин, перо определяет свое положение 50 раз в секунду. Мало, что ли?
Из овна и палок интерактивный режим не соорудишь.
Надо отслеживать движение луча а не делить экран рекурсивно.
Светопистолет - это совсем не перо, принцип должен быть совсем другой.
А сенсорный экран менее точен, чем световое перо (материал из Википедии - свободной энциклопедии).
Однако, перо не действует на абсолютно черном фоне (оттуда же)
Я как-то собирал перо, аналогичное тому, что было в "периферии своими руками". Делалось оно из двух элементов - фотодиода от светового пистолета Денди и переменного резистора, с помощью которого регулировалась чувствительность. Все это подключалось к порту кемпстон-джойстика. Небольшие изменения в стандартной программе (менял № порта пера) и всё работало. Но толку от этого пера было мало - низкая скорость работы и низкая точность позиционирования. В журнале Радио начала 90-х была схема пера для Орион-128. Там использовался следующий принцип - в момент, когда от фотодиода щел сигнал в двух регистрах запоминалось значение, считанное с счетчиков, ответственных за адрес выводимой на экран точки видеодисплея. Тем самым обеспечивалось быстродействие и точность пера. Но для того, чтобы можно было позиционировать перо с точностью до пиксела, необходима оптическая система с линзой.