ట్రాఫిక్ పోలీసులకు వెహికల్ స్పీడ్ డిటెక్టర్ సర్క్యూట్

సమస్యలను తొలగించడానికి మా పరికరాన్ని ప్రయత్నించండి





ఈ పోస్ట్‌లో రోడ్లు మరియు రహదారులపై ఏదైనా వాహనం యొక్క వేగాన్ని కొలవగల సర్క్యూట్‌ను నిర్మించబోతున్నాం. వాహనాలు అధిక వేగంతో అనుమానించబడే ప్రదేశంలో ప్రతిపాదిత సర్క్యూట్ స్థిరంగా ఉంచబడుతుంది. ఏదైనా వాహనం వేగ పరిమితిని దాటితే, సర్క్యూట్ వెంటనే హెచ్చరిస్తుంది. వాహనం యొక్క వేగాన్ని ఎలా కొలుస్తారో మేము కోడ్, సర్క్యూట్ రేఖాచిత్రం మరియు తర్కాన్ని చూస్తాము.

ఆబ్జెక్టివ్

భారతదేశంలో ప్రమాదవశాత్తు మరణ నివేదిక 2015 ప్రకారం అధిక వేగంతో 75% రోడ్డు ప్రమాదాలు సంభవిస్తాయి, ఇది చాలా పెద్ద సంఖ్య. చాలా మంది ట్రాఫిక్ పోలీసులు తమ వాహనాన్ని నగర వేగ పరిమితికి మించి ప్రమాదకరంగా నడిపే వాహనదారులను అదుపులోకి తీసుకోవడానికి ప్రయత్నిస్తారు.



ప్రతిసారీ ట్రాఫిక్ పోలీసులు ఓవర్ స్పీడింగ్ వాహనాన్ని ఆపి ఛార్జ్ చేయలేరు. కాబట్టి స్పీడ్ కెమెరా అని పిలువబడే ఒక పరికరం వ్యవస్థాపించబడుతుంది, ఇక్కడ వాహనదారులు తరచుగా ప్రమాదానికి గురయ్యే ప్రాంతాలు, కూడళ్లు మొదలైనవి అధిక వేగంతో అనుమానిస్తారు.

మేము స్పీడ్ కెమెరాతో సమానమైనదాన్ని నిర్మించబోతున్నాము, కానీ చాలా సరళంగా, పాఠశాల, కళాశాల లేదా ఐటి పార్కులు వంటి క్యాంపస్ లోపల లేదా సరదా ప్రాజెక్టుగా వ్యవస్థాపించవచ్చు.



ప్రతిపాదిత ప్రాజెక్టులో 16 లేజర్ కిరణాల గుండా వెళుతున్న ప్రతి వాహనం యొక్క వేగాన్ని ప్రదర్శించడానికి 16 x 2 ఎల్‌సిడి డిస్‌ప్లే ఉంటుంది, ఇవి లేజర్ కిరణాలకు అంతరాయం కలిగించేటప్పుడు వాహనం యొక్క వేగాన్ని కొలవడానికి సరిగ్గా 10 మీటర్ల దూరంలో ఉంచబడతాయి.

ఒక వాహనం కనుగొనబడినప్పుడు ఒక బజర్ బీప్ అవుతుంది మరియు ఒక వాహనం కనుగొనబడిందని సూచిస్తుంది మరియు ప్రతి వాహనం యొక్క వేగం LCD డిస్ప్లేలో ప్రదర్శించబడుతుంది. ఒక వాహనం వేగ పరిమితిని దాటినప్పుడు బజర్ నిరంతరం బీప్ అవుతుంది మరియు వాహనం యొక్క వేగం ప్రదర్శనలో చూపబడుతుంది.

గమనిక: వాహనం వేగం కంటే ఎక్కువ లేదా వేగంతో సంబంధం లేకుండా వాహనం యొక్క వేగం LCD లో ప్రదర్శించబడుతుంది.

ఇప్పుడు వేగాన్ని కొలవడానికి సర్క్యూట్ వెనుక ఉన్న తర్కాన్ని చూద్దాం.

మనందరికీ వేగం - దూరం - సమయ సూత్రం అనే సాధారణ సూత్రం తెలుసు.
వేగం = దూరం / సమయం.

Second సెకనుకు మీటర్‌లో వేగం,
Meter మీటర్‌లో దూరం,
• సెకన్లలో సమయం.

వేగం తెలుసుకోవటానికి, ఒక వాహనం ప్రయాణించిన “x” దూరం మరియు ఆ దూరాన్ని “x” కవర్ చేయడానికి తీసుకున్న సమయం తెలుసుకోవాలి.

ఇది చేయుటకు మేము ఈ క్రింది పద్ధతిలో 10 మీటర్ల దూరంతో రెండు లేజర్ కిరణాలు మరియు రెండు ఎల్‌డిఆర్‌లను ఏర్పాటు చేస్తున్నాము:

ట్రాఫిక్ వాహన వేగం కొలత

దూరం 10 మీటర్ అని మనకు తెలుసు, ఇది స్థిరంగా ఉంది, ఇప్పుడు మనం సమీకరణంలో సమయాన్ని తెలుసుకోవాలి.

సమయం ఆర్డునో చేత లెక్కించబడుతుంది, వాహనం “స్టార్ట్ లేజర్” కు అంతరాయం కలిగించినప్పుడు, టైమర్ ప్రారంభమవుతుంది మరియు వాహనం “ఎండ్ లేజర్” కు అంతరాయం కలిగించినప్పుడు టైమర్ ఆగి, విలువలను సమీకరణానికి వర్తింపజేస్తే ఆర్డునో వాహనం యొక్క వేగాన్ని కనుగొంటుంది.

దయచేసి వాహనం యొక్క వేగం ఒక దిశలో మాత్రమే కనుగొనబడుతుందని గమనించండి, అనగా లేజర్‌ను ఆపడానికి లేజర్‌ను ప్రారంభించండి, వాహనాన్ని మరొక దిశలో గుర్తించడానికి మరొక సెటప్ వ్యతిరేక దిశలో ఉండాలి. కాబట్టి, పాఠశాల, కోల్లెజ్ మొదలైన వాటికి IN మరియు U ట్ గేట్లు ఉన్న ప్రదేశాలకు ఇది అనువైనది.

ఇప్పుడు స్కీమాటిక్ రేఖాచిత్రాన్ని చూద్దాం:

Arduino మరియు ప్రదర్శన మధ్య కనెక్షన్:

ఎల్‌సిడి వాహన వేగం ప్రదర్శన

పైన సర్క్యూట్ స్వీయ వివరణాత్మకమైనది మరియు సర్క్యూట్ ప్రకారం వైరింగ్ను కనెక్ట్ చేయండి. డిస్ప్లే కాంట్రాస్ట్‌ను సర్దుబాటు చేయడానికి 10 కె పొటెన్షియోమీటర్‌ను సర్దుబాటు చేయండి.

అదనపు వైరింగ్ వివరాలు:

స్పీడ్ వెహికల్ డిస్టెన్స్ కొలత వైరింగ్ ఏర్పాటు చేయబడింది

పై సర్క్యూట్లో ఆర్డునో, 4 పుష్ బటన్లు, రెండు 10 కె పుల్ డౌన్ రెసిస్టర్లు (రెసిస్టర్‌ల విలువను మార్చవద్దు), రెండు ఎల్‌డిఆర్‌లు మరియు ఒక బజర్ ఉంటాయి. 4 పుష్ బటన్ల పనితీరు త్వరలో వివరించబడుతుంది. ఇప్పుడు LDR ను ఎలా సరిగ్గా మౌంట్ చేయాలో చూద్దాం.

వాహన వేగం గుర్తించడానికి ఎల్‌డిఆర్ మౌటింగ్

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 ---------//

ఇప్పుడు ఈ సర్క్యూట్‌ను ఎలా ఆపరేట్ చేయాలో చూద్దాం:

Circuit మీరు సర్క్యూట్ పూర్తి చేసి కోడ్‌ను అప్‌లోడ్ చేయండి.
L రెండు లేజర్‌లు / ఎల్‌డిఆర్‌ల మధ్య దూరం సరిగ్గా 10 మీటర్లు ఉండాలి, తక్కువ లేదా అంతకంటే ఎక్కువ ఉండకూడదు, లేకపోతే వేగం తప్పుగా లెక్కించబడుతుంది (మొదటి రేఖాచిత్రంలో చూపబడింది).
Choice లేజర్ మరియు ఎల్‌డిఆర్ మధ్య దూరం మీకు నచ్చిన మరియు పరిస్థితుల ద్వారా చేయవచ్చు.
D సర్క్యూట్ LDR తో లేజర్ తప్పుగా అమర్చబడిందో లేదో తనిఖీ చేస్తుంది, దయచేసి LCD లో ప్రదర్శించబడిన సమాచారం ప్రకారం దాన్ని సరిచేయండి.
Ially మొదట్లో సర్క్యూట్ కిమీ / గం లో వేగ పరిమితి విలువను ఎంటర్ చేయమని అడుగుతుంది, దానికి మించి సర్క్యూట్ హెచ్చరికలు, పైకి (ఎస్ 1) మరియు డౌన్ (ఎస్ 2) నొక్కడం ద్వారా మీరు డిస్ప్లేలో సంఖ్యను మార్చవచ్చు మరియు సెట్ (ఎస్ 3) నొక్కండి, ఇది విలువ సేవ్ చేయబడుతుంది.
Speed ​​ఈ వేగ పరిమితిని మార్చడానికి, బటన్ S4 నొక్కండి మరియు మీరు కొత్త వేగ పరిమితిని సెట్ చేయవచ్చు.
• ఇప్పుడు గంటకు 30 కి.మీ వేగంతో మోటారు బైక్ డ్రైవ్ తీసుకొని లేజర్ కిరణాలకు అంతరాయం కలిగించండి, సర్క్యూట్ మీకు గంటకు 30 కి.మీ.కి దగ్గరగా ఉన్న సంఖ్యను చూపిస్తుంది.
• మీరు పూర్తి చేసారు మరియు మీ సర్క్యూట్ మీ క్యాంపస్ భద్రతకు సేవ చేయడానికి సిద్ధంగా ఉంది.

రచయిత యొక్క నమూనా:

వాహన వేగం గుర్తించే నమూనా

ఈ ట్రాఫిక్ పోలీసు వాహన వేగం డిటెక్టర్ సర్క్యూట్‌కు సంబంధించి ఏవైనా ప్రశ్నలు ఉంటే, దయచేసి వ్యాఖ్య విభాగంలో అడగడానికి సంకోచించకండి, మీకు శీఘ్ర సమాధానం లభిస్తుంది.




మునుపటి: పిఐఆర్ సెన్సార్ డేటాషీట్, పిన్అవుట్ స్పెసిఫికేషన్స్, వర్కింగ్ తర్వాత: రిమోట్ కంట్రోల్ టెస్టర్ సర్క్యూట్