সুচিপত্র:

4 টি ট্রাফিক লাইট সিস্টেম 5 Arduinos এবং 5 NRF24L01 ওয়্যারলেস মডিউল ব্যবহার করে: 7 টি ধাপ (ছবি সহ)
4 টি ট্রাফিক লাইট সিস্টেম 5 Arduinos এবং 5 NRF24L01 ওয়্যারলেস মডিউল ব্যবহার করে: 7 টি ধাপ (ছবি সহ)

ভিডিও: 4 টি ট্রাফিক লাইট সিস্টেম 5 Arduinos এবং 5 NRF24L01 ওয়্যারলেস মডিউল ব্যবহার করে: 7 টি ধাপ (ছবি সহ)

ভিডিও: 4 টি ট্রাফিক লাইট সিস্টেম 5 Arduinos এবং 5 NRF24L01 ওয়্যারলেস মডিউল ব্যবহার করে: 7 টি ধাপ (ছবি সহ)
ভিডিও: CS50 2014 - Week 7 2024, নভেম্বর
Anonim
Image
Image
উচ্চাকাঙ্ক্ষী? হতে পারে!
উচ্চাকাঙ্ক্ষী? হতে পারে!

কিছুক্ষণ আগে আমি একটি রুটিবোর্ডে এক জোড়া ট্রাফিক লাইটের বিশদ বিবরণ তৈরি করেছি।

আমি একটি NRF24L01 বেতার মডিউল ব্যবহার করার জন্য মৌলিক কাঠামো দেখানো আরেকটি নির্দেশযোগ্য তৈরি করেছি।

এটা আমাকে ভাবতে বাধ্য করেছে!

বিশ্বজুড়ে প্রচুর শখ আছে যারা মডেল টাউন এবং রেলপথ তৈরি করে, এবং প্রায় সবসময় কিছু বর্ণনার ট্রাফিক লাইট থাকে।

কিছু কাজ মডেল, এবং অন্যদের শুধুমাত্র নান্দনিক উদ্দেশ্যে।

আমি কি ফোর ওয়ে ট্রাফিক লাইট সিস্টেমের একটি ওয়ার্কিং মডেল তৈরি করতে পারি এবং সেগুলোকে ওয়্যারলেস কানেক্ট করতে পারি?

আমি বসলাম এবং আমার সম্ভাব্য প্রয়োজনীয়তার তালিকা সম্পর্কে চিন্তা করলাম। যা একটু একটু করে এভাবে চলে গেল।

ট্র্যাফিকের 4 টি দিক নিয়ন্ত্রণ করুন, যেমন একটি চৌরাস্তা জংশন।

প্রতিটি দিক দুটি আলো আছে; এবং প্রতিটি জোড়া কোন ধরণের নিয়ন্ত্রণ ইউনিট থেকে ওয়্যারলেসভাবে তাদের নির্দেশনা পাচ্ছে।

লাইটের অপারেটিং ক্রম সংজ্ঞায়িত এবং সংশোধন করতে সক্ষম হন,

  • 1, 2, 3, 4 - ঘড়ির কাঁটার দিকে
  • 1, 3, 4, 2
  • 1, 4, 2, 3
  • 1, 4, 3, 2-ঘড়ির কাঁটার বিপরীতে
  • 1, 2, 4, 3
  • 1, 3, 2, 4
  • 1 + 3, 2 + 4 - 2 অফ 2
  • 1 + 3, 2, 4
  • 1, 3, 2 + 4

সমস্ত সিকোয়েন্সিং একটি একক নিয়ন্ত্রণ ইউনিট দ্বারা নিয়ন্ত্রিত হবে, এবং প্রাপ্ত ইউনিটগুলি কেবল লাইট চালু এবং বন্ধ করবে।

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

ধাপ 1: উচ্চাকাঙ্ক্ষী? হতে পারে

প্রধান অংশ প্রয়োজনীয়তা:

একটি কন্ট্রোল ইউনিট এবং চার সেট লাইট = পাঁচটি আরডুইনো এবং পাঁচটি ওয়্যারলেস মডিউল। উদ্ধার করার জন্য AliExpress (আবার)।

আটটি ট্রাফিক লাইট দাঁড়িয়ে আছে। আমার একটি থ্রিডি প্রিন্টারের অনুকরণ অনুপস্থিত, যা ব্যবহারযোগ্য পণ্যের চেয়ে বেশি বিন পশুখাদ্য সরবরাহ করে, কিন্তু আমি ভেবেছিলাম যে যাই হোক না কেন আমি এটিকে ছেড়ে দেব। আমি থিংভার্সে কিছু খুঁজে পেয়েছি, www.thingiverse.com/thing:2157324

এই মডেলটি আমার প্রিন্টারের জন্য কমপক্ষে জটিল বলে মনে হয়েছিল। আমি আট চাইছিলাম, তাই আমি এখনও আমার ভাগ্য ঠেলে ছিল। যেমন দেখা গেল, আমি দেখেছি যে কয়েকটি ব্যর্থ প্রচেষ্টার পরে, যদি আমি মডেলটিকে একটি নির্দিষ্ট দিকে (সামনে থেকে পিছনে) দিকনির্দেশিত করি, আমি যুক্তিসঙ্গত ফলাফল পেয়েছি। মোট আমি তেরটি মুদ্রণ করেছি, এবং আটটি ব্যবহারযোগ্য পেয়েছি।

যে প্রধান অংশ তালিকা সাজানো ছিল। বাকি অংশ, আমি ইতিমধ্যে ছিল।

সম্পূর্ণ অংশ তালিকা হল

  • 5 x Arduino UNOs
  • 5 x NRF24L01 ওয়্যারলেস বোর্ড
  • NRF24L0s এর জন্য 5 x YL-105 (বা অনুরূপ) ব্রেকআউট বোর্ড
  • 8 x লাল LEDs
  • 8 x হলুদ LEDs (আমার কোন কমলা LEDs নেই)
  • 8 x সবুজ LEDs
  • 4 x আরজিবি এলইডি
  • 28 x 220 ওহম প্রতিরোধক
  • ব্রেডবোর্ড / পিসিবি ??
  • 8 x মডেল ট্রাফিক লাইট
  • 6 x 8 লম্বা পিন হেডার (ষষ্ঠটি ছিল নিয়ন্ত্রণ বোর্ডে ফাঁক রাখার জন্য, ভিডিও দেখুন)
  • টিউব সঙ্কুচিত করুন
  • জাম্পার তার
  • হার্ডবোর্ডের টুকরো বা সমতল কিছু
  • কাঠের অন্যান্য টুকরা ??
  • পেইন্ট ??
  • গরম আঠা
  • সময়, ধৈর্য এবং পছন্দের অ্যালকোহল

ধাপ 2: কন্ট্রোল ইউনিটের জন্য কোড লেখা

এটিই আমাকে প্রথমে করতে হয়েছিল, যদি আমি আসলে এটি পরিচালনা করতে না পারতাম, যা একটি শো স্টপার হত।

এটি এখন পর্যন্ত সবচেয়ে জটিল অংশ বা প্রকল্প, কিন্তু আমার জন্য সবচেয়ে আকর্ষণীয়।

আমাকে বসতে হয়েছিল এবং হালকা পরিবর্তনের সম্ভাব্য সংমিশ্রণগুলি এবং কীভাবে তারা একযোগে কাজ করবে তা সংজ্ঞায়িত করতে হয়েছিল।

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

কিন্তু, একবার আমি খুশি ছিলাম যে আমার কাছে প্রয়োজনীয় সব কিছু ছিল এবং কিছুক্ষণ সংখ্যার পাতার দিকে তাকানোর পর, আমার ওসিডি শুরু হয়েছিল এবং আমি নিদর্শন দেখতে শুরু করেছিলাম।

নিদর্শনগুলি সংগঠিত করে, আমি সমস্ত সিকোয়েন্সিংকে একক 3-মাত্রিক অ্যারে এবং দুটি 2-মাত্রিক অ্যারেতে একত্রিত করতে পরিচালিত করেছি।

এখন আমাকে যা করতে হবে তা হল সঠিক সিকোয়েন্সিং এবং হালকা ধাপ তৈরিতে সেই অ্যারেগুলিকে কাজে লাগানোর একটি উপায় খুঁজে বের করা।

এটি কিছুটা সময় নিয়েছিল, কিন্তু আমি মন্তব্যগুলি সহ কোডের পঞ্চাশ লাইনেরও কম সময়ে এটি অর্জন করতে পেরেছি।

এর জন্য কোডটি মূর্খ হৃদয়ের জন্য নয়, তবে আপনি যদি মাল্টি-ডাইমেনশনাল অ্যারে বুঝতে পারেন তবে এটি অনুসরণ করা খুব কঠিন হওয়া উচিত নয়। অথবা বাকিদের জন্য একটি শেখার বক্ররেখা।

বিন্দু হল, আমি বিশ্বাস করি যে এটি কাজ করে, এবং যাই হোক না কেন পরিবর্তনের প্রয়োজন হবে না। কিন্তু …………

ধাপ 3: NRF24L01 ব্রেকআউট বোর্ড মোড

NRF24L01 ব্রেকআউট বোর্ড মোড
NRF24L01 ব্রেকআউট বোর্ড মোড
NRF24L01 ব্রেকআউট বোর্ড মোড
NRF24L01 ব্রেকআউট বোর্ড মোড
NRF24L01 ব্রেকআউট বোর্ড মোড
NRF24L01 ব্রেকআউট বোর্ড মোড
NRF24L01 ব্রেকআউট বোর্ড মোড
NRF24L01 ব্রেকআউট বোর্ড মোড

NRF24L01 মডিউল এবং YL-105 ব্রেকআউট বোর্ড, দুর্ভাগ্যবশত, খুব রুটিবোর্ড বান্ধব নয়।

ব্রেকআউট বোর্ড সমস্যা সমাধানের জন্য আংশিকভাবে যায় এবং আরও গুরুত্বপূর্ণ, এটি 5v সহনশীল করে তোলে, কিন্তু, এটি এখনও রুটিবোর্ড বান্ধব নয়।

তাই আমি একটু উদ্ভাবনী পেয়েছি।

আমার 'স্টাফ' সংগ্রহে, আমার লম্বা পিন সহ 6 টি পিন হেডার আছে। Arduino Shields তৈরির জন্য যে ধরণের প্রয়োজন।

আমি এর মধ্যে একটি নিয়েছি এবং 90 ডিগ্রি পিন বাঁকিয়েছি।

আমি একটি রুটিবোর্ড থেকে একটি পাওয়ার রেল সরিয়েছি, এবং হেডারটি রুটিবোর্ডের প্রান্তে প্লাগ করেছি।

এটি ব্রেকআউট বোর্ডে পাওয়ার পিনগুলি রেখেছিল। তারা এখন পথে আছে।

তাই আমি সেগুলো সরিয়ে ব্রেকআউট বোর্ডের অন্য পাশে রেখেছিলাম যাতে তারা এখন বোর্ডের পিছন থেকে বেরিয়ে আসছে।

এই নির্দেশযোগ্য কাজের জন্য, আমার পাঁচটি NRF24L01 মডিউল দরকার, তাই আমি সেগুলিকে ব্রেডবোর্ডে মাউন্ট করেছি এবং তারপর ব্রেকআউট বোর্ডে সমস্ত পাওয়ার পিনের সাথে পাওয়ার রেল ঠিক করেছি।

আমি Arduinos সংযুক্ত না হওয়া পর্যন্ত এটি বেশ পরিপাটি লাগছিল এবং এটি কিছুটা ভিড় পেয়েছিল।

প্লাস, যা গুরুত্বপূর্ণ বিট, একবার পাওয়ার রেল সংযুক্ত হয়ে গেলে, সমস্ত Arduinos একই উৎসের সাথে সংযুক্ত হবে এবং সেটাই আমি এড়িয়ে চলার চেষ্টা করছিলাম, তাই আমি এর অধিকাংশই আবার আলাদা করে নিলাম।

আমি ভবিষ্যতে প্রোটোটাইপিংয়ের জন্য কয়েকটি NRF24L01 মডিউল নিয়ে বোর্ডটি রাখব, তাই সময় সম্পূর্ণ অপচয় হবে না।

ধাপ 4: ট্রাফিক লাইট ইউনিট

ট্রাফিক লাইট ইউনিট
ট্রাফিক লাইট ইউনিট
ট্রাফিক লাইট ইউনিট
ট্রাফিক লাইট ইউনিট
ট্রাফিক লাইট ইউনিট
ট্রাফিক লাইট ইউনিট

আমি কিছু ছোট 170 টাই পয়েন্ট রুটিবোর্ড খুঁজে পেয়েছি। এইগুলির একটি পাওয়ার রেল নেই তাই আমার পরিবর্তিত ব্রেকআউট বোর্ডটি এখনও উপযুক্ত হবে। ব্রেকআউট বোর্ডের উচ্চতার কারণে সামান্য কোণে হলেও।

আমি চারটি ট্রাফিক লাইট কন্ট্রোল করেছি একই, একই রঙের তার, পজিশনিং ইত্যাদি। তারা এখন সত্যিই স্বতন্ত্র।

কন্ট্রোল ইউনিটের জন্য, আমি RGB LEDs সহ একটি PCB তে NRF24L01 মডিউলটি রাখি। আমি আরজিবি ব্যবহার করেছি কারণ, যদিও আমার সব আলো দেখার দরকার ছিল না, শুধু লাল এবং সবুজ, তারা কম জায়গা নেয়।

এলইডিগুলিকে স্বাভাবিক ভাবে আরডুইনোতে সংযুক্ত করে এবং ট্রাফিক লাইটের প্রতিটি সেটের লাল বা সবুজ অবস্থা প্রদর্শনের জন্য কিছুটা কোড যোগ করে।

আমি আমার ওয়্যারিং রঙের সাথে সামঞ্জস্যপূর্ণ হওয়ার চেষ্টা করেছি যাতে আমি সহজেই দেখতে পারি যে আমি কোন একটি বোর্ডে ভিন্ন কিছু করেছি কিনা।

আমার কিছু সংক্ষিপ্ত Dupont সীসা সেট আছে, এবং সীসা একসঙ্গে আটকে আছে, এটি এই অংশটি বেশ সহজ করে তুলেছে।

NRF24L01:

  • সিই কমলা থেকে আরডুইনো পিন 10 (কোডে সংজ্ঞায়িত)
  • CSN হলুদ থেকে Arduino পিন 9 (কোডে সংজ্ঞায়িত)
  • SCK সবুজ থেকে Arduino পিন 13 (বাধ্যতামূলক)
  • MOSI নীল থেকে Arduino পিন 11 (বাধ্যতামূলক)
  • MISO বেগুনি থেকে Arduino পিন 12 (বাধ্যতামূলক)
  • Vcc লাল থেকে 5v। আপনি যদি ব্রেকআউট বোর্ড ব্যবহার না করেন তবে এটি অবশ্যই 3.3v হতে হবে।
  • GND ব্রাউন থেকে Arduino GND

LEDs থেকে হালকা ইউনিট এবং Arduino পিন:

  • লাল LED এর জন্য লাল
  • হলুদ LED এর জন্য কমলা (আমার কমলা LEDs নেই)
  • সবুজ LED এর জন্য সবুজ
  • GND এর জন্য কালো

এই থেকে আমার একমাত্র বিচ্যুতি ছিল যখন আমি নিয়ন্ত্রণ আরডুইনোকে RGB LEDs এর সাথে সংযুক্ত করেছিলাম। আমি সাদা এবং ধূসর তারগুলি ব্যবহার করেছি কারণ আমার লালগুলি ফুরিয়ে গেছে।

ধাপ 5: ট্রাফিক লাইট এবং পরীক্ষা

Image
Image
ট্রাফিক লাইট এবং টেস্টিং
ট্রাফিক লাইট এবং টেস্টিং
ট্রাফিক লাইট এবং টেস্টিং
ট্রাফিক লাইট এবং টেস্টিং

এটি কোডটি সম্পন্ন হয়েছে এবং প্রতিটি স্বতন্ত্র নিয়ন্ত্রণও সম্পন্ন হয়েছে। আমার এখন শুধু ট্রাফিক লাইট দরকার।

আমি আগেই বলেছি, আমি থিংভার্সে একটি অসম্পূর্ণ মডেল খুঁজে পেয়েছি এবং আটটি মুদ্রণ করতে পেরেছি যা খুব খারাপ লাগেনি।

আমি তাদের প্রয়োজনীয় 200 ওহম প্রতিরোধক এবং একটি লিঙ্ক এবং স্থল তারের সঙ্গে LEDS লাগানো।

লিডগুলিকে সঙ্কুচিত করুন, এবং গরম সব জায়গায় আঠালো।

সমস্ত LEDs লাগানোর পরে আমি তাদের কালো রঙ করার সিদ্ধান্ত নিয়েছি। খারাপ ধারণা, আমার প্রথমে এটি করা উচিত ছিল।

আমি আরও অগ্রগতি করার আগে একটি পরীক্ষার জন্য সবকিছু প্রস্তুত করেছি।

ধাপ 6: ক্রসরোড

ক্রসরোড
ক্রসরোড
ক্রসরোড
ক্রসরোড
ক্রসরোড
ক্রসরোড
ক্রসরোড
ক্রসরোড

আমি তাদের সবাইকে একটি বোর্ডে মাউন্ট করার সিদ্ধান্ত নিয়েছি, তাই এখন আমাকে একধরনের চৌরাস্তা তৈরি করতে হয়েছিল।

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

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

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

আমি যা করেছি তা হ'ল আরডুইনোর পাশে মিনি ব্রেডবোর্ড গরম আঠালো।

প্রথমত, এটি NRF24L01 এবং ব্রেকআউট বোর্ডকে চৌরাস্তার গোড়ায় ধরে রেখেছিল, এবং দ্বিতীয়ত, আমি খুব কমই একটি Arduino ব্যবহার করে যাই হোক না কেন কোন ধরণের একটি breadboard ছাড়া, তাই তারা এখনও যে মত দরকারী হবে।

ধাপ 7: সব শেষ

সব শেষ
সব শেষ
সব শেষ
সব শেষ

সমস্ত কোড ফাইল অন্তর্ভুক্ত করা হয়েছে।

আমি এখানে কোডটি দিয়ে যাইনি কারণ এই নির্দেশযোগ্য এটি ছাড়া যথেষ্ট দীর্ঘ।

আমি আশা করি এটি একটি দরকারী নির্দেশযোগ্য হয়েছে, এমনকি যদি এটি দেখায় যে কিভাবে অন্যান্য Arduino বোর্ডগুলিকে খুব যুক্তিসঙ্গত মূল্যের NRF24L01 দিয়ে বেতারভাবে নিয়ন্ত্রণ করতে হয়।

যদি আপনার কোন প্রশ্ন থাকে, দয়া করে একটি মন্তব্য করতে দ্বিধা করবেন না এবং আমি সাহায্য করার জন্য যথাসাধ্য চেষ্টা করব।

প্রস্তাবিত: