"Вы не любите кошек? Да вы просто не умеете их готовить!" (избитый анекдот) Критика "ралли для бухгалтеров" вызвана отчасти тем, что многие считают себя ущемленными, так как не имеют компьютера и/или не умеют программировать. При этом считается, что компь- ютер все делает, а штурман курит бамбук и это неинтересно. На самом деле, поголовное применение компьютеров в "чайных" ралли позволило бы сделать их более насыщенными, напряженными. А значит интересными как штурману, так и водителю (и составителя избавило бы от боязни нас перенапрячь). В рамках оказания технической помощи предлагается программа, работающая на любом отстойном ноутбуке стоимостью никак не более $100. Что такое "Чайный Навигатор" Это программа, позволяющая довольно точно выдерживать за- данный сложный режим движения, характерный для "бухгалтерских" "чайных" ралли. Данные о режиме задаются как предварительно, так и по мере проезда дорожных ориентиров. Пройденное расстоя- ние определяется при помощи датчиков любого типа, подключаемых к компьютеру и может корректироваться на известных (обозначен- ных в легенде) позициях. Время определяется по компьютерным часам, которые также могут при необходимости корректироваться. Вся информация отображается на экране в нескольких зонах, объединяющих функционально близкие величины. Дополнительно используются звуковые сигналы для предупреждения о наступлении некоторых событий. В зоне "Позиция" отображаются: - Номер пройденной позиции. - Расстояние, пройденное от последней позиции (крупно). - Расстояние между позициями. - Обратный счетчик до следующей позиции (крупно). В зоне "КВ" отображаются: - Название дорожного сектора. - Заданные в маршрутном листе норма времени, дистанция и средняя скорость. - Пройденная от начала сектора дистанция (крупно). - Время старта, время финиша, время на секторе. - Опережение/опоздание на дорожном секторе, величина льготы ВКВ, индикация выхода из льготы. В зоне "РД" отображаются: - Название участка ДС - Пройденная на РД дистанция (крупно). - Время старта. - Время нахождения на РД (крупно). - Текущие скорость по ПДД, процент и собственно, требуе- мая скорость. В центре экрана - "филиал" зоны "РД", интересный для водителя: - Заданная в данный момент скорость (крупно). - Опережение/опоздание на РД (крупно). Таблица смен скоростей отображает и позволяет вводить и корректировать для каждой позиции смены дистанцию, скорость и процент. В зоне "Протокол" можно просматривать журнал событий - смены скорости, отбивки позиций, корректировки дистанции, финиш и т.д., причем фиксируются время, дистанция и другие параметры. Что такое Lite Version? Это облегченный вариант "Чайного Навигатора", предназначен- ный для свободного распространения среди чайников. Отличия от полной версии следующие: 1. Работа ведется только с одним датчиком расстояния. Однако, исходный текст драйвера датчика прилагается и драйвер может быть заменен на другой при условии сохранения интерфейса связи с основной программой. Это позволит также использо- вать любые датчики, подключенные к компьютеру любым спосо- бом, даже самым идиотским, например, геркон припаивается вместо оторванной клавиши Shift (пишите драйвер и флаг вам в руки). 2. Исключен предварительный ввод данных. В связи с этим исклю- чены также некоторые функции, для работы которых требуется предварительный ввод. Зачем это? Чтобы служба медом не казалась. Ну, и с какой стати я должен раздавать все, что сделал? То, что предлагается обладает достаточной функциональностью, чтобы при наличии некоторых навыков не проигрывать злобным "бухгалтерам". Кроме того, предварительный ввод, хотя и создает дополнительный комфорт, но требует хорошей тренировки (те, кому я для пробы давал программу не успевали ввести все, хотя мы за это же время успевали ввести и проверить) и глубокого понимания алгоритма работы для ввода нестандартных заданий. И наконец, я убежден, что "чайные" ралли должны развиваться по пути, который не позволит делать предварительный ввод. Компьютер должен избавить нас от рутины вычислений, но все должно делаться "на ходу". Правда, пока это не так, я цинично пользу- юсь предварительным вводом, несмотря на свои убеждения. Итак, вот компоненты: PORT.COM - резидентная программа-драйвер, осуществляющая связь с датчиком через COM-порт. PORT.ASM - исходный текст драйвера датчика. RVGA.COM - резидентный драйвер экрана и клавиатуры. NAVL.EXE - программа "Чайный Навигатор" (Lite Version). NAVL.INI - пример файла инициализации. NAVL.TXT - описание программы. Программа работает в среде ДОС. Проверено на компьютере 386-SX-16/1Mb, размер диска не критичен. С чего начать? Датчик должен быть подключен к порту COM1 компьютера. Схема сопряжения не требуется. Геркон подключается между контактами 7 и 8 порта. Драйвер датчика должен быть настроен для устране- ния дребезга контактов геркона путем программной задержки, текст программы драйвера прилагается. В случае использования датчика скорости от маршрутного компьютера его выход (обычно зеленый провод) подключается к контакту 8 порта, земля (обычно черный провод) к контакту 5 порта и к массе автомобиля, а питание (обычно красный провод) - к плюсу аккумулятора автомобиля. Кроме того, резистор 5 кОм должен соединять питание и выход датчика. Таким же способом подключаются и другие виды датчиков Холла. Можно также использовать существующий датчик автомобиля с "мозгами". Например, в "Хреногоре" достаточно вывести один провод с разъема блока управления. Запустить драйвер датчика PORT.COM, он загружается в рези- дентном режиме и выгрузка его не предусмотрена. Рекомендуется включить соответствующую строку в файл AUTOEXEC.BAT, следует также иметь в виду, что запуск программы без драйвера невозмо- жен и приводит к перезагрузке компьютера. Запуск драйвера экрана и клавиатуры RVGA.COM крайне желате- лен, при этом следует исключить запуск имевшихся аналогичных драйверов. Клавиатура переключается с латинского на русский и обратно при помощи левых клавиш Alt+Ctrl, но для работы программы это не требуется, нужен обязательно латинский режим. Проверяем файл NAVL.INI, он состоит всего из двух строчек. В первой - тарировочный коэффициент, это расстояние в километ- рах, проходимое между импульсами датчика. Можно поставить весьма приблизительно, все равно потом потребуется тарировка. Во второй строке следует поставить 1, если требуется инверти- ровать цвет экрана (ноутбуки работают по-разному). Рекоменду- ется использовать черный текст на белом фоне. Теперь можно запустить программу NAVL.EXE и попробовать работу датчика. При движении машины показания счетчиков дис- танции должны меняться. Выход из программы производится нажа- тием . Как жить дальше? Дальше рекомендуется вылезти из машины, сесть за стол на кухне, сварить кофе и научиться работе с программой. Для этого в программе имеется эмулятор движения. Для его включения и выключения нужно нажать . Скорость движения индициру- ется в правом верхнем углу под часами и регулируется клавишами и . Датчик при этом не работает и показания обновляются раз в секунду, то есть, скачками. Пугаться и ругаться не нужно, это только эмуляция. Можно также набрать величину скорости и нажать . Вообще, весь ввод величин производится их набором, который отображается в строке ввода в правой верхней зоне экрана и нажатием определенной клавиши, указывающей, куда мы это зано- сим. При вводе времени вместо двоеточия можно набирать точку с запятой (чтобы не переключать регистр). Последний введенный символ удаляется клавишей . Клавиша полностью очищает поле ввода. Работа на дорожных секторах (КВ). Используется левая верхняя зона экрана. Набираем норму времени и вводим ее клавишей , набираем дистанцию сектора и вводим ее клавишей . Набираем время старта и вводим его клавишей , текущее пройденное от КВ расстояние вводим клавишей (на старте это должно быть равно нулю). Для лентяев - быстрый способ старта. Нажимаем , при этом обнуляется счетчик расстояния и старт назначается на следующую целую минуту. При подъезде к старту можно включить режим "Пауза" клавишей , это позволяет двигаться не меняя состоя- ние счетчиков дистанции. Главное - не забыть перед стартом паузу выключить. Теперь читаем, что нам пишут в этом окошке и ведем себя соответствующим образом. Если слово "Опережение" мигает, то это значит, что льгота ВКВ исчерпана. При наступлении опозда- ния подается звуковой сигнал низкого тона (если мы в данный момент не находимся на РД). В середине верхней части экрана находится оперативный счетчик, который сбрасывается клавишей <Пробел>. Он предназна- чен для измерения расстояний между позициями. Под ним в этом же окошке расположен обратный счетчик. При помощи клавиши его можно загрузить расстоянием между позициями, тогда он будет показывать, сколько осталось до следующей позиции и подаст звук высокого тона примерно за 500 метров до нее. Очень рекомендуется использовать как "будильник" на длинных перего- нах. При проезде обозначенных в легенде позиций можно корректи- ровать расстояние клавишей . Часы компьютера должны быть заранее правильно установлены вне программы, но корректировку секунд можно быстро произвести, набрав текущую секунду и введя ее клавишей . Работа на РД Это несколько более сложная задача. Время старта РД вводит- ся клавишей , а расстояние старта РД от начала дорожного сектора - клавишей . Нажатие устанавливает текущее местоположение в качестве позиции старта и назначает время старта на следующую целую минуту. Нажатие клавиши <\> стартует РД в текущий момент времени. Для финиша РД следует нажать . В правой нижней части экрана имеется таблица смен скорости, она состоит из трех столбцов - дистанция, скорость и процент. Дистанции отсчитываются от начала дорожного сектора. Если скорость не задана (равна нулю), то она не меняется в этой позиции. Если процент не задан (равен нулю), то он не меняется в этой позиции. Вначале таблица состоит из одной строки, причем задана скорость 90 км/ч, 100%. Дистанция равна позиции старта РД, при совмещенном старте она естественно, равна нулю. По мере продвижения по трассе можно вводить смены скорости по дорожным знакам при помощи клавиш - (10-110 км/ч). Клавиша вводит скорость 85 км/ч, которая часто встречается в маршрутных документах. В качестве дистанции записывается теку- щее расстояние от начала сектора. При помощи клавиш со стрелками можно попасть в любое поле таблицы и записать туда новое значение, завершив ввод клавишей . Будьте внимательны, строки таблицы всегда сортируются по дистанциям и могут меняться местами при их корректировках. Удалить строку, в которой мы находимся можно, нажав . Однако, строка старта не может быть удалена. Если набрать расстояние и ввести его клавишей , то в таблице создается новая строка с пустыми полями скорости и процента. Их можно потом заполнить, в противном случае такая строка не оказывает никакого влияния на расчеты. В центре экрана отображается "руководство к действию" - заданная скорость и величина отклонения от требуемого времени прохождения. Опоздание считается положительным отклонением, опережение - отрицательным. Звуковой сигнал низкого тона подается при снижении опережения меньше 1 секунды, более высокий тон - при наступлении опережения больше 15 секунд. Режим "Синхронно" Клавиша <`> включает и выключает режим, позволяющий выпол- нять совмещенные старты. Режим индицируется надписью "Синхрон- но" под полем ввода. При старте РД, совмещенном с началом дорожного сектора процедура старта КВ в режиме "Синхронно" одновременно задает параметры старта РД. Например, перед стартом в следующую минуту достаточно нажать <`> и затем . На промежуточном финише/старте (например, на карусельных РД) следует нажать <`> и затем <\>, при этом отклонение сбрасывается в нуль, таблица смен скоростей очищается, в ее первую строку записываются положение старта и текущие скорость и процент. Конечно, их потом можно скорректировать. Протокол В левой нижней части экрана выводятся строки протокола, который позволяет проанализировать предыдущие события. Каждая строка содержит идентификатор события, время, дистанцию дорож- ного сектора, показание оперативного счетчика, дистанцию на РД, время на РД и отклонение от графика РД. При помощи клавиш , , , , , протокол можно листать. Во время листания новые строки не сдвигают протокол. Для восстановления появления новых строк нужно вернуться к концу клавишей . Нажатие очищает поле протокола, записывая старое содержимое в файл вида NAVL_nnn, где nnn - цифры. Такие файлы можно просмотреть после выхода из программы. Для работы программы они не нужны и их можно потом удалить. Кое-что еще При переполнении различных полей из-за ошибок ввода или по другим причинам экран может принимать странный вид. Нажатие клавиши приводит к обновлению всего экрана и это обычно помогает сделать информацию читаемой. Здесь были описаны основные возможности программы. Если это освоить и как следует подумать, то можно найти и другие приемы использования. Все это работает, но полной "защиты от дурака" не имеет. Не стоит думать, что получится с первого раза запус- тить программу и выиграть ралли. Прежде чем жаловаться на неправильную работу, следует убедиться в правильности своих действий. Алгоритм построен таким образом, что в любой момент можно восстановить правильные вычисления, если исправить ис- ходные данные. Для выполнения тарировки нужно проехать мерный участок и после этого умножить тарировочный коэффициент (в первой строке файла NAVL.INI) на отношение того, что должно быть к тому, что получилось по счетчику. Или наоборот? Подумайте! (ха-ха-ха) Еще совет: примите меры против впадания ноутбука в спячку. Вопросы можно задавать по адресу mbel@orc.ru --------------------------------------------------------------