Авторизация


...

Кто на сайте?

Сейчас 76 гостей и один зарегистрированный пользователь на сайте

  • sundbarr

Статистика

-Посетители : 25302
-Материалы : 210

Пользователь сайта продает...

  Универсальный цифровой спидометр

Пользователь сайта покупает...

Взрослые игрушки

Автор: Андрей Винокуров Просмотров: 12751

 

 

 

Бродилки-стрелялки, «стратегии», онлайновые ролевые игры – несть им числа. Миллионы геймеров, от зеленых юнцов до седеющих отцов семейств, увлеченно живут нарисованной жизнью Linage 2, наверное, самой раскрученной в Рунете игрухи, да и, чего греха таить – действительно увлекательной и разнообразной. Одни, сильно заболевшие, проводят десятки часов в неделю за клавиатурой, непрерывно совершенствуя своего персонажа. Другие, «сильно умные», придумывают бот-программы, чтобы не тратить очень много времени на разные рутинные игровые операции.

С другой стороны, администрация игровых серверов также не спит, последовательно совершенствует своё ПО, блокируя возможности использования бот-программ и достигает в этом деле определенных успехов.

Прошу прощения за столь пространное лирическое отступление – просто хотелось объяснить, откуда появилась мысль создать столь специфическое устройство, описанное в этой статье. Так как лично я не являюсь заядлым игроманом, то для меня эта разработка явилась просто прикладной возможностью реализовать на практике и проверить в железе следующие аспекты:
1. Работа с ЖК индикатором на основе HD44780 по 4-х проводному интерфейсу
2. Работа с внутренней EEPROM МК.
3. Прием и распознавание скан-кодов компьютерной клавиатуры в МК.
4. Передача на компьютер клавиатурных скан-кодов, сформированных в МК (эмулирование нажатий клавиш).

 

Если отвлечься от конкретного применения устройства, то техническое задание выглядело так: устройство должно (эмулируя нажатия клавиш стандартной клавиатуры) передавать на компьютер определенную, заранее запрограммированную последовательность нажатий определенных клавиш с промежутками времени между ними (также заранее запрограммированными).

Устройство выполнено на PIC16F84A. Выбор этого МК обусловлен его наличием в единственном экземпляре и стремлением куда-нибудь его, наконец, пристроить. Поскольку PIC16F84A имеет 64 ячейки EEPROM, то устройство может поддерживать 32 предварительно записанные команды (1 ячейка – скан-код нажатой клавиши + вторая ячейка – промежуток времени в сек. до следующего нажатия).

Устройство имеет 2 режима работы: режим программирования и рабочий режим. В режиме программирования подключается компьютерная клавиатура и, с ее помощью, в EEPROM записывается нужная информация. В данном случае – это последовательность нажатий клавиш F1-F9, но, при изменении прошивки, можно, конечно, определить и другие клавиши. При включении питания устройство переходит в режим программирования (Рис.1)

 

Рис.1 Режим программирования

 

 

 По нажатию кнопки, устройство переходит в рабочий режим и начинает передавать на компьютер кольцевую последовательность нажатий клавиш, запрограммированную в EEPROM.
Как и процесс программирования, процесс работы отображается на ЖК индикаторе (рис.2)

 

Рис. 2 Устройство в рабочем режиме

 

 

Устройство не требует отдельного блока питания и запитывается от клавиатурного входа ПК.

Возвращаясь к игровой теме, хочу добавить, что подпрограммы,  использованные в этом проекте можно использовать при изготовлении программируемых игровых манипуляторов (джойстиков), так как любая игра предусматривает использование «горячих клавиш», а то и вовсе поддерживает управление только с помощью клавиатуры.
Исходник, прошивку, проект в Протеусе можно взять

Ссылка для скачивания доступна только авторизованным пользователям сайта !

Обсудить и задать вопросы можно на форуме

(Примечание: Второй МК в Протеусе использовался как тестовый передатчик  скан-кодов стандартной клавиатуры, и в готовом устройстве, естественно, отсутствует)

Автор выражает благодарность камрадам Alberto, Alex  и MAZ, предоставивших соответствующие материалы и наработки, а также - Кириллу и Мефодию, за любезно предоставленные буквы. smiley

Случайные статьи....

Prev Next

Программирование c нуля в AVRStudio 5 (ч.5)

14-03-2012 Радик

Программирование c нуля в AVRStudio 5 (ч.5)

 Сегодня рассмотрим программу “бегущих огней” и “бегущих теней”. Примеры “бегущих огней” можно найти почти в любой обучающей литературе. Чтобы получить “бегущие огни” на выходах порта, нужно последовательно переключать один бит.      “Бегущая тень” получается при инверсии “бегущих огней”. В принципе...

Алгоритм работы с плавающей запятой. Часть первая

11-02-2012 Александр Милевский

Алгоритм работы с плавающей запятой. Часть первая

1.Общие понятия Сразу хочу объяснить, а зачем все это нужно? Прежде всего точность вычислений, а она порой, ой как нужна. Различают две формы представления двоичных чисел: «с фиксированной запятой» и «с плавающей запятой». С фиксированной запятой, надеюсь, эту форму уже многие знают, но...

sPlan – удобная программа для вычерчивания принципиальных схем (ч. 3)

22-10-2012 Игорь Безверхний

sPlan – удобная программа для вычерчивания принципиальных схем (ч. 3)

  Практически каждому радиолюбителю и радиоспециалисту приходится хотя бы иногда чертить принципиальные схемы или их фрагменты. Что бы вычертить их аккуратно, можно использовать графические редакторы. Ну, а польза от применения этих программ студентами, учащимися ПТУ и различных курсов очевидна. В...

Особенности преобразования двоичного числа в двоично-десятичный код ме…

01-07-2011 Игорь Безверхний

Особенности преобразования двоичного числа в двоично-десятичный код методом левого сдвига

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


Все права принадлежат ChipMK.ru. При копировании материала ссылка обязательна. 2011-2017 © ChipMK.ru

ChipMk.ru Яндекс.Метрика
PRCY.ru