সুচিপত্র:
- ধাপ 1: সিস্টেম ব্ল্যাক বক্স
- ধাপ 2: উপাদান
- ধাপ 3: ডি ফ্লিপ-ফ্লপ
- ধাপ 4: শর্তাবলী
- ধাপ 5: সীমাবদ্ধতা
- ধাপ 6: প্রধান উৎস ফাইল
- ধাপ 7: সমাবেশ
- ধাপ 8: প্রোগ্রাম লোড হচ্ছে
ভিডিও: শক্তি দক্ষ মোশন সক্রিয় রাস্তার আলো: 8 টি ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 08:00
এই প্রকল্পের সাথে আমাদের লক্ষ্য ছিল এমন কিছু তৈরি করা যা সম্প্রদায়ের শক্তি এবং আর্থিক সম্পদ সংরক্ষণ করবে। মোশন অ্যাক্টিভেটেড স্ট্রিট লাইট এই দুটি কাজ করবে। সারা দেশ জুড়ে রাস্তাঘাট বাতি জ্বালানো রাস্তায় জ্বালানি নষ্ট হচ্ছে যা খালি। আমাদের রাস্তার আলো ব্যবস্থা নিশ্চিত করে যে লাইট শুধুমাত্র যখন প্রয়োজন হয়, সম্প্রদায়গুলিকে অগণিত ডলার সাশ্রয় করে। মোশন সেন্সর ব্যবহার করে, সিস্টেমটি কেবল তখনই চালু হয় যখন গাড়িগুলি উপস্থিত থাকে। এছাড়াও পথচারীদের নিরাপত্তার জন্য, আমরা একটি ওভাররাইড বোতাম প্রয়োগ করেছি যা রাস্তার সমস্ত আলো চালু করে। ভিভাডো এবং একটি বেসিস 3 বোর্ড ব্যবহার করে আমরা কীভাবে আমাদের প্রকল্পের স্কেলড ডাউন মডেলটি ডিজাইন করেছি এবং তৈরি করেছি তা নিম্নলিখিত পদক্ষেপগুলি আপনাকে দেখাবে।
ধাপ 1: সিস্টেম ব্ল্যাক বক্স
আমরা একটি সাধারণ ব্ল্যাক বক্স ডায়াগ্রাম আঁকার মাধ্যমে এই প্রকল্পটি শুরু করেছি। একটি ব্ল্যাক বক্স ডায়াগ্রাম কেবল আমাদের সিস্টেমের সমস্ত প্রয়োজনীয় প্রক্রিয়া সম্পন্ন করার জন্য প্রয়োজনীয় ইনপুট এবং আউটপুট দেখায়। আমরা আমাদের নকশা যতটা সম্ভব সহজ এবং মৌলিক রাখার চেষ্টা করেছি। আমাদের তিনটি সিস্টেম ইনপুটে মোশন সেন্সরের একটি বাস (আমাদের স্কেল ডাউন মডেলের জন্য 4), পথচারী ওভাররাইড বোতাম এবং একটি ঘড়ির ইনপুট অন্তর্ভুক্ত ছিল। অন্যদিকে আমাদের একক আউটপুট হল LED লাইটের একটি বাস যা আমাদের রাস্তার আলোকে প্রতিনিধিত্ব করে। এই মডেলের জন্য আমরা 16 টি স্ট্রিট লাইটের একটি দৃশ্য ব্যবহার করেছি কারণ এটি বেসিস 3 বোর্ডে LED আউটপুটগুলিতে নির্মিত সর্বাধিক সংখ্যা। অবশেষে, এই চিত্রটি ব্যবহার করে আমরা আমাদের Vivado প্রকল্প, উৎস, এবং যথাযথ ইনপুট এবং আউটপুট সহ সীমাবদ্ধতা ফাইল তৈরি করতে সক্ষম হয়েছি।
ধাপ 2: উপাদান
এই ধাপে আমরা আমাদের ব্ল্যাক বক্স ডায়াগ্রাম তৈরির উপাদানগুলি গভীরভাবে পরীক্ষা করি। আমাদের প্রথম উপাদান হল একটি ভিএইচডিএল সোর্স ফাইল যার মধ্যে রয়েছে ডি ফ্লিপ-ফ্লপ। ডি ফ্লিপ-ফ্লপগুলি ঘড়ির ক্রমবর্ধমান প্রান্তে সেন্সর থেকে তাদের কাছে যে কোনও সংকেত ইনপুট হচ্ছে তা গ্রহণ করে এবং পরবর্তী উত্থান প্রান্ত পর্যন্ত সেই ডেটাগুলিকে আটকে রাখে। এটি আমাদের সংবেদনশীল গতি সেন্সরগুলিকে "ঝলকানি" থেকে আউটপুট LED এর কারণ হতে দেয়। এছাড়াও, আমরা বাটন ইনপুট সিগন্যালে একটি একক ডি ফ্লিপ-ফ্লপ রাখি যাতে বোতামটি ধাক্কা দেওয়ার পরে প্রায় 5-7 সেকেন্ডের জন্য LED চালু থাকে। আমরা একটি ঘড়ি বিভাজক মাধ্যমে এটি দৌড়ে।
সত্তা clk_div2 হল পোর্ট (clk: std_logic; sclk: out std_logic); শেষ clk_div2;
clk_div2 এর স্থাপত্য my_clk_div
ধ্রুবক max_count: পূর্ণসংখ্যা: = (300000000); সিগন্যাল tmp_clk: std_logic: = '0'; শুরু my_div: প্রক্রিয়া (clk, tmp_clk) পরিবর্তনশীল div_cnt: পূর্ণসংখ্যা: = 0; যদি শুরু হয় div_cnt: = 0; অন্যথায় div_cnt: = div_cnt + 1; যদি শেষ; যদি শেষ; sclk <= tmp_clk; শেষ প্রক্রিয়া my_div; শেষ my_clk_div;
এই ডায়াগ্রামে আমাদের চূড়ান্ত উপাদানটি একটি আচরণগত ভিএইচডিএল সোর্স ফাইল যা ইনপুট সিগন্যালের কনফিগারেশনের ভিত্তিতে আউটপুটগুলির জন্য শর্তসাপেক্ষ।
ধাপ 3: ডি ফ্লিপ-ফ্লপ
ইনপুট সিগন্যালের সাথে সংযুক্ত চারটি ফ্লিপ-ফ্লপ আমাদের সিস্টেমের কার্যকারিতার জন্য অপরিহার্য। যেমনটি আগে বলা হয়েছে, সংবেদনশীল মোশন সেন্সর এবং একটি ওভাররাইড বোতামের সাহায্যে, ফ্লিপ-ফ্লপগুলি কেবল ঘড়ির ক্রমবর্ধমান প্রান্তে আমাদের ইনপুট সংকেত আউটপুট করার জন্য ল্যাচ ব্যবহার করে। এই সিকোয়েন্সিয়াল লজিকের অর্থ আমাদের স্ট্রিট লাইট দ্রুত গতিতে ট্রিগার হওয়ার পর একটি নির্দিষ্ট সময়ের জন্য থাকতে পারে। একটি ডি-ফ্লিপ ফ্লপের কোডিং বেশ সহজ:
beginprocess (CLK) শুরু হয় যদি Rising_edge (CLK) তাহলে Q <= D; যদি শেষ; শেষ প্রক্রিয়া;
যদি স্টেটমেন্ট থাকে তাহলে পুরো জিনিসটি এককভাবে সংকলিত হতে পারে। একবার আমরা এই টুকরা পেয়েছিলাম, আমরা একটি প্রয়োজনীয় কাঠামোগত ভিএইচডিএল সোর্স ফাইল তৈরি করেছি যা আমাদের প্রয়োজনীয় চারটি ফ্লিপ-ফ্লপ রয়েছে:
DFF0 শুরু করুন: DFF পোর্ট ম্যাপ (CLK => CLK, D => D (0), Q => Q (0)); DFF1: DFF পোর্ট ম্যাপ (CLK => CLK, D => D (1), Q => Q (1)); DFF2: DFF পোর্ট ম্যাপ (CLK => CLK, D => D (2), Q => Q (2)); DFF3: DFF পোর্ট ম্যাপ (CLK => CLK, D => D (3), Q => Q (3));
শেষ আচরণ;
এটি আমাদের মাস্টার স্ট্রাকচারাল ফাইল রাখতে সাহায্য করে যেখানে আমরা সিস্টেমের সকল উপাদানগুলিকে একত্রিত করে অনেক বেশি পরিষ্কার এবং সংগঠিত করি।
ধাপ 4: শর্তাবলী
আমাদের কোডকে কমপ্যাক্ট এবং দক্ষ রাখার জন্য আমরা আমাদের সমস্ত শর্তাবলী একক ক্ষেত্রে বিবৃতিতে লিখেছি। আমাদের স্কেল ডাউন মডেলের জন্য, আমাদের 16 টি সম্ভাব্য LED আউটপুট কনফিগারেশন ছিল কারণ প্রতিটি মোশন সেন্সর 4 LED এর একটি গ্রুপের জন্য দায়ী।:
কেস NMS হল যখন "1111" => LED LED LED LED LED LED LED LED LED LED LED LED LED LED LED LED LED = = "1111111111111111"; শেষ কেস;
ধাপ 5: সীমাবদ্ধতা
ভিভাডো ব্যবহার করে আপনার ইনপুট এবং আউটপুটগুলি সঠিকভাবে জানাতে, আপনাকে অবশ্যই একটি সীমাবদ্ধতা ফাইল প্রয়োগ করতে হবে যাতে সমস্ত পোর্ট, বোতাম, এলইডি এবং ঘড়ি ব্যবহৃত হচ্ছে।
set_property PACKAGE_PIN W5 [get_ports CLK] set_property IOSTANDARD LVCMOS33 [get_ports CLK]
set_property PACKAGE_PIN U16 [get_ports {LED [0]}] set_property IOSTANDARD LVCMOS33 [get_ports {LED [0]}] set_property PACKAGE_PIN E19 [get_ports {LED] U19 [get_ports {LED [2]}] set_property IOSTANDARD LVCMOS33 [get_ports {LED [2]}] set_property PACKAGE_PIN V19 [get_ports {LED [3]}] set_property IOSTANDARD LVCMOS33 [get_ports {LED [3] POWERPY] get_ports {LED] LED [6]}] set_property IOSTANDARD LVCMOS33 [get_ports {LED [6]}] set_property PACKAGE_PIN V14 [get_ports {LED [7]}] set_property IOSTANDARD LVCMOS33 [get_ports {LED [7]}] set_property PAC13_ সেট 8]}] set_property IOSTANDARD LVCMOS33 [get_ports {LED [8]}] set_property PACKAGE_PIN V3 [get_ports {LED [9]}] set_property IO স্ট্যান্ডার্ড LVCMOS33 [get_ports {LED [9]}] set_property PACKAGE_PIN W3 [get_ports {LED [10]}] set_property IOSTANDARD LVCMOS33 [get_ports {LED] [get_ports {LED [11]}] set_property PACKAGE_PIN P3 [get_ports {LED [12]}] set_property IOSTANDARD LVCMOS33 [get_ports {LED] {LED [13]}] set_property PACKAGE_PIN P1 [get_ports {LED [14]}] set_property IOSTANDARD LVCMOS33 [get_ports {LED [14]}] set_property PACKAGE_PIN L1 [get_ports {LED [15]}] set_property IOSSTA LOSTA LOSTA33 LOSTAIR [15]}]
set_property PACKAGE_PIN U18 [get_ports BTN] set_property IOSTANDARD LVCMOS33 [get_ports BTN]
set_property PACKAGE_PIN A14 [get_ports {MS [0]}] set_property IOSTANDARD LVCMOS33 [get_ports {MS [0]}] set_property PACKAGE_PIN A16 [get_ports {MS] B15 [get_ports {MS [2]}] set_property IOSTANDARD LVCMOS33 [get_ports {MS [2]}] set_property PACKAGE_PIN B16 [get_ports {MS [3]}] set_property IOSTANDARD LVCMOS33 [get_ports {MS [3]}
ধাপ 6: প্রধান উৎস ফাইল
এই প্রধান ফাইলে আমরা পূর্বে উল্লিখিত সকল কম্পোনেন্ট সোর্স ফাইল একত্রিত করেছি। এই ফাইলটি কাঠামোগত কোড হিসাবে কাজ করে ভিন্ন উপাদানগুলিকে একত্রিত করে।
সত্তা Master_Final_Project হল পোর্ট (BTN: STD_LOGIC এ; CLK: STD_LOGIC এ; MS: STD_LOGIC_VECTOR (3 ডাউনটো 0); LED: আউট STD_LOGIC_VECTOR (15 ডাউনটো 0)); শেষ Master_Final_Project;
Master_Final_Project এর স্থাপত্য আচরণ
উপাদান final_project হল পোর্ট (--CLK: STD_LOGIC এ; NMS: STD_LOGIC_VECTOR এ (3 ডাউনটোতে 0); শেষ উপাদান;
উপাদান Final_DFF হল
পোর্ট (CLK: STD_LOGIC এ; D: STD_LOGIC_Vector (0 ডাউনটো 0); প্রশ্ন: STD_LOGIC_Vector (0 ডাউনটো 0)); শেষ উপাদান;
সংকেত DFF02proj30: STD_LOGIC;
সংকেত DFF12proj74: STD_LOGIC; সংকেত DFF22proj118: STD_LOGIC; সংকেত DFF32proj1512: STD_LOGIC;
শুরু
DFF0: Final_DFF পোর্ট ম্যাপ (CLK => CLK, D (0) => MS (0), D (1) => MS (1), D (2) => MS (2), D (3) => MS (3), Q (0) => DFF02proj30, Q (1) => DFF12proj74, Q (2) => DFF22proj118, Q (3) => DFF32proj1512); Proj0: final_project port map (NMS (0) => DFF02proj30, NMS (1) => DFF12proj74, NMS (2) => DFF22proj118, NMS (3) => DFF32proj1512, BTN => BTN, LED => LED); শেষ আচরণ;
ধাপ 7: সমাবেশ
এই প্রকল্পের জন্য হার্ডওয়্যার সমাবেশ ন্যূনতম। শুধুমাত্র প্রয়োজনীয় টুকরা নিম্নরূপ:
1. বেসিস 3 বোর্ড (1)
2. সস্তা মোশন সেন্সর যা অ্যামাজনে পাওয়া যাবে এখানে। (4)
3. পুরুষ থেকে মহিলা নেতৃত্ব (4)
সমাবেশ:
1. কানেক্ট 4 পুরুষ লিড PMod হেডার JB পোর্ট 1-4 (চিত্র দেখুন)।
2. প্রতিটি মোশন সেন্সরের আউটপুট পিনের সাথে মহিলা প্রান্ত সংযুক্ত করুন।
ধাপ 8: প্রোগ্রাম লোড হচ্ছে
এখন আমরা VHDL মাস্টার সোর্স ফাইলটি Basys 3 বোর্ডে লোড করার জন্য প্রস্তুত। সম্ভাব্য ত্রুটির জন্য সংশ্লেষণ, বাস্তবায়ন এবং বিটস্ট্রিম চেকিং নিশ্চিত করুন। যদি সব সফলভাবে চালানো হয়, হার্ডওয়্যার ম্যানেজার খুলুন এবং বেসিস 3 ডিভাইসটি প্রোগ্রাম করুন। আপনার প্রকল্প এখন সম্পূর্ণ!
প্রস্তাবিত:
অতিস্বনক সেন্সর ব্যবহার করে স্বয়ংক্রিয় রাস্তার আলো: 3 টি ধাপ
অতিস্বনক সেন্সর ব্যবহার করে স্বয়ংক্রিয় স্ট্রিট লাইট: আপনি কি কখনো ভেবেছেন যে কিভাবে রাতে রাস্তার লাইট স্বয়ংক্রিয়ভাবে চালু হয় এবং সকালে স্বয়ংক্রিয়ভাবে বন্ধ হয়ে যায়? এই লাইট চালু/বন্ধ করার জন্য কি কেউ আসে? স্ট্রিট লাইট জ্বালানোর বিভিন্ন উপায় আছে কিন্তু নিচের সি
DIY সৌর চালিত স্বয়ংক্রিয় রাস্তার আলো: 3 ধাপ
DIY সৌরশক্তি চালিত স্বয়ংক্রিয় রাস্তার আলো: আমার বাড়ি গ্রামাঞ্চলে অবস্থিত, তাই আমার বাড়ির সামনের রাস্তাটি সম্পূর্ণ অন্ধকার যখন একেবারে আলো নেই। তাই এখানে আমি একটি সৌর চালিত রাস্তার আলো তৈরি করেছি যা স্বয়ংক্রিয়ভাবে সূর্যাস্তের সময় এবং সূর্যোদয়ের সময় বন্ধ হয়ে যায়। এটি সৌর প্যানেল ব্যবহার করে
শক্তি দক্ষ মোটর ড্রাইভার বোর্ড: 5 টি ধাপ
বিদ্যুৎ দক্ষ মোটর ড্রাইভার বোর্ড: উপস্থাপিত প্রকল্পটি একটি স্টেপার মোটর/মোটর ড্রাইভার সার্কিট বোর্ড যা SN754410 মোটর ড্রাইভার আইসি সহ কিছু বিদ্যুৎ সাশ্রয় বৈশিষ্ট্য রয়েছে। বোর্ড আইসিতে দ্বৈত এইচ ব্রিজ সার্কিটের সাহায্যে 2 ডিসি মোটর বা একটি স্টেপার মোটর চালাতে পারে। SN754410 IC
LoRa ব্যবহার করে বুদ্ধিমান রাস্তার আলো: 5 টি ধাপ
লোরা ব্যবহার করে ইন্টেলিজেন্ট স্ট্রিট লাইট: একটি শহরের স্ট্রিট লাইট নিরাপদ ট্রাফিক অবস্থা, নিরাপদ পথচারী পরিবেশ প্রদান করে এবং শহরের স্থাপত্য পর্যটন এবং বাণিজ্যিক উৎপাদনের একটি বড় উন্নতি উপস্থাপন করতে পারে।
শক্তি দক্ষ কম্পিউটার: 9 টি ধাপ
এনার্জি এফিসিয়েন্ট কম্পিউটার: অগণিত নির্দেশনা আছে এবং ওয়েবে নিবন্ধ এবং কিভাবে আপনার নিজের পিসি তৈরির প্রিন্ট আছে। যাইহোক, একটি পিসি তৈরির জন্য অনেক গাইড নেই যা শক্তি দক্ষ। এই নির্দেশাবলী জুড়ে, আমি আপনাকে কিভাবে সেল করতে হবে তার কিছু টিপস দেব