Спидометр и тахометр на ARDUINO для автомобиля с сигнализатором превышения скорости
- Подробности
 - Категория: Схемы на Arduino
 - Опубликовано: 05.02.2018 22:52
 - Просмотров: 4320
 
Каравкин В.
 В статье автора «Спидометр и тахометр на ARDUINO для автомобиля», в журнале «Радиоконструктор» №12 за 2016 год было описание несложного, благодаря использованию готового микроконтроллерного модуля ARDUINO UNO, прибора, на двухстрочном ЖК-дисплее показывающего скорость движения автомобиля и частоту вращения коленвала двигателя. Но тот прибор только показывал скорость, а здесь предлагается дополнение к нему, чтобы он не только показывал скорость движения, но и подавал звуковой сигнал водителю, если скорость превысила некий порог, например, 60 км/час при езде по городу или 90 км/час при езде по шоссе.

 Суть дополнения в том, что в схему вводится схема на транзисторном ключе VT3, с зуммером в коллекторной цепи (рис.1). На базу этого транзистора управляющее напряжение подается через переключатель S1 либо с порта D12, либо с порта D11 платы ARDUINO UNO.
 Этот переключатель S1 служит для выбора режима «город / шоссе». В положении «город» зуммер BF1 звучит при превышении скорости 60 км/час, а в положении «шоссе» зуммер звучит при превышении скорости 90 км/час. Выключатель S2 служит для отключения данной функции.
 Значения скорости 60 и 90 км/час задаются в программе, и их легко можно заменить на другие значения, - какие угодно.
 Существенные изменения касаются не только схемы, но и программы (таблица 1).
 В программе добавляются два цифровых выхода, и вводится компараторная функция, которая следит за результатами измерения скорости и соответственно, изменяет логические уровни на этих двух цифровых выходах.
 Цифровые выходы заданы в строках:
 pinMode(11, OUTPUT);
 pinMode(12, OUTPUT); 
 Для включения сигнализатора превышения скорости используется компараторная функция if
 В строке:
 if(frequency1>90)digitalWrite(11, HIGH);
 указывается, что при превышении скоростью значения 90 км/час на порту 11 устанавливается логическая единица. В строке:
 if(frequency1<90)digitalWrite(11, LOW) ;
 указывается, что при скорости ниже значения 90 км/час на порту 11 устанавливается логический ноль.
 В строке:
 if(frequency1>60)digitalWrite(12, HIGH);
 указывается, что при превышении
 скоростью значения 60 км/час на порту 12 устанавливается логическая единица. В строке:
 if (f requency1<60) digitalWrite (12 , LOW) ;
 указывается, что при скорости ниже значения 60 км/час на порту 12 устанавливается логический ноль.
 Вместо значений «60» и «90» можно подставить любые другие значения скорости, на которые будет срабатывать звуковой сигнализатор.
 Литература:
 1. Каравкин В. «Спидометр и тахометр
 на ARDUINO для автомобиля».
 ж. Радиоконструктор, №12, 2016г. стр.
 34-36.
 РК 02-2017
 

