Hud спидометр своими руками
Под катом обещаю много картинок, посредственное видео, код и текст — всё в лучших традициях.
Теория
Идея простая — за фиксированный промежуток времени считаем количество импульсов от датчика скорости. В качестве ЦП простой и доступный ATMega8.
Первая сложность оказалась в согласовании МК 5 В и индикаторов 7.5 В. Фантазия рисовала схему из пачки транзисторов и резисторов (7 элементов при динамической индикации). Из всех гуглов мне помогла всего одна статья про замену индикаторов в часах, жаль потерял её адрес. Пользуясь возможностью, передаю благодарность автору за идею использовать TD62783 (от 5 шт в лоте). Собственно, это драйвер семисегментных индикаторов, внутри транзисторная сборка.
Далее, DC/DC преобразователь. Сделал на MC34063, их у меня много, их я запас. Посчитал на калькуляторе, проверил тестером — 7.5 В. В полевых испытаниях оказалось мало, яркости не хватало, увеличил до 10 В.
Яркость регулируется исходя из показаний датчика света, который обычный китайский фоторезистор.
В итоге схема получилась такой:
Практика
Печатную плату мне развёл TopoR. Я воспользовался авторазмещением, хоть и зафиксировал большую часть элементов вручную. Должен же прогресс работать на меня, а не только я на прогресс. Получилась красота:
С шириной корпуса U4 промахнулся, пришлось дорисовывать дорожки и не припаивать 11ю ногу.
Как это выглядит в реале:
Следующий нежданчик подкрался в софте (не буду рассказывать, как я забыл отзеркалить 2 и 5, 4 — тут нечем гордиться). Сложнее была проблема такая: счётчик насчитывал нужное количество импульсов слишком долго. К примеру, при 60 км/ч подсчёт 60 импульсов с датчика скорости занимал больше секунды. Такое редкое обновление показаний меня не устроило.
Пришлось каждые пол измерения умножать на 2.
Линейное изменение яркости по сравнению с освещённостью не подошло: когда было чуть темнее — яркость оказывалась недостаточной, когда было почти темно — яркости было чересчур. Запустил эксель, построил график для разных математических функций. В итоге выбрал квадрат.
'HUD-speedometer
'17/01/2016
'21/01/2016
'v1.1
$regfile = "m8adef.dat"
$crystal = 4000000
$hwstack = 40
$swstack = 16
$framesize = 32
Config Portb = Output
Config Portc = Output
Config Portd = Output
Config Portd.4 = Input
Portd.4 = 1
Config Timer0 = Counter , Edge = Falling
Config Timer1 = Pwm , Pwm = 8 , Compare_a_pwm = Clear_up , Compare_b_pwm = Clear_up , Prescale = 8
Config Timer2 = Timer , Prescale = 1024
On Timer2 Mytimer2
Enable Interrupts
Enable Timer2
Config Adc = Single , Prescaler = Auto , Reference = Internal
Start Adc
Dim I As Byte 'счётчик в основной цикл
Dim N As Byte 'счётчик в таймер
Dim Pwm_value As Integer 'яркость
Dim Speed As Integer , Speed_half As Integer , First_symbol As Integer , Second_symbol As Integer
Dim A As Integer 'разность Speed и Speed_half
Dim R1 As Word
Declare Sub Digit_indication(digit As Integer) 'вывод цифры
Const P = 500
Const T = 5000 'время горения одного индикатора
Const T1 = 1000 'время паузы для срабатывания PWM
Pwm_value = 5
Tcnt0 = 0 'счётчик
Do
Incr I
If I = 25 Then 'чтоб не перегружать МК
R1 = Getadc(7)
R1 = Sqr(r1) 'делаем гиперболу
R1 = R1 * 8
If R1 < 250 Then
Pwm_value = 250 - R1
Else
Pwm_value = 3 'минимальная яркость
End If
I = 0
End If
Gosub Indication
Loop
Indication:
If Speed < 3 Then 'если скорость 0 - не горит, 3 - защита от помех
Pwm_value = 0
End If
While Speed > 99 'т.к. всего 2 знака
Speed = Speed - 100
Wend
First_symbol = Speed / 10 'записали отдельно
Second_symbol = First_symbol * 10 'десятки
Second_symbol = Speed - Second_symbol 'отдельно еденицы
Pwm1b = 0
Pwm1a = 0
Waitus T1 'без паузы подмигивает
Call Digit_indication(first_symbol) 'и выводим цифры
Pwm1b = Pwm_value
Waitus T
Pwm1b = 0
Pwm1a = 0
Waitus T1 'без паузы подмигивает
Call Digit_indication(second_symbol)
Pwm1a = Pwm_value
Waitus T
Return
Sub Digit_indication(digit As Integer)
Select Case Digit
Case 0:
Portd.0 = 0
Portc.0 = 1
Portc.1 = 1
Portc.2 = 1
Portc.3 = 1
Portc.4 = 1
Portc.5 = 1
Case 1:
Portd.0 = 0
Portc.0 = 1
Portc.1 = 0
Portc.2 = 0
Portc.3 = 0
Portc.4 = 0
Portc.5 = 1
Case 2:
Portd.0 = 1
Portc.0 = 0
Portc.1 = 1
Portc.2 = 1
Portc.3 = 0
Portc.4 = 1
Portc.5 = 1
Case 3:
Portd.0 = 1
Portc.0 = 1
Portc.1 = 1
Portc.2 = 0
Portc.3 = 0
Portc.4 = 1
Portc.5 = 1
Case 4:
Portd.0 = 1
Portc.0 = 1
Portc.1 = 0
Portc.2 = 0
Portc.3 = 1
Portc.4 = 0
Portc.5 = 1
Case 5:
Portd.0 = 1
Portc.0 = 1
Portc.1 = 1
Portc.2 = 0
Portc.3 = 1
Portc.4 = 1
Portc.5 = 0
Case 6:
Portd.0 = 1
Portc.0 = 1
Portc.1 = 1
Portc.2 = 1
Portc.3 = 1
Portc.4 = 1
Portc.5 = 0
Case 7:
Portd.0 = 0
Portc.0 = 1
Portc.1 = 0
Portc.2 = 0
Portc.3 = 0
Portc.4 = 1
Portc.5 = 1
Case 8:
Portd.0 = 1
Portc.0 = 1
Portc.1 = 1
Portc.2 = 1
Portc.3 = 1
Portc.4 = 1
Portc.5 = 1
Case 9:
Portd.0 = 1
Portc.0 = 1
Portc.1 = 1
Portc.2 = 0
Portc.3 = 1
Portc.4 = 1
Portc.5 = 1
End Select
End Sub
Mytimer2:
Incr N
If N = 26 Then
N = 0
Speed = Tcnt0 'Speed = количество импульсов с датчика
Tcnt0 = 0 'сброс счётчика импульсов
End If
If N = 13 Then 'т.к. количество импульсов набегает слишком долго (редко меняются показания)
Speed_half = Tcnt0 * 2 'добавим удвоение
A = Speed - Speed_half
A = A And &B0111111111111111 'модуль
If A > 2 Then
Speed = Speed_half
End If
End If
Timer2 = 135 'корректировочка 135 логан
Return
В конце 135 — поправочный коэффициент, подбирал его для каждой машины индивидуально (135 это для логана, для соляриса было меньше — у всех разные датчики скорости).
Обещанное видео. За качество простите, снимал на кусок синей изоленты одной рукой, другой рулил:
Индикаторы не горят, когда скорость меньше 3 км/ч. Если скорость больше 99, то отображает без первого знака.
Бюджет:
ATMega8 — 200р за 5 шт — 40р
Индикаторы — 825р за 10 шт — 165р
TD62783 — 250р за 5 шт — 50р
Остальная рассыпуха у меня была, но в целом видно, что в 500р можно уложиться.
Больше рассказать и нечего. Получился большой красивый счётчик. Тестировал на Солярисе. На фокусе не удалось, на фокусе не оказалось датчика скорости. Чуть допилю программу для работы с OBD2 через ELM327.
Папка с проектом на Яндекс.Диске
Всем спасибо за внимание!
Под катом обещаю много картинок, посредственное видео, код и текст — всё в лучших традициях.
Теория
Идея простая — за фиксированный промежуток времени считаем количество импульсов от датчика скорости. В качестве ЦП простой и доступный ATMega8.
Первая сложность оказалась в согласовании МК 5 В и индикаторов 7.5 В. Фантазия рисовала схему из пачки транзисторов и резисторов (7 элементов при динамической индикации). Из всех гуглов мне помогла всего одна статья про замену индикаторов в часах, жаль потерял её адрес. Пользуясь возможностью, передаю благодарность автору за идею использовать TD62783 (от 5 шт в лоте). Собственно, это драйвер семисегментных индикаторов, внутри транзисторная сборка.
Далее, DC/DC преобразователь. Сделал на MC34063, их у меня много, их я запас. Посчитал на калькуляторе, проверил тестером — 7.5 В. В полевых испытаниях оказалось мало, яркости не хватало, увеличил до 10 В.
Яркость регулируется исходя из показаний датчика света, который обычный китайский фоторезистор.
В итоге схема получилась такой:
Практика
Печатную плату мне развёл TopoR. Я воспользовался авторазмещением, хоть и зафиксировал большую часть элементов вручную. Должен же прогресс работать на меня, а не только я на прогресс. Получилась красота:
С шириной корпуса U4 промахнулся, пришлось дорисовывать дорожки и не припаивать 11ю ногу.
Как это выглядит в реале:
Следующий нежданчик подкрался в софте (не буду рассказывать, как я забыл отзеркалить 2 и 5, 4 — тут нечем гордиться). Сложнее была проблема такая: счётчик насчитывал нужное количество импульсов слишком долго. К примеру, при 60 км/ч подсчёт 60 импульсов с датчика скорости занимал больше секунды. Такое редкое обновление показаний меня не устроило.
Пришлось каждые пол измерения умножать на 2.
Линейное изменение яркости по сравнению с освещённостью не подошло: когда было чуть темнее — яркость оказывалась недостаточной, когда было почти темно — яркости было чересчур. Запустил эксель, построил график для разных математических функций. В итоге выбрал квадрат.
'HUD-speedometer
'17/01/2016
'21/01/2016
'v1.1
$regfile = "m8adef.dat"
$crystal = 4000000
$hwstack = 40
$swstack = 16
$framesize = 32
Config Portb = Output
Config Portc = Output
Config Portd = Output
Config Portd.4 = Input
Portd.4 = 1
Config Timer0 = Counter , Edge = Falling
Config Timer1 = Pwm , Pwm = 8 , Compare_a_pwm = Clear_up , Compare_b_pwm = Clear_up , Prescale = 8
Config Timer2 = Timer , Prescale = 1024
On Timer2 Mytimer2
Enable Interrupts
Enable Timer2
Config Adc = Single , Prescaler = Auto , Reference = Internal
Start Adc
Dim I As Byte 'счётчик в основной цикл
Dim N As Byte 'счётчик в таймер
Dim Pwm_value As Integer 'яркость
Dim Speed As Integer , Speed_half As Integer , First_symbol As Integer , Second_symbol As Integer
Dim A As Integer 'разность Speed и Speed_half
Dim R1 As Word
Declare Sub Digit_indication(digit As Integer) 'вывод цифры
Const P = 500
Const T = 5000 'время горения одного индикатора
Const T1 = 1000 'время паузы для срабатывания PWM
Pwm_value = 5
Tcnt0 = 0 'счётчик
Do
Incr I
If I = 25 Then 'чтоб не перегружать МК
R1 = Getadc(7)
R1 = Sqr(r1) 'делаем гиперболу
R1 = R1 * 8
If R1 < 250 Then
Pwm_value = 250 - R1
Else
Pwm_value = 3 'минимальная яркость
End If
I = 0
End If
Gosub Indication
Loop
Indication:
If Speed < 3 Then 'если скорость 0 - не горит, 3 - защита от помех
Pwm_value = 0
End If
While Speed > 99 'т.к. всего 2 знака
Speed = Speed - 100
Wend
First_symbol = Speed / 10 'записали отдельно
Second_symbol = First_symbol * 10 'десятки
Second_symbol = Speed - Second_symbol 'отдельно еденицы
Pwm1b = 0
Pwm1a = 0
Waitus T1 'без паузы подмигивает
Call Digit_indication(first_symbol) 'и выводим цифры
Pwm1b = Pwm_value
Waitus T
Pwm1b = 0
Pwm1a = 0
Waitus T1 'без паузы подмигивает
Call Digit_indication(second_symbol)
Pwm1a = Pwm_value
Waitus T
Return
Sub Digit_indication(digit As Integer)
Select Case Digit
Case 0:
Portd.0 = 0
Portc.0 = 1
Portc.1 = 1
Portc.2 = 1
Portc.3 = 1
Portc.4 = 1
Portc.5 = 1
Case 1:
Portd.0 = 0
Portc.0 = 1
Portc.1 = 0
Portc.2 = 0
Portc.3 = 0
Portc.4 = 0
Portc.5 = 1
Case 2:
Portd.0 = 1
Portc.0 = 0
Portc.1 = 1
Portc.2 = 1
Portc.3 = 0
Portc.4 = 1
Portc.5 = 1
Case 3:
Portd.0 = 1
Portc.0 = 1
Portc.1 = 1
Portc.2 = 0
Portc.3 = 0
Portc.4 = 1
Portc.5 = 1
Case 4:
Portd.0 = 1
Portc.0 = 1
Portc.1 = 0
Portc.2 = 0
Portc.3 = 1
Portc.4 = 0
Portc.5 = 1
Case 5:
Portd.0 = 1
Portc.0 = 1
Portc.1 = 1
Portc.2 = 0
Portc.3 = 1
Portc.4 = 1
Portc.5 = 0
Case 6:
Portd.0 = 1
Portc.0 = 1
Portc.1 = 1
Portc.2 = 1
Portc.3 = 1
Portc.4 = 1
Portc.5 = 0
Case 7:
Portd.0 = 0
Portc.0 = 1
Portc.1 = 0
Portc.2 = 0
Portc.3 = 0
Portc.4 = 1
Portc.5 = 1
Case 8:
Portd.0 = 1
Portc.0 = 1
Portc.1 = 1
Portc.2 = 1
Portc.3 = 1
Portc.4 = 1
Portc.5 = 1
Case 9:
Portd.0 = 1
Portc.0 = 1
Portc.1 = 1
Portc.2 = 0
Portc.3 = 1
Portc.4 = 1
Portc.5 = 1
End Select
End Sub
Mytimer2:
Incr N
If N = 26 Then
N = 0
Speed = Tcnt0 'Speed = количество импульсов с датчика
Tcnt0 = 0 'сброс счётчика импульсов
End If
If N = 13 Then 'т.к. количество импульсов набегает слишком долго (редко меняются показания)
Speed_half = Tcnt0 * 2 'добавим удвоение
A = Speed - Speed_half
A = A And &B0111111111111111 'модуль
If A > 2 Then
Speed = Speed_half
End If
End If
Timer2 = 135 'корректировочка 135 логан
Return
В конце 135 — поправочный коэффициент, подбирал его для каждой машины индивидуально (135 это для логана, для соляриса было меньше — у всех разные датчики скорости).
Обещанное видео. За качество простите, снимал на кусок синей изоленты одной рукой, другой рулил:
Индикаторы не горят, когда скорость меньше 3 км/ч. Если скорость больше 99, то отображает без первого знака.
Бюджет:
ATMega8 — 200р за 5 шт — 40р
Индикаторы — 825р за 10 шт — 165р
TD62783 — 250р за 5 шт — 50р
Остальная рассыпуха у меня была, но в целом видно, что в 500р можно уложиться.
Больше рассказать и нечего. Получился большой красивый счётчик. Тестировал на Солярисе. На фокусе не удалось, на фокусе не оказалось датчика скорости. Чуть допилю программу для работы с OBD2 через ELM327.
Папка с проектом на Яндекс.Диске
Всем спасибо за внимание!
Вот, собственно, основные предпосылки, которые сподвигли меня к приобретению именно этого спидометра.
Непосредственно о покупке
Цена у продавца, на момент приобретения, составляла 25.5$. Плюс раздавались купоны 2$ на покупку от 15$. Аналогов дешевле 23.5$ я не нашел.
2016-01-14 user_event_added
Посылка добавлена
2016-01-14 Finn post. Posti.
The item is not yet in Posti, VANTAA
2016-01-14 Finn post. Posti.
Item has been registered, VANTAA
2016-01-16 Finn post. Posti.
Item has arrived to warehouse, HONG KONG
2016-01-17 Finn post. Posti.
Item has departed from the warehouse, HONG KONG
2016-01-19 Finn post. Posti.
The item is on its way to the destination country, LUXEMBOURG
2016-01-26 Finn post. Posti.
The item is in transport, HKI VANTAA, ULKOMAANTERMINAALI
2016-01-26 Belarus Post;RU: БелПочта
Отправка отправления из учреждения обмена, HELSINKI
2016-01-30 Finn post. Posti.
The item has been submitted to customs clearance in the destination country, Ulkomaa/Foreign country
2016-01-30 Finn post. Posti.
Item arrived in the destination country, Ulkomaa/Foreign country
2016-01-30 Belarus Post;RU: БелПочта
Поступило в участок обработки почты, MINSK PI 2
2016-01-30 Belarus Post;RU: БелПочта
Прохождение по таможенной зоне, MINSK PI 2
2016-01-31 Belarus Post;RU: БелПочта
Отправка отправления в местное учреждение, MINSK PI 3
2016-01-31 Belarus Post;RU: БелПочта
08. Передано из (200400) в (220006) Минск — 6
2016-01-31 Finn post. Posti.
In transit, Ulkomaa/Foreign country
2016-02-01 Belarus Post;RU: БелПочта
06. Поступило в участок обработки почты (220006) Минск — 6
2016-02-01 Belarus Post;RU: БелПочта
09. Попытка доставки (220006) Минск — 6
2016-02-01 Finn post. Posti.
Delivery attempt made, addressee not reached, Ulkomaa/Foreign country
2016-02-01 Belarus Post;RU: БелПочта
Вручено, MINSK — 6
2016-02-01 Belarus Post;RU: БелПочта
10. Доставлено, вручено (220006) Минск — 6
В комлекте двухпозиционная резиновая подставка для удержания спидометра на панели стоя либо лёжа, довольно адекватная инструкция по переключению режимов на английском и кабель с micro-Usb для питания, длинный 182см.
В описании магазина в комплекте должна быть еще затемняющая плёнка на стекло под названием Reflection Film. Мне ее почему-то не положили, но т.к. ничего клеить на стекло я всё равно не собирался, это меня не расстроило. Если использовать спидометр в режиме проекции на лобовое стекло, в солнечный день была бы не лишней.
Размеры
Корпус спидометра аккуратно запаян, а потому перебороть соблазн препарирования было легко. Внутри должно быть как-то так
В работе
После подачи питания (включения зажигания) около минуты идет поиск спутников, затем спидометр начинает работать в соответствии с ранее установленными настройками. При отключении питания все настройки сохраняются.
Показания спидометра при постоянной скорости корректны и в милях и в километрах в час. Есть некоторая инертность при наборе скорости и торможении, отстает от штатного спидометра примерно на 2 секунды, но чуть позже заметил что так же происходит и в Navitel в смартфоне.
На видео сравнение показаний GPS спидометра с показаниями исправного штатного спидометра MB из США (стрелка в милях, цифры в км/ч)
Вывод:
Устройство отлично работает и полностью оправдало мои надежды. Отсутсвие необходимости в каких-либо манипуляциях в процессе использования заслужило величайшее одобрение со стороны моего пожилого Родителя.
Ну а нужно ли оно вам — решать конечно же вам.
Небольшая предыстория, наездившись на автомобилях одной баварской марки, чертовски привык к проекции показаний на лобовое стекло. Попав после этого в харизматичный, но напрочь французский пежо, офигел от абсолютной нечитаемости чрезвычайно красивого спидометра. Который ко всему прочему и размечен не по нашему — самого главного деления 80 км\ч просто нет. Ещё и цифры сверстаны по кругу. Дизайнеры… *facepalm
В БМВ работает это так. По умолчанию отображается скорость, остальные параметры добавляются по мере надобности (навигатор, активный круиз и т.д.) В старых моделях это просто разноцветные индикаторы как на фото, в современных уже полноценный цветной дисплей. Он разве что кино не показывает.
Помучившись месяц заказал HUD дисплей подключаемый к колодке OBD. Выбор именно этого гаджета был обусловлен только акционной ценой, мне он обошелся вроде в ~1300 рублей. Опущу обычные почтовые перепетии, но посылка пришла. В комплекте был дисплей, плоский кабель типа лапша Mini USB — OBDII, инструкция и отражающая пленка на стекло. Все лежало в очень презентабельной коробке.
Кабель используется и для питания и для передачи показаний. Кстати, кабель отличный, помещается в щель между стеклом и панелью, удобно протягивать. Но сразу предупрежу, длины кабеля мне не хватило (колодка obd по центру, под магнитолой), поэтому пришлось покупать удлинитель с плоской вилкой тут.
Подключил просто к колодке OBD, заработало прямо из коробки. А вот дальше начался жесткий колхозинг по допиливанию сего гаджета под себя. Итак:
1. дисплей может отображать кучу параметров. Но на французах особенная версия ПО, и он показывает только скорость и расход топлива. А так как мне нужна была одна только скорость, то пришлось заклеить ненужные сегменты.
2. выяснилось что поверхность дисплея видно с водительского места, что в общем не круто. Пришлось придумать и вырезать из твердого пластика что то типа бленды.
3. в стекле отражаются не только активные сегменты, но и неактивные. Тут выручила обычная тонировочная пленка.
В итоге получился вот такой ужас, в оправдание скажу, что все делал на коленке во дворе и это конечно тестовый вариант. Дача кончилась, гаража нет.
Самое забавное заключается в том, что когда я таки все это придумал, вырезал и собрал, случайно увидел на Али бленду, именно под мой HUD! Кстати! В верхней ссылке поставил адрес на первый попавшийся магазин, где есть такой комплект, а тут я покупал бленду отдельно. На фото уже стационарно установленный HUD с оригинальной блендой, под нормальным пластиком и со скрытой проводкой.
Комплектная пленка нужна для того, чтобы отраженное изображение не двоилось отражаясь от двух поверхностей триплекса. Пленку наклеивал на стекло несколько раз пока примерял, и в итоге испортил. На замену заказал компактную тут (мне же нужен только спидометр), правда она оказалась зеркальной. Наклеено специально так неровно, именно это положение я и искал так долго, так как стекло и панель приборов имеют криволинейную поверхность. В таком положении отражение цифр идеально горизонтальное.
В общем что можно сказать, даже днем видно все отлично несмотря на тонировочную пленку. Выцветает все только под прямыми лучами солнца. Правда надо понимать, это не совсем та проекция к которой мы привыкли. Что на Корветте 93 года, что на БМВ проектор располагается в глубине панели приборов, и проецирует изображение через систему линз так, как будто цифры висят над дорогой в 10..15 метрах впереди машины. Взгляд даже не надо перефокусировать. Этот же дисплей использует обычное прямое отражение от лобового стекла. Глаза все же приходится перефокусировать. Но цифры всегда рядом с линией взгляда и нормально воспринимаются переферийным зрением.
Яркость меняется сама когда въезжаешь в туннель или ночью. На первом кадре устройства, в углу, виден датчик света (не заклеенное солнышко в углу).
Обычная ночная освещенная дорога, типа МКАДа.
Полностью темная дорога в лесу. Дисплей не слепит и не мешает. Свет все же отраженный.
Устройство имеет достаточно много настроек, правда не очень удобно ими пользоваться. Но это нужно 1 раз буквально. Переведенную на русский язык инструкцию можно почитать у автора перевода тут
Пока придумывал все эти бленды, ждал удлинителя и т.п. несколько раз снимал дисплей с машины. После этого заставить себя смотреть на спидометр оказалось просто невозможно. А уж разглядеть там что то… Действительно долго сомневался оставлять это в машине или ну его, в итоге установил стационарно. Реально отслеживать скорость стало намного намного намного удобнее.
Как вывод. Рекомендовать такое не буду. Ну, просто потому что я против колхоза в принципе. Но вещь и правда удобная и если ставить удобство во главу угла, то… в общем смотрите последнее фото ))
Если вы давно хотели что-то поменять на приборной панели или просто обновить ее, предлагаем вам собрать цифровой спидометр. Делается он просто, требует минимум элементов и немного усилий. Зато позволит преобразить панель и придать ей новый образ. Придавая вашему автомобилю некий элемент отличия от остальных представителей этого же класса.
Конструкция схемы предельна, проста, для ее сборки вам понадобятся:
Понятно, что конструкция действительно очень проста, приступаем к самой сложной части. Прошивка микроконтроллера, будет зависеть от типа, установленного у вас датчика скорости. Один из самых распространенных датчиков выдает 6 импульсов на 1 метр пути. Прошивочный файл представленный в конце статьи сделан именно под такой датчик. Обновление показаний скорости запрограммировано на частоту в 2 Гц.
Принцип работы довольно простой, навесных элементов минимум, как видно из схемы.
Микроконтроллер ATmega8 не требует внешнего генератора импульсов или навесного конденсатора, т.к. содержит внутренний генератор, достаточно просто подать на него питание, и он генерирует сам для себя тактовую частоту в 1 МГц.
С фьюзами микроконтроллера также ничего не делаем, достаточно просто прошить. Микроконтроллер замеряет количество поступивших с датчика скорости импульсов в определенный период времени, вычисляет скорость, преобразует это значение в км/ч и выводит это значение на индикатор. Все это справедливо именно для семисегментного индикатора с общим анодом в случае использования любого другого схема работать не будет.
На фотографиях представлена трассировка платы, для установки всех необходимых элементов и окончательный вид устройства. И указано местонахождения датчика скорости в автомобиле, если вдруг возникнет проблема, где его искать.
Читайте также: