ট্র্যাফিক পুলিশের জন্য যানবাহনের গতি সনাক্তকারী সার্কিট

ট্র্যাফিক পুলিশের জন্য যানবাহনের গতি সনাক্তকারী সার্কিট

এই পোস্টে আমরা একটি সার্কিট তৈরি করতে যা যা রাস্তা এবং মহাসড়কে যে কোনও যানবাহনের গতি মাপতে পারে। প্রস্তাবিত সার্কিটটি এমন জায়গায় স্থির রাখা হয়েছে যেখানে যানবাহনগুলি অতিরিক্ত গতির সন্দেহ হয়। যদি কোনও যানবাহন গতির সীমা ছাড়িয়ে যায় তবে সার্কিট তত্ক্ষণাত সতর্ক করে দেয়। আমরা কোড, সার্কিট ডায়াগ্রাম এবং যুক্তি সন্ধান করব যা কীভাবে গাড়ির গতি পরিমাপ করা হয়।



উদ্দেশ্য

ভারতে গতিবেগের কারণে ভারতে দুর্ঘটনাজনিত মৃত্যু রিপোর্ট 2015 অনুযায়ী 75% সড়ক দুর্ঘটনা ঘটে, এটি একটি বিশাল সংখ্যা। বেশিরভাগ ট্র্যাফিক পুলিশ তাদের গাড়ি চালকদের যারা আটকানোর চেষ্টা করছেন তাদের গতি সীমা ছাড়িয়ে যানবাহন চালানোর চেষ্টা করে।

প্রতিবার ট্র্যাফিক পুলিশ কোনও অতিরিক্ত গতির যানবাহন থামিয়ে তাদের চার্জ করতে পারে না। সুতরাং স্পিড ক্যামেরা নামে একটি ডিভাইস ইনস্টল করা হয়েছে যেখানে গাড়ি চালকদের সন্দেহ হয় যে অতিরিক্ত গতির যেমন ঘন ঘন দুর্ঘটনার ঝুঁকিপূর্ণ অঞ্চল, চৌরাস্তা ইত্যাদি to





আমরা স্পিড ক্যামেরার অনুরূপ কিছু তৈরি করতে যাচ্ছি, তবে অনেক সরলভাবে, যা স্কুল, কলেজ বা আইটি পার্ক বা ঠিক একটি মজাদার প্রকল্প হিসাবে কোনও ক্যাম্পাসের ভিতরে ইনস্টল করা যেতে পারে।

প্রস্তাবিত প্রকল্পটিতে 16 টি 2 এলসিডি ডিসপ্লে রয়েছে যাতে দুটি লেজার বীম দিয়ে যাওয়ার প্রতিটি গাড়ির গতি প্রদর্শন করা যায় যা ওই লেজারের বিমগুলিকে বাধা দেওয়ার সময় গাড়ির গতি মাপতে 10 মিটার দূরে রেখে দেওয়া হয়।



কোনও বাহন পাস করার পরে একটি বুজারটি বীপ করবে যা বোঝায় যে একটি গাড়ি সনাক্ত হয়েছে এবং প্রতিটি গাড়ির গতি এলসিডি ডিসপ্লেতে প্রদর্শিত হবে। যখন কোনও গাড়ি গতির সীমা ছাড়িয়ে যাচ্ছে তখন বুজারটি অবিচ্ছিন্নভাবে বীপ করবে এবং গাড়ির গতি প্রদর্শনীতে প্রদর্শিত হবে।

দ্রষ্টব্য: যানবাহনের গতিটি এলসিডিতে প্রদর্শিত হবে নির্বিশেষে যানবাহন গতিবেগের বা গতিবেগের বাইরে চলেছে।

এখন আসুন গতি পরিমাপের জন্য সার্কিটের পিছনে যুক্তিটি দেখুন।

আমরা সকলেই গতি - দূরত্ব - সময় সূত্র নামে একটি সাধারণ সূত্র জানি।
গতি = দূরত্ব / সময়।

Meter মিটার প্রতি সেকেন্ডে গতি,
Meter মিটার দূরত্ব,
• সময় সেকেন্ডে।

গতিটি জানতে, আমাদের দূরত্বটি জানতে হবে “এক্স” কোন যানবাহন এবং সময়টি 'x' কাটাতে সময় নিয়ে ভ্রমণ করেছিল।

এটি করতে আমরা নিম্নলিখিত ফ্যাশনে 10 মিটার দূরত্ব সহ দুটি লেজার বীম এবং দুটি এলডিআর স্থাপন করছি:

ট্র্যাফিক গাড়ির গতি পরিমাপ

আমরা জানি দূরত্বটি 10 ​​মিটার যা স্থির, এখন আমাদের সমীকরণের সময়টি জানতে হবে।

সময়টি আরডুইনো দ্বারা গণনা করা হবে, যখন যানটি 'স্টার্ট লেজার' বাধা দেয়, টাইমার শুরু হয় এবং যখন গাড়ী 'শেষ লেজার' বাধা দেয় টাইমার থামবে এবং আরডুইনো সমীকরণের মানগুলি প্রয়োগ করবে তখন গাড়ির গতি সন্ধান করবে।

দয়া করে নোট করুন যে গাড়ির গতি কেবল এক দিকেই সনাক্ত করা হবে অর্থাৎ লেজারটি থামাতে লেজার শুরু করতে, গাড়িটি অন্য দিকে আবিষ্কার করতে অন্য একই সেটআপটি বিপরীত দিকে যেতে হবে। সুতরাং, স্কুল, কোলাজ ইত্যাদির মতো জায়গাগুলির জন্য এটি আদর্শ যেখানে তাদের ভিতরে এবং আউট গেট রয়েছে।

এখন আসুন স্কিম্যাটিক চিত্রটি দেখুন:

আরডুইনো এবং প্রদর্শনের মধ্যে সংযোগ:

এলসিডি গাড়ির গতি প্রদর্শন

সেখানে উপরের সার্কিটটি স্ব-বর্ণনামূলক এবং কেবল সার্কিট অনুসারে তারগুলি সংযুক্ত করুন। ডিসপ্লে কনট্রাস্ট সামঞ্জস্য করার জন্য 10 কে পোটেন্টিওমিটার সামঞ্জস্য করুন।

অতিরিক্ত তারের বিবরণ:

গতির যানবাহনের দূরত্ব পরিমাপ তারের সেট আপ

উপরের সার্কিটটিতে আরডুইনো, ৪ টি পুশ বাটন, দুটি 10 ​​কে টান ডাউন প্রতিরোধক (প্রতিরোধকের মান পরিবর্তন করবেন না), দুটি এলডিআর এবং একটি বুজার রয়েছে। 4 টি পুশ বোতামগুলির কার্যকারিতাটি শীঘ্রই ব্যাখ্যা করা হবে। এখন আসুন দেখুন কীভাবে এলডিআর সঠিকভাবে মাউন্ট করবেন।

গাড়ির গতি সনাক্তকরণের জন্য এলডিআর মাউটিং

এলডিআর অবশ্যই আমাকে সূর্যের আলো থেকে সঠিকভাবে আচ্ছাদিত করা উচিত, কেবলমাত্র লেজার মরীচিটি এলডিআরকে আঘাত করা উচিত। আপনার লেজার মডিউলটি একটি উজ্জ্বল সূর্যের আলোতে কাজ করার জন্য যথেষ্ট শক্তিশালী কিনা তা নিশ্চিত করুন।
আপনি উপরের উদ্দেশ্যে পিভিসি পাইপ ব্যবহার করতে পারেন এবং টিউবের ভিতরে কালো রঙ করতে পারেন সামনের অংশটি coverাকতে ভুলবেন না, এটি সম্পাদন করতে আপনার সৃজনশীলতা ব্যবহার করুন।

প্রোগ্রাম কোড:

// ----------- 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 আপনার সার্কিটটি সম্পূর্ণ করুন এবং কোডটি আপলোড করুন।
Two দুটি লেজার / এলডিআরগুলির মধ্যে দূরত্ব হুবহু 10 মিটার হওয়া উচিত, কম বা আর বেশি নয়, অন্যথায় গতি ভুল গণনা করা হবে (প্রথম চিত্রটিতে দেখানো হয়েছে)।
The লেজার এবং এলডিআর এর মধ্যকার দূরত্বটি আপনার পছন্দ এবং পরিস্থিতিগুলির হতে পারে।
Circuit সার্কিটটি এলডিআর-এর সাথে লেজার মিসিলাইনমেন্টের জন্য পরীক্ষা করবে, যদি কেউ দয়া করে এলসিডিতে প্রদর্শিত তথ্য অনুযায়ী এটি সংশোধন করে।
Ly প্রাথমিকভাবে সার্কিট আপনাকে কিমি / ঘন্টা গতিবেগের সীমা মান লিখতে বলবে যা ছাড়িয়ে সার্কিট সতর্কতা অবলম্বন করে, (এস 1) এবং ডাউন (এস 2) টিপে আপনি ডিসপ্লেতে নম্বরটি পরিবর্তন করতে পারেন এবং সেট (এস 3) টিপতে পারেন, এটি মান সংরক্ষণ করা হবে।
Speed ​​এই গতির সীমাটি পরিবর্তন করতে, বোতাম এস 4 টিপুন এবং আপনি একটি নতুন গতির সীমা সেট করতে পারেন।
• এখন 30 কিলোমিটার প্রতি ঘন্টা একটি মোটর বাইক ড্রাইভ নিন এবং লেজার বিমগুলিকে বাধা দিন, সার্কিটটি আপনাকে 30 কিমি / ঘন্টা খুব কাছাকাছি একটি নম্বর দেখায়।
• আপনি হয়ে গেছেন এবং আপনার সার্কিট আপনার ক্যাম্পাসের সুরক্ষার জন্য প্রস্তুত।

লেখকের প্রোটোটাইপ:

গাড়ির গতি সনাক্তকরণ প্রোটোটাইপ

এই ট্রাফিক পুলিশ যানবাহনের গতি সনাক্তকারী সার্কিট সম্পর্কে আপনার যদি কোনও প্রশ্ন থাকে, তবে দয়া করে মন্তব্য বিভাগে নির্দ্বিধায় জিজ্ঞাসা করুন, আপনি একটি দ্রুত উত্তর পেতে পারেন।




পূর্ববর্তী: পীর সেন্সর ডেটাশিট, পিনআউট স্পেসিফিকেশন, কাজ করা Working পরবর্তী: রিমোট কন্ট্রোল পরীক্ষক সার্কিট