Индикатор передач АКПП |
+7-978-708-85-73 Дроссель Amadeus Productions. Быстрый заказ по телефону. (Viber, WhatsApp, Telegram) |
Индикатор передач АКПП |
7.3.2012, 11:37
Сообщение
#1
|
|
Технический Маньяк-Гуру Группа: Технический Маньяк Сообщений: 7045 Регистрация: 3.6.2009 Из: Армения Вне форума Авто: Lancer IX, AT Репутация: 265 |
В продолжении темы о переделке приборки и запоздавшая реализация того, о чем писал еще пару лет назад (IMG:style_emoticons/default/smile.gif)
Индикатор положения селектора АКПП. Как уже говорилось, приборки бывают разные, для МТ, для АТ с отдельными индикаторами и для АТ с ЖК индикатором. При замене приборки - по разным причинам - естественно надо найти точно с такой функциональностью как на старой. С подобной проблемой столкнулся и я во время замены своей приборки. В конце концов вопрос решился частично, машина дергаться перестала, но ручные режимы не индицируются. Описываемый блочок и предназначен для восстановления полной функциональности и даже больше - позволит установить МТ приборку на машину с АТ (IMG:style_emoticons/default/wink.gif) Схема девайса, естественно на МК (IMG:style_emoticons/default/tongue.gif) Режимы индицируются на 7-сегментном светодиодном индикаторе, который можно установить в любое удобное место. Я лично буду ставить на место ЖК экранчика. Входные сигналы подаются через делители-согласователи на входы порта А контроллера. На схеме показан только один делитель, конкретное число - до 8-и зависит от потребностей/желаний. Приведу пример, на моей приборке уже есть индикаторы P, D, R, N и дублировать их (кроме Р) я не хочу. Плюс надо чтобы высвечивались L, 2 и 3. Поэтому входных сигналов, и соответственно делителей, у меня будет 4. Остальная функциональность обеспечивается программой. Для моего случая исходник такой: Код '*********************** '* Name : AT.BAS * '* Author : SSh * '*********************** @ DEVICE pic16F628A, INTRC_OSC_NOCLKOUT DEFINE OSC 4 ' Freq. 4 MHz ' ***** Variables ***** state VAR BYTE ' AT selector state TRISA = $FF TRISB = $00 VRCON = 0 CMCON = 7 ' *************************************** ' ********** Main program loop ********** ' *************************************** main: state = PORTA SELECT STATE CASE ' AT selector position CASE %00000001 ' L PORTB = $C7 CASE %00000010 ' 2 PORTB = $A4 CASE %00000100 ' 3 PORTB = $B0 CASE %00001000 ' P PORTB = $8C CASE ELSE ' All other positions PORTB = $FF ' Show none END SELECT GOTO main ' Loop END ' ***** End of Program ***** Распознавание входных сигналов производится в цикле SELECT CASE. Все очень просто. На RA0 идет сигнал с L, RА1 - 2, RA2 - 3, RA3 - P. В зависимости от входного сигнала на выходе формируется соотв. символ, напр., если входной сигнал 00000001 (L), то на выходе (PORTB) имеем С7 в шестнадцатиричном коде, т.е. 11000111 в двоичном. Т.к. мой индикатор - с общим анодом, то для "зажигания" нужных сегментов индикатора на них надо подать "0", что собственно и видно из кода - "0"подается на сегменты d, e, f что в итоге дает симввол "L". Для индикаторов с общим катодом надо просто проинвертировать код, в нашем примере будет 00111000. P.S. Пишу подробно для того, чтоб все желающие могли-бы переделать код "под себя" (IMG:style_emoticons/default/smile.gif) Исходник - как и для большинства девайсов - в PicBasic Pro. Сейчас допишу для всех режимов - покажу на видео как это будет выглядеть (IMG:style_emoticons/default/smile.gif) |
|
|
7.3.2012, 20:13
Сообщение
#2
|
|
Технический Маньяк-Гуру Группа: Технический Маньяк Сообщений: 7045 Регистрация: 3.6.2009 Из: Армения Вне форума Авто: Lancer IX, AT Репутация: 265 |
Видео с индикацией всех режимов:
|
|
|
+7-978-708-85-73 Дроссель Amadeus Productions. Быстрый заказ по телефону. (Viber, WhatsApp, Telegram) |
Текстовая версия | © 2006-2024 Форум Технических Маньяков. |
|