Итак, наконец-то у меня появилось свободное время, чтобы написать об еще одной версии USB-спидометра, которую я сделал несколько месяцев назад. Поработав с первой версией, я понял, что бегающие цифры не очень наглядны в игровом процессе. Поэтому я решил сделать на стрелочных измерительных приборах, взяв за основу проект USB-ШИМ.
Данный проект включает в себя и спидометр, и тахометр. В ATmega8 есть еще один
свободный ШИМ, можно использовать, например, для вывода показания топлива или
еще чего. Один индикатор отображает показания скорости в интервале от 0 до 300
км/ч. Другая – показания оборотов двигателя в интервале от 0 до 8000 м-1.
Первоначально я планировать использовать индикаторы, в которых стрелка
двигается на 300 градусов, на цена барахольщиков меня ошарашила, поэтому я
использовал первые попавшиеся. Теперь о шкале. Я нарисовал самым ужасным
способом-на Фотошопе, из-за чего интервалы были не соблюдены, хотя получилось
неплохо.
Полученную картинку вставил в MicrosoftWord, подогнал под оригинальный размер и
распечатал на картоне (к сожалению, картон оказался довольно гибким, пришлось
его наклеивать на основу). Вы можете сделать иначе: нарисовать шкалу в
специальной программе. Как работает устройство не вижу смысла описывать - я
рассказывал в прошлой статье. Остановлюсь лишь на некоторых особенностях. Сама
схема ничем не отличается от схемы USB-PWM.
Только теперь канал ШИМ1-это данные скорости, а ШИМ2-тахометр. Также нужно
последовательно с индикатором поставить переменный резистор (я номинал точно не
скажу, нужно подбирать). Итак, для сего девайса требуется: два измерительных
прибора на 100мкА, микроконтроллер ATmega8 (хотя можно использовать и другой, предварительно исправив
программу), ответная часть USB-коннектора
и несколько резисторов. Собираем все,
согласно схеме, прошиваем и включаем.
Если устройство не запустилось или
определилось как неизвестное, то прочтите мою предыдущую статью. Там все
подробно описано, что и как делать. Если устройство заработало, то теперь
необходимо настроить. Вся настройка сводится к подстройке переменных резисторов
на каждый индикатор, чтобы показания индикатора и скорости совпадали.
Касательно софта.
Данные считываются также-с памяти компьютера. Единственное,
что добавил в GTASA-это
мод CAMHACK, который
может вытаскивать значения тахометра. Надеюсь, что кто-то предложит более
рациональный способ… Вот и все! Запускаем программу и наслаждаемся поездкой.
Исходные коды. Видео на YouTube. Автор - Филатов Артур. P.S. Если у кого возникнут вопросы по
работе устройства или схеме - пишите. Я всегда отвечу.
|