Схема датчика скорости автомобиля для дорожной полиции

Попробуйте наш инструмент устранения неполадок





В этом посте мы собираемся построить схему, которая может измерять скорость любого транспортного средства на дорогах и шоссе. Предлагаемая схема остается неподвижной в месте, где автомобили предположительно превышают скорость. Если какое-либо транспортное средство превысит допустимую скорость, цепь немедленно предупредит об этом. Мы будем искать код, принципиальную схему и логику, как измеряется скорость транспортного средства.

Цель

Согласно отчету о несчастных случаях со смертельным исходом за 2015 год в Индии, превышение скорости вызывает 75% дорожно-транспортных происшествий, это огромное количество. В большинстве случаев дорожная полиция пытается задержать автомобилистов, которые опасно выезжают на своем автомобиле за пределы городской скорости.



Не каждый раз ГАИ может остановить разгоняющийся автомобиль и зарядить его. Таким образом, устройство, называемое камерой контроля скорости, устанавливается там, где автомобилисты подозреваются в превышении скорости, например, на участках, подверженных частым авариям, перекресткам и т. Д.

Мы собираемся построить что-то похожее на камеру контроля скорости, но намного упрощенным способом, которое можно установить внутри кампуса, такого как школа, колледж или IT-парки, или просто в качестве развлекательного проекта.



Предлагаемый проект состоит из ЖК-дисплея 16 x 2 для демонстрации скорости каждого транспортного средства, проходящего через два лазерных луча, которые расположены друг от друга на расстоянии ровно 10 метров, для измерения скорости транспортного средства при прерывании этих лазерных лучей.

При проезде транспортного средства раздастся звуковой сигнал, указывающий на то, что транспортное средство обнаружено, и скорость каждого транспортного средства будет отображаться на ЖК-дисплее. Когда транспортное средство выходит за пределы установленной скорости, зуммер издает непрерывный звуковой сигнал, и на дисплее отображается скорость транспортного средства.

ПРИМЕЧАНИЕ. Скорость автомобиля будет отображаться на ЖК-дисплее независимо от того, движется он с большей или меньшей скоростью.

Теперь давайте посмотрим на логику схемы измерения скорости.

Все мы знаем простую формулу, называемую формулой скорость - расстояние - время.
Скорость = Расстояние / Время.

• Скорость в метрах в секунду,
• Расстояние в метрах,
• Время в секундах.

Чтобы узнать скорость, мы должны знать расстояние, скажем «x», пройденное транспортным средством, и время, затраченное на преодоление этого расстояния «x».

Для этого мы настраиваем два лазерных луча и два LDR на расстоянии 10 метров следующим образом:

Измерение скорости транспортного средства

Мы знаем, что расстояние составляет 10 метров, что является фиксированным, теперь мы должны знать время в уравнении.

Время будет рассчитано Arduino, когда транспортное средство прерывает «пусковой лазер», запускается таймер, а когда транспортное средство прерывает «конечный лазер», таймер останавливается и, применяя значения к уравнению, Arduino найдет скорость транспортного средства.

Обратите внимание, что скорость транспортного средства будет определяться только в одном направлении, то есть запуск лазера для остановки лазера, для обнаружения транспортного средства в другом направлении необходимо установить другую такую ​​же настройку в противоположном направлении. Таким образом, это идеально подходит для таких мест, как школа, коллаж и т. Д., Где есть входные и выходные ворота.

Теперь давайте посмотрим на схему:

Связь между Arduino и дисплеем:

ЖК-дисплей скорости автомобиля

Схема выше говорит сама за себя, просто подключите проводку в соответствии со схемой. Отрегулируйте потенциометр 10K для регулировки контрастности дисплея.

Дополнительные сведения о проводке:

Установка проводки для измерения расстояния

Вышеупомянутая схема состоит из Arduino, 4 кнопок, двух понижающих резисторов 10 кОм (не меняют номиналы резисторов), двух LDR и одного зуммера. Вскоре будут объяснены функции 4-х кнопок. Теперь давайте посмотрим, как правильно установить LDR.

LDR mouting для определения скорости автомобиля

LDR должен быть укрыт от солнечного света должным образом, только лазерный луч должен попадать на LDR. Убедитесь, что ваш лазерный модуль достаточно мощный, чтобы работать при ярком солнечном свете.
Вы можете использовать трубу из ПВХ для вышеуказанной цели и покрасить ее в черный цвет внутри трубы, не забудьте закрыть переднюю часть, проявите свой творческий потенциал, чтобы добиться этого.

Программный код:

// ----------- Developed by R.GIRISH ---------//
#include
#include
const int rs = 7
const int en = 6
const int d4 = 5
const int d5 = 4
const int d6 = 3
const int d7 = 2
LiquidCrystal lcd(rs, en, d4, d5, d6, d7)
const int up = A0
const int down = A1
const int Set = A2
const int change = A3
const int start = 8
const int End = 9
const int buzzer = 10
const float km_h = 3.6
int distance = 10 // In meters.
int variable = 0
int count = 0
int address = 0
int value = 100
int speed_address = 1
int speed_value = 0
int i = 0
float ms = 0
float Seconds = 0
float Speed = 0
boolean buzz = false
boolean laser = false
boolean x = false
boolean y = false
void setup()
{
pinMode(start, INPUT)
pinMode(End, INPUT)
pinMode(up, INPUT)
pinMode(down, INPUT)
pinMode(Set, INPUT)
pinMode(change, INPUT)
pinMode(buzzer, OUTPUT)
digitalWrite(change, HIGH)
digitalWrite(up, HIGH)
digitalWrite(down, HIGH)
digitalWrite(Set, HIGH)
digitalWrite(buzzer, LOW)
lcd.begin(16, 2)
lcd.clear()
lcd.setCursor(0, 0)
lcd.print(F(' Vehicle Speed'))
lcd.setCursor(0, 1)
lcd.print(F(' detector'))
delay(1500)
if (EEPROM.read(address) != value)
{
lcd.clear()
lcd.setCursor(0, 0)
lcd.print('Set Speed Limit')
lcd.setCursor(0, 1)
lcd.print('km/h:')
lcd.setCursor(6, 1)
lcd.print(count)
while (x == false)
{
if (digitalRead(up) == LOW)
{
lcd.setCursor(6, 1)
count = count + 1
lcd.print(count)
delay(200)
}
if (digitalRead(down) == LOW)
{
lcd.setCursor(6, 1)
count = count - 1
lcd.print(count)
delay(200)
}
if (digitalRead(Set) == LOW)
{
speed_value = count
lcd.clear()
lcd.setCursor(0, 0)
lcd.print('Speed Limit is')
lcd.setCursor(0, 1)
lcd.print('set to ')
lcd.print(speed_value)
lcd.print(' km/h')
EEPROM.write(speed_address, speed_value)
delay(2000)
x = true
}
}
EEPROM.write(address, value)
}
lcd.clear()
lcd.setCursor(0, 0)
lcd.print('Testing Laser')
lcd.setCursor(0, 1)
lcd.print('Alignment....')
delay(1500)
while (laser == false)
{
if (digitalRead(start) == HIGH && digitalRead(End) == HIGH)
{
laser = true
lcd.clear()
lcd.setCursor(0, 0)
lcd.print('Laser Alignment')
lcd.setCursor(0, 1)
lcd.print('Status: OK')
delay(1500)
}
while (digitalRead(start) == LOW && digitalRead(End) == LOW)
{
lcd.clear()
lcd.setCursor(0, 0)
lcd.print('Both Lasers are')
lcd.setCursor(0, 1)
lcd.print('not Aligned')
delay(1000)
}
while (digitalRead(start) == LOW)
{
lcd.clear()
lcd.setCursor(0, 0)
lcd.print('Start Laser not')
lcd.setCursor(0, 1)
lcd.print('Aligned')
delay(1000)
}
while (digitalRead(End) == LOW)
{
lcd.clear()
lcd.setCursor(0, 0)
lcd.print('End Laser not')
lcd.setCursor(0, 1)
lcd.print('Aligned')
delay(1000)
}
}
lcd.clear()
}
void loop()
{
if (digitalRead(change) == LOW)
{
change_limit()
}
if (digitalRead(start) == LOW)
{
variable = 1
buzz = true
while (variable == 1)
{
ms = ms + 1
delay(1)
if (digitalRead(End) == LOW)
{
variable = 0
}
}
Seconds = ms / 1000
ms = 0
}
if (Speed {
y = true
}
Speed = distance / Seconds
Speed = Speed * km_h
if (isinf(Speed))
{
lcd.setCursor(0, 0)
lcd.print('Speed:0.00')
lcd.print(' km/h ')
}
else
{
lcd.setCursor(0, 0)
lcd.print('Speed:')
lcd.print(Speed)
lcd.print('km/h ')
lcd.setCursor(0, 1)
lcd.print(' ')
if (buzz == true)
{
buzz = false
digitalWrite(buzzer, HIGH)
delay(100)
digitalWrite(buzzer, LOW)
}
if (Speed > EEPROM.read(speed_address))
{
lcd.setCursor(0, 0)
lcd.print('Speed:')
lcd.print(Speed)
lcd.print('km/h ')
lcd.setCursor(0, 1)
lcd.print('Overspeed Alert!')
if (y == true)
{
y = false
for (i = 0 i <45 i++)
{
digitalWrite(buzzer, HIGH)
delay(50)
digitalWrite(buzzer, LOW)
delay(50)
}
}
}
}
}
void change_limit()
{
x = false
count = EEPROM.read(speed_address)
lcd.clear()
lcd.setCursor(0, 0)
lcd.print('Set Speed Limit')
lcd.setCursor(0, 1)
lcd.print('km/h:')
lcd.setCursor(6, 1)
lcd.print(count)
while (x == false)
{
if (digitalRead(up) == LOW)
{
lcd.setCursor(6, 1)
count = count + 1
lcd.print(count)
delay(200)
}
if (digitalRead(down) == LOW)
{
lcd.setCursor(6, 1)
count = count - 1
lcd.print(count)
delay(200)
}
if (digitalRead(Set) == LOW)
{
speed_value = count
lcd.clear()
lcd.setCursor(0, 0)
lcd.print('Speed Limit is')
lcd.setCursor(0, 1)
lcd.print('set to ')
lcd.print(speed_value)
lcd.print(' km/h')
EEPROM.write(speed_address, speed_value)
delay(2000)
x = true
lcd.clear()
}
}
}
// ----------- Developed by R.GIRISH ---------//

Теперь посмотрим, как работать с этой схемой:

• Завершите схему и загрузите код.
• Расстояние между двумя лазерами / LDR должно быть ровно 10 метров, ни меньше, ни больше, в противном случае скорость будет рассчитана неправильно (показано на первой диаграмме).
• Расстояние между лазером и LDR может зависеть от вашего выбора и обстоятельств.
• Схема проверит несоосность лазера с LDR, если есть, исправьте его в соответствии с информацией, отображаемой на ЖК-дисплее.
• Первоначально схема попросит вас ввести значение ограничения скорости в км / ч, при превышении которого схема будет предупреждать, нажимая вверх (S1) и вниз (S2), вы можете изменить число на дисплее и нажать кнопку set (S3), это значение будет сохранено.
• Чтобы изменить это ограничение скорости, нажмите кнопку S4, и вы можете установить новое ограничение скорости.
• Теперь проехать на мотоцикле со скоростью 30 км / ч и прервать лазерные лучи, схема должна показать вам число, очень близкое к 30 км / ч.
• Вы закончили, и ваша трасса готова обеспечить безопасность вашего кампуса.

Авторский прототип:

Прототип обнаружения скорости автомобиля

Если у вас есть какие-либо вопросы относительно этой схемы датчика скорости транспортного средства ГАИ, не стесняйтесь спрашивать в разделе комментариев, вы можете получить быстрый ответ.




Предыдущая статья: Техническое описание датчика PIR, спецификации распиновки, работа Следующая статья: Схема тестера дистанционного управления