সুচিপত্র:

আরডুইনোতে স্টেট মেশিন - একজন পথচারী ট্রাফিক লাইট: 6 টি ধাপ (ছবি সহ)
আরডুইনোতে স্টেট মেশিন - একজন পথচারী ট্রাফিক লাইট: 6 টি ধাপ (ছবি সহ)

ভিডিও: আরডুইনোতে স্টেট মেশিন - একজন পথচারী ট্রাফিক লাইট: 6 টি ধাপ (ছবি সহ)

ভিডিও: আরডুইনোতে স্টেট মেশিন - একজন পথচারী ট্রাফিক লাইট: 6 টি ধাপ (ছবি সহ)
ভিডিও: প্রোগ্রামিং কী,কেন এবং কীভাবে? [নতুনদের জন্য] 🔥 What is programming in Bangla? 2024, জুলাই
Anonim
আরডুইনোতে স্টেট মেশিন - একজন পথচারী ট্রাফিক লাইট
আরডুইনোতে স্টেট মেশিন - একজন পথচারী ট্রাফিক লাইট

ইয়াকিন্দু স্টেটচার্ট টুলস ব্যবহার করে একটি সসীম স্টেট মেশিন দিয়ে C ++ এ Arduino এর জন্য পথচারী ট্রাফিক লাইট কিভাবে প্রোগ্রাম করবেন তা আমি আপনাকে দেখাতে যাচ্ছি। এটি রাষ্ট্রীয় মেশিনের শক্তি প্রদর্শন করবে এবং পরবর্তী প্রকল্পের জন্য একটি ব্লুপ্রিন্ট হিসাবে ব্যবহার করা যাবে।

সরবরাহ

আপনি শুধুমাত্র একটি Arduino, কিছু pushbuttons, LEDs, জাম্পার এবং প্রতিরোধক প্রয়োজন।

হার্ডওয়্যার

  • 2x পুশবাটন
  • 2x ট্রাফিক লাইট বা আপনি 220 ওহম প্রতিরোধক সহ LEDs ব্যবহার করতে পারেন
  • 2x 10k ওহম প্রতিরোধক
  • ব্রেডবোর্ড
  • জাম্পার
  • Arduino Uno/Mega (বা অন্য যে কোন, অন্তত 8 টি GPIO পেয়েছে)

সফটওয়্যার

  • YAKINDU স্টেটচার্ট টুলস
  • Arduino এর জন্য Eclipse C ++ IDE

ধাপ 1: এটি কীভাবে কাজ করে তা নির্ধারণ করুন: পথচারীদের ট্রাফিক লাইট

প্রথমে, আমাদের নির্দিষ্ট করতে হবে কিভাবে পথচারীদের ট্রাফিক লাইট কাজ করবে। আমি বুলেট পয়েন্ট সংক্ষিপ্ত করার চেষ্টা করেছি:

  • দুটি ট্রাফিক লাইট ব্যবহার করা হয় - একটি গাড়ির জন্য, অন্যটি পথচারীদের জন্য
  • একটি বোতাম ব্যবহার করে ট্রাফিক লাইট চালু করা যায়
  • পথচারী একটি বোতাম টিপে রাস্তা পার হওয়ার অনুরোধ করতে পারেন
  • ট্রাফিক লাইট বন্ধ করে দেওয়া হল হলুদ এলইডি উভয়কে জ্বলজ্বল করে
  • চালু করার পর, ট্রাফিক লাইট 10 সেকেন্ড নিরাপদ মোডে অপেক্ষা করে
  • নিরাপদ মোডের পরে, পথচারীরা অনুরোধ শুরু না করা পর্যন্ত গাড়ির সর্বদা সবুজ পর্যায় থাকে
  • ক্রস করার জন্য পথচারীদের অনুরোধ হলুদ এলইডি টগল করে নির্দেশিত হয়

উপরন্তু, ট্রাফিক লাইট কীভাবে কাজ করে তার উপর নির্ভর করে কিছু সময়ের ঘটনা রয়েছে।

ধাপ 2: সার্কিট তৈরি করুন

সার্কিট তৈরি করুন
সার্কিট তৈরি করুন

আসুন সার্কিট স্থাপন শুরু করি। আমার উদাহরণে, যেমন আপনি প্রিভিউ ইমেজ দেখতে পাচ্ছেন, আমি একটি Arduino Mega 2560 ব্যবহার করেছি, কিন্তু কমপক্ষে আটটি GPIO সহ অন্য Arduino জরিমানা হওয়া উচিত। উপরন্তু, আমি অ্যামাজনে কিছু 5V ট্রাফিক লাইট কিনেছি। শুধু ট্রাফিক লাইট Arduino অনুসন্ধান করুন। অন্যথায়, আপনি কেবল ছয়টি ভিন্ন LED ব্যবহার করতে পারেন। উপরন্তু, আপনি দুটি পুশ বোতাম এবং দুটি 10k ওহম প্রতিরোধক প্রয়োজন।

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

ধাপ 3: স্টেট মেশিন তৈরি করা

স্টেট মেশিন তৈরি করা
স্টেট মেশিন তৈরি করা

সুতরাং, আপনি দেখতে পাচ্ছেন যে যৌথ সদস্যদের সাথে দুটি প্রধান রাজ্য রয়েছে - স্টেট অন এবং স্টেট অফ। আপনি অনঅফ ইভেন্টটি ব্যবহার করে উভয় রাজ্যের মধ্যে স্যুইচ করতে পারেন, যা চালু/বন্ধ বোতামে তারযুক্ত। প্রাথমিক অবস্থায়, অফ স্টেটে, উভয় হলুদ LEDs প্রতি সেকেন্ডে ঝলকানি শুরু করে। একবার ট্রাফিক লাইট চালু হয়ে গেলে, এটি সেফস্টেটে শুরু হয়। 10 সেকেন্ড পরে ট্র্যাফিক লাইটের সাধারণ আচরণ পরিচালনা করা হবে। StreetPrepare অবস্থায় লাল এবং হলুদ LED চালু করা হবে এবং আরও 2 সেকেন্ড পরে ট্রাফিক লাইট সবুজ হয়ে যাবে। এখন থেকে, রাষ্ট্রীয় মেশিনটি পথচারী অনুরোধ ইভেন্টের জন্য অপেক্ষা করছে, যা দ্বিতীয় বোতামে তারযুক্ত। ইভেন্টটি পাঠানোর পরে পেডওয়াটিং অবস্থায় প্রতি সেকেন্ডে হলুদ এলইডি টগল করে অনুরোধটি নির্দেশ করা হবে। 7 সেকেন্ড পরে ট্র্যাফিক লাইট প্রথমে হলুদ এবং তারপর লাল হয়ে যাবে যতক্ষণ না পথচারীরা পেডেস্ট্রিয়ান গ্রিন অবস্থায় যাওয়ার সিগন্যাল পায়। এর পরে, পথচারী রেড সক্রিয় হয় এবং চক্রটি পুনরাবৃত্তি হয়। এটি আবার ট্রাফিক লাইট বন্ধ করে বাধাগ্রস্ত হতে পারে।

ধাপ 4: উদাহরণ চালানো

ধাপ 5: জেনারেট করা C ++ কোড

উৎপন্ন C ++ কোড হল রাষ্ট্রীয় মেশিনের যুক্তি সামলানোর জন্য একটি ক্লাসিক সুইচ-কেস। এটি কেমন দেখায় তার একটি কোড স্নিপেট:

অকার্যকর TrafficLightCtrl:: runCycle () {clearOutEvents (); জন্য বিরতি; } case main_region_on_r1_PedWaiting_r1_waitOn: {main_region_on_r1_PedWaiting_r1_waitOn_react (true); বিরতি; } ডিফল্ট: বিরতি; } clearInEvents (); }

ধাপ 6: উদাহরণ পান

সম্পূর্ণ উদাহরণ কম্পাইল এবং চালানোর জন্য প্রস্তুত। এটি YAKINDU স্টেটচার্ট সরঞ্জামগুলির সাথে আসে, যা অ-বাণিজ্যিক ব্যবহারের জন্য বিনামূল্যে। ডাউনলোড করার পরে, আপনি টুলে সরাসরি উদাহরণটি আমদানি করতে পারেন:

ফাইল -> নতুন -> উদাহরণ -> YAKINDU স্টেটচার্ট উদাহরণ -> পরবর্তী -> Arduino এর জন্য ট্রাফিক লাইট (C ++)

> এখানে আপনি YAKINDU স্টেটচার্ট টুলস ডাউনলোড করতে পারেন <<

আপনি 30 দিনের ট্রায়াল দিয়ে শুরু করতে পারেন। পরে, আপনাকে অবশ্যই একটি লাইসেন্স পেতে হবে, যা অ-বাণিজ্যিক ব্যবহারের জন্য বিনামূল্যে!

প্রস্তাবিত: