সুচিপত্র:

স্মার্ট ইন্টারেক্টিভ ট্রাফিক লাইট: 5 টি ধাপ (ছবি সহ)
স্মার্ট ইন্টারেক্টিভ ট্রাফিক লাইট: 5 টি ধাপ (ছবি সহ)

ভিডিও: স্মার্ট ইন্টারেক্টিভ ট্রাফিক লাইট: 5 টি ধাপ (ছবি সহ)

ভিডিও: স্মার্ট ইন্টারেক্টিভ ট্রাফিক লাইট: 5 টি ধাপ (ছবি সহ)
ভিডিও: Earn $1,563 Daily In Passive Income That Takes 20 Minutes To Run (EASIEST Way To Make Money Online) 2024, নভেম্বর
Anonim
স্মার্ট ইন্টারেক্টিভ ট্রাফিক লাইট
স্মার্ট ইন্টারেক্টিভ ট্রাফিক লাইট

বিশ্বের সেরা এবং সবচেয়ে ইন্টারেক্টিভ ট্রাফিক লাইট তৈরি করতে প্রস্তুত? ভাল! এই টিউটোরিয়ালে, আমরা ব্যাখ্যা করব কিভাবে আপনি Arduino ব্যবহার করে নিজে নিজে তৈরি করতে পারেন।

প্রয়োজনীয় উপাদান:- Arduino (..duh)- LM317 Mosfet- 2x 60cm এনালগ RGB LED স্ট্রিপস (12V)- পিভিসি টিউব (1 মি x 125 মিমি)- তারগুলি (লাল এবং কালো)- লাইট-ক্যাপের জন্য মেটাল প্লেট- আলোর জন্য এক্রাইল - আইকন (.svg আইকনগুলির জন্য flaticon.com চেক করুন)- স্প্রেকান কালো এবং সাদা পেইন্ট।

ধাপ 1: ধাপ 1: লাইট-ক্যাপ তৈরি করুন

ধাপ 1: লাইট-ক্যাপ তৈরি করুন
ধাপ 1: লাইট-ক্যাপ তৈরি করুন

নকশা সত্যিই আপনার উপর নির্ভর করে। আমরা লাইট ধরে রাখার জন্য 15x15cm ক্যাপ তৈরি করেছি। আমরা সঠিক আকারে ধাতব প্লেটগুলি কেটেছি এবং সঠিক আকারে ক্যাপগুলি বাঁকানোর জন্য একটি ধাতব বেন্ডার (না, অবতার থেকে নয়) ব্যবহার করেছি। ব্যাকপ্লেটগুলি একটি ভিন্ন উপাদান থেকে তৈরি করা হয়েছিল।

ধাপ 2: ধাপ 2: পিভিসি মেরু প্রস্তুত করা

পদক্ষেপ 2: পিভিসি মেরু প্রস্তুত করা
পদক্ষেপ 2: পিভিসি মেরু প্রস্তুত করা

পিভিসি মেরুতে 2 টি ছিদ্র কাটুন যাতে লাইট-ক্যাপগুলি ফিট হয়। তারপরে একটি কালো পেইন্ট স্প্রেক্যান ব্যবহার করুন যাতে পুরো জিনিসটি কালো হয়ে যায়। আপনি যদি চান, আপনি মেরুর নীচে সাদা ডোরা যুক্ত করতে পারেন (নেদারল্যান্ডসে প্রচলিত)।

ধাপ 3: ধাপ 3: আরজিবি এলইডি স্ট্রিপগুলি একত্রিত করা এবং এক্রাইলিক প্লেটগুলিকে স্যান্ডব্লাস্টিং করা

ধাপ 3: আরজিবি এলইডি স্ট্রিপগুলি একত্রিত করা এবং এক্রাইলিক প্লেটগুলিকে স্যান্ডব্লাস্টিং করা
ধাপ 3: আরজিবি এলইডি স্ট্রিপগুলি একত্রিত করা এবং এক্রাইলিক প্লেটগুলিকে স্যান্ডব্লাস্টিং করা
ধাপ 3: আরজিবি এলইডি স্ট্রিপগুলি একত্রিত করা এবং এক্রাইলিক প্লেটগুলিকে স্যান্ডব্লাস্টিং করা
ধাপ 3: আরজিবি এলইডি স্ট্রিপগুলি একত্রিত করা এবং এক্রাইলিক প্লেটগুলিকে স্যান্ডব্লাস্টিং করা

এরপরে আপনাকে লাইট-ক্যাপের ভিতরে আরজিবি এলইডি স্ট্রিপগুলি একত্রিত করতে হবে। এগুলি ক্যাপের চারপাশে আঁটসাঁট করে রাখুন এবং যতটা সম্ভব সামনের দিকে রাখুন।

এরপরে আপনাকে এক্রাইলিক প্লেটে নির্বাচিত প্রতীকটি স্যান্ডব্লাস্ট করতে হবে। কিছু টেপ নিন এবং পুরো এক্রাইলিক প্লেটটি coverেকে দিন। তারপরে আপনি যে আকৃতি/চিত্রটি চান তা কেটে দিন। এর পরে, আপনি একটি ফ্রস্টেড-গ্লাসের মতো প্রভাব পেতে প্লেটটি স্যান্ডব্লাস্ট করতে পারেন।

ধাপ 4: ধাপ 4: আরজিবি এলইডি স্ট্রিপগুলিকে আরডুইনোতে সংযুক্ত করুন।

ধাপ 4: আরজিবি এলইডি স্ট্রিপগুলিকে আরডুইনোতে সংযুক্ত করুন।
ধাপ 4: আরজিবি এলইডি স্ট্রিপগুলিকে আরডুইনোতে সংযুক্ত করুন।

এখন চতুর অংশটি আসে: আরজিবি এলইডি স্ট্রিপগুলিকে আরডুইনোতে সংযুক্ত করা। যখন আপনি পিনগুলি সংযুক্ত করছেন তখন নিশ্চিত করুন যে আপনি আপনার স্ট্রিপের 12v এ 12v লাগিয়েছেন। প্রতিটি রঙের মধ্যে, তাই লাল বা সবুজ, আপনাকে একটি মসফেট লাগাতে হবে। মোসফেটের মাঝের পিনের সাথে লেড স্ট্রিপের ডেটা এবং বাম পিনটি আপনার আরডুইনোতে সংযুক্ত করুন। ডান পিনটি Arduino এর মাটিতে ফিরে যেতে হবে।

ধাপ 5: ধাপ 5: Arduino কোড লিখুন

ধাপ 5: Arduino কোড লিখুন
ধাপ 5: Arduino কোড লিখুন

এই Arduino কোডটি ব্লুটুথ দ্বারা নিয়ন্ত্রিত, কারণ আমরা একটি অভ্যন্তরীণ প্রদর্শন ব্যবহার করিনি। সুতরাং কোডটি লুপ () ফাংশনে ব্লুটুথ বার্তার মাধ্যমে নিয়ন্ত্রিত হয়।

#ডিফাইন r 6 #g 11 #অন্তর্ভুক্ত করুন

সফটওয়্যার সিরিয়াল mySerial (10, 11); // RX, TX

#রাগের দৈর্ঘ্য 4 নির্ধারণ করুন

#সংজ্ঞায়িত করা দৈর্ঘ্য 3

বুল বোতাম চাপানো;

int currentMillis; int previousMillis;

int অ্যানিমেশন 1 বিলম্ব;

int অ্যানিমেশন 2 বিলম্ব; int অ্যানিমেশন 3 বিলম্ব; int অ্যানিমেশন 4 বিলম্ব;

বুল অ্যানিমেশন 1 সম্পন্ন = মিথ্যা;

bool animation2Done = মিথ্যা; bool animation3Done = মিথ্যা; bool animation4Done = মিথ্যা; bool animation5Done = false;

বুল ব্লকলাইট = মিথ্যা;

বুল লাইট রেড = সত্য;

int currentAnimationDelay;

অকার্যকর সেটআপ() {

// আপনার সেটআপ কোড এখানে রাখুন, একবার চালানোর জন্য: pinMode (r, OUTPUT); পিনমোড (জি, আউটপুট);

Serial.begin (9600);

mySerial.begin (38400); Serial.setTimeout (25); buttonPressed = মিথ্যা; currentMillis = 0; পূর্ববর্তী মিলিস = 0;

অ্যানিমেশন 1 বিলম্ব = হাঁটা দৈর্ঘ্য * 1000;

অ্যানিমেশন 2 বিলম্ব = wavingLength * 1000; অ্যানিমেশন 3 বিলম্ব = খুশি দৈর্ঘ্য * 1000; অ্যানিমেশন 4 বিলম্ব = হাঁটাচলাচল

// currentAnimationDelay = animation1Delay * 1000;

lightRed = সত্য; }

অকার্যকর লুপ () {

// বিলম্ব (20);

// আপনার মূল কোডটি এখানে রাখুন, বারবার চালানোর জন্য: স্বাক্ষরবিহীন দীর্ঘ কারেন্টমিলিস = মিলিস (); if (buttonPressed == true) {if (animation1Done == false) {if (currentMillis - previousMillis> animation1Delay) {Serial.println ("0"); পূর্ববর্তী মিলিস = বর্তমান মিলিস; অ্যানিমেশন 1 সম্পন্ন = সত্য; }} if if (animation2Done == false এবং animation1Done == true) {if (currentMillis - previousMillis> animation2Delay) {Serial.println ("1"); পূর্ববর্তী মিলিস = বর্তমান মিলিস; অ্যানিমেশন 2 সম্পন্ন = সত্য; }} if if (animation3Done == false and animation2Done == true) {if (currentMillis - previousMillis> animation3Delay) {Serial.println ("2"); // সিরিয়াল.প্রিন্টলন ("সাউন্ড: সবুজ"); পূর্ববর্তী মিলিস = বর্তমান মিলিস; অ্যানিমেশন 3 সম্পন্ন = সত্য; লাইটরেড = মিথ্যা; }} if if (animation4Done == false এবং animation3Done == true) {if (currentMillis - previousMillis> animation4Delay) {previousMillis = currentMillis; animation4Done = সত্য; Serial.println ("FLSH"); }}}

যদি (Serial.available ()) {

স্ট্রিং str = Serial.readString (); যদি (str == "CMD: BUTTON_PRESSED") {

অ্যানিমেশন 1 সম্পন্ন = মিথ্যা;

অ্যানিমেশন 2 সম্পন্ন = মিথ্যা; অ্যানিমেশন 3 সম্পন্ন = মিথ্যা; animation4Done = মিথ্যা; অ্যানিমেশন 5 সম্পন্ন = মিথ্যা;

অ্যানিমেশন 1 বিলম্ব = হাঁটা দৈর্ঘ্য * 1000;

অ্যানিমেশন 2 বিলম্ব = wavingLength * 1000; অ্যানিমেশন 3 বিলম্ব = খুশি দৈর্ঘ্য * 1000; অ্যানিমেশন 4 বিলম্ব = হাঁটাচলাচল

// currentAnimationDelay = animation1Delay * 1000;

lightRed = সত্য; Serial.println ("3"); buttonPressed = সত্য; পূর্ববর্তী মিলিস = বর্তমান মিলিস; }

যদি (str == "RED") {

ব্লকলাইট = মিথ্যা; lightRed = সত্য; }

যদি (str == "GREEN") {

ব্লকলাইট = মিথ্যা; লাইটরেড = মিথ্যা; }

যদি (str == "LIGHT: GREEN: OFF") {

ব্লকলাইট = সত্য; analogWrite (g, 255); } যদি (str == "LIGHT: GREEN: ON") {blockLight = true; analogWrite (g, 0); } // সিরিয়াল.প্রিন্টলন (str); }

যদি (blockLight == false) {

যদি (lightRed == true) {

analogWrite (r, 0); analogWrite (g, 255); } যদি (lightRed == false) {analogWrite (r, 255); analogWrite (g, 0); }}}

প্রস্তাবিত: