ٹریفک پولیس کیلئے گاڑی کی رفتار کا پتہ لگانے والا سرکٹ

مسائل کو ختم کرنے کے لئے ہمارے آلے کو آزمائیں





اس پوسٹ میں ہم ایک سرکٹ تعمیر کرنے جارہے ہیں جو سڑکوں اور شاہراہوں پر کسی بھی گاڑی کی رفتار کی پیمائش کرسکتا ہے۔ مجوزہ سرکٹ کو ایسی جگہ پر اسٹیشنری رکھا گیا ہے جہاں گاڑیوں کو تیز رفتار ہونے کا شبہ ہے۔ اگر کوئی گاڑی رفتار کی حد سے آگے نکل جاتی ہے تو ، سرکٹ فوری طور پر الرٹ ہوجاتا ہے۔ ہم کوڈ ، سرکٹ ڈایاگرام اور منطق تلاش کریں گے کہ کس طرح گاڑی کی رفتار کی پیمائش ہوتی ہے۔

مقصد

بھارت میں حادثاتی موت کی رپورٹ 2015 کے مطابق تیزرفتاری سے 75 فیصد سڑک حادثات کا سبب بنتے ہیں ، یہ ایک بہت بڑی تعداد ہے۔ زیادہ تر ٹریفک پولیس ان موٹرسائیکلوں کو حراست میں لینے کی کوشش کرتی ہے جو اپنی گاڑی کو خطرناک حد تک شہر کی رفتار کی حد سے آگے لے جاتے ہیں۔



ہر بار نہیں جب ٹریفک پولیس ایک تیز رفتار گاڑی کو روک کر ان سے چارج کرسکتی ہے۔ لہذا اسپیڈ کیمرا نامی ایک ڈیوائس انسٹال کی گئی ہے جہاں موٹرسائیکلوں کو تیزرفتاری کا شبہ ہوتا ہے جیسے اکثر حادثات کا شکار علاقوں ، چوراہے وغیرہ۔

ہم اسپیڈ کیمرا سے ملتا جلتا کچھ تیار کرنے جارہے ہیں ، لیکن بہت آسان طریقے سے ، جو کیمپس کے اندر نصب کیا جاسکتا ہے جیسے اسکول ، کالج یا آئی ٹی پارکس یا کسی تفریحی منصوبے کی طرح۔



مجوزہ پروجیکٹ میں 16 ایکس 2 LCD ڈسپلے شامل ہیں جس میں دو لیزر بیموں سے گزرنے والی ہر گاڑی کی رفتار کو ظاہر کیا جاسکتا ہے جو لیزر بیموں میں مداخلت کرتے ہوئے گاڑی کی رفتار کی پیمائش کے ل exactly 10 میٹر کے فاصلے پر رکھی جاتی ہے۔

جب کوئی گاڑی گذرتی ہے تو ایک بوزر بپ ہوجاتا ہے جس میں اس بات کا اشارہ ہوتا ہے کہ گاڑی کا پتہ چلا ہے اور ہر گاڑی کی رفتار ایل سی ڈی ڈسپلے پر آویزاں ہوگی۔ جب کوئی گاڑی رفتار کی حد سے آگے جارہی ہے تو بزر مستقل طور پر بپ ہوجائے گا اور ڈسپلے پر گاڑی کی رفتار دکھائی جائے گی۔

نوٹ: گاڑی کی رفتار تیز رفتار سے چل رہی ہے یا اس کی قطع نظر اس سے قطع نظر کہ گاڑی کی رفتار LCD پر ظاہر ہوگی۔

اب رفتار کی پیمائش کرنے کے لئے سرکٹ کے پیچھے کی منطق دیکھیں۔

ہم سب ایک سادہ فارمولہ جانتے ہیں جس کا نام رفتار - فاصلہ - وقت کا فارمولہ ہے۔
رفتار = فاصلہ / وقت۔

meter میٹر فی سیکنڈ میں ،
meter میٹر میں فاصلہ ،
• سیکنڈ میں وقت.

اس رفتار کو جاننے کے ل we ، ہمیں فاصلہ جاننا ہو گا 'x' جس فاصلے کو پورا کرنے میں 'X' کا فاصلہ طے کرنے کے لئے ایک گاڑی اور وقت سے طے کیا تھا۔

ایسا کرنے کے لئے ، ہم مندرجہ ذیل فیشن میں 10 میٹر فاصلے کے ساتھ دو لیزر بیم اور دو ایل ڈی آر ترتیب دے رہے ہیں۔

ٹریفک گاڑی کی رفتار کی پیمائش

ہمیں معلوم ہے کہ فاصلہ 10 میٹر ہے جو طے شدہ ہے ، اب ہمیں مساوات میں وقت جاننا ہوگا۔

اس وقت کا حساب اردوینو کے ذریعہ کیا جائے گا ، جب گاڑی 'اسٹارٹ لیزر' میں رکاوٹ ڈالتی ہے تو ، ٹائمر شروع ہوتا ہے اور جب گاڑی 'اینڈ لیزر' میں رکاوٹ ڈالتی ہے تو ٹائمر رک جاتا ہے اور مساوات آردوینو پر اقدار کا اطلاق کرنے سے گاڑی کی رفتار مل جاتی ہے۔

براہ کرم نوٹ کریں کہ گاڑی کی رفتار صرف ایک سمت میں معلوم ہوگی یعنی لیزر کو روکنے کے ل la لیزر کو اسٹارٹ کرنے کے ل the ، گاڑی کو کسی اور سمت سے کھوجنے کے ل opposite ، اسی سمت میں مخالف سمت پر ایک اور سیٹ اپ ہونا پڑتا ہے۔ لہذا ، اسکول ، کولاجی وغیرہ جیسے مقامات کے لئے یہ مثالی ہے جہاں ان کے اندر اور آؤٹ گیٹ ہوتے ہیں۔

اب آئیے اسکیمیٹک آریگرام ملاحظہ کریں:

ارڈینو اور ڈسپلے کے درمیان رابطہ:

LCD گاڑی کی رفتار ڈسپلے

سرکٹ کے اوپر خود کی وضاحت ہے اور صرف سرکٹ کے مطابق وائرنگ کو جوڑیں۔ ڈسپلے کے برعکس کو ایڈجسٹ کرنے کیلئے 10K پوٹینومیٹر کو ایڈجسٹ کریں۔

اضافی وائرنگ کی تفصیلات:

اسپیڈ گاڑی کے فاصلے کی پیمائش کی وائرنگ ترتیب دی گئی

مذکورہ بالا سرکٹ آردوینو ، 4 پش بٹن ، دو 10K پل ڈاون ریڈیسٹرس (ریسٹرز کی قدر کو تبدیل نہ کریں) ، دو ایل ڈی آر اور ایک بزر پر مشتمل ہے۔ 4 پش بٹنوں کا کام جلد ہی بیان کیا جائے گا۔ اب آئیے دیکھتے ہیں کہ ایل ڈی آر کو صحیح طریقے سے کیسے ماؤنٹ کیا جائے۔

گاڑی کی رفتار کا پتہ لگانے کیلئے ایل ڈی آر کا گونگا

ایل ڈی آر ضروری ہے کہ مجھے سورج کی روشنی سے مناسب طریقے سے ڈھانپیں ، صرف لیزر بیم ہی ایل ڈی آر پر حملہ کرے۔ اس بات کو یقینی بنائیں کہ آپ کا لیزر ماڈیول اتنا طاقتور ہے کہ چمکتی سورج کی چمک میں کام کر سکے۔
آپ مذکورہ مقصد کے لئے پیویسی پائپ کا استعمال کرسکتے ہیں اور اسے ٹیوب کے اندر سیاہ رنگ کر سکتے ہیں ، اگلے حصے کا احاطہ کرنا نہ بھولیں ، اس کو پورا کرنے کے لئے اپنی تخلیقی صلاحیتوں کا استعمال کریں۔

پروگرام کا کوڈ:

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

اب آئیے دیکھتے ہیں کہ اس سرکٹ کو کیسے چلائیں:

you سرکٹ مکمل کریں اور کوڈ اپلوڈ کریں۔
la دو لیزرز / ایل ڈی آر کے مابین دقیقہ فاصلہ 10 میٹر ہونا چاہئے ، کم یا زیادہ نہیں ، ورنہ رفتار کو غلط حساب کتاب کیا جائے گا (پہلے آریھ میں دکھایا گیا ہے)۔
ser لیزر اور ایل ڈی آر کے مابین فاصلہ آپ کی پسند اور حالات کا سبب بن سکتا ہے۔
circuit سرکٹ LDR کے ساتھ لیزر غلط تفریق کے لئے جانچ کرے گا ، اگر کوئی براہ کرم LCD پر ظاہر کردہ معلومات کے مطابق اسے درست کردے۔
• ابتدائی طور پر سرکٹ آپ کو کلومیٹر فی گھنٹہ میں رفتار کی حد درج کرنے کو کہے گا جس سے آگے سرکٹ الرٹ ہوجاتا ہے ، (S1) اور نیچے (S2) دباکر آپ ڈسپلے پر نمبر تبدیل کرسکتے ہیں اور سیٹ (S3) پریس کرسکتے ہیں ، قیمت بچ جائے گی۔
speed اس رفتار کی حد کو تبدیل کرنے کے ل button ، بٹن S4 دبائیں اور آپ ایک نئی رفتار کی حد مقرر کرسکتے ہیں۔
• اب 30 کلومیٹر فی گھنٹہ کی رفتار سے موٹر بائک ڈرائیو لیں اور لیزر بیموں میں خلل ڈالیں ، سرکٹ آپ کو 30 کلومیٹر فی گھنٹہ کے قریب ایک نمبر دکھائے۔
• آپ کر چکے ہیں اور آپ کا سرکٹ آپ کے کیمپس کی حفاظت کے لئے تیار ہے۔

مصنف کا پروٹو ٹائپ:

گاڑی کی رفتار کا پتہ لگانے والا پروٹو ٹائپ

اگر اس ٹریفک پولیس گاڑی سپیڈ ڈٹیکٹر سرکٹ کے بارے میں کوئی سوالات ہیں تو ، براہ کرم بلا جھجک تبصرہ سیکشن میں پوچھیں ، آپ کو فوری جواب مل سکتا ہے۔




پچھلا: پیر سینسر ڈیٹا شیٹ ، پن آؤٹ نردجیکرن ، کام کرنا اگلا: ریموٹ کنٹرول ٹیسٹر سرکٹ