সুচিপত্র:

2-বোতাম চতুর্ভুজ সমীকরণ সমাধানকারী: 5 টি ধাপ
2-বোতাম চতুর্ভুজ সমীকরণ সমাধানকারী: 5 টি ধাপ

ভিডিও: 2-বোতাম চতুর্ভুজ সমীকরণ সমাধানকারী: 5 টি ধাপ

ভিডিও: 2-বোতাম চতুর্ভুজ সমীকরণ সমাধানকারী: 5 টি ধাপ
ভিডিও: CASIO fx-991CW fx-570CW CLASSWIZ Calculator Full Example Manual 2024, নভেম্বর
Anonim
Image
Image

ভূমিকা

আমার প্রথম নির্দেশযোগ্য স্বাগতম!

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

বাজিংগা! এটি ব্যবহারের ক্ষেত্রে!

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

সরবরাহ

উপাদান তালিকা:

বাক্স

2 বোতাম আর্কেড শৈলী

Arduino Nano, বা অনুরূপ

I2C অ্যাডাপ্টারের সাথে LCD ডিসপ্লে 1602

চালু / বন্ধ সুইচ

তারের

2x 10k ওহম প্রতিরোধক

ব্যাটারি 9v ব্লক

9v ব্যাটারির জন্য সংযোগকারী

রুটিবোর্ড

বিবিধ (কাঠের টুকরা, ধাতব কোণ, তারের বন্ধন, স্ক্রু, ওয়াশার)

সরঞ্জাম:

দেখেছি

তাতাল

ড্রিলিং মেশিন

প্রোগ্রামিং এর জন্য কম্পিউটার

ধাপ 1: গাণিতিক ব্যাকগ্রাউন্ড

সফটওয়্যার
সফটওয়্যার

গাণিতিক ব্যাকগ্রাউন্ড

2-বোতাম চতুর্ভুজ সমীকরণ মান দেখায় যেখানে চতুর্ভুজ ফাংশন X- অক্ষ অতিক্রম করে। একটি চতুর্ভুজ ফাংশন এক্স-অক্ষ অতিক্রম করতে পারে না, একবার বা দুবার।

এই মানগুলি গণনা করার বিভিন্ন উপায় রয়েছে। আমার টুলের জন্য, আমি PQ- সূত্র ব্যবহার করি (আমি নিশ্চিত নই, এই অভিব্যক্তিটি সারা বিশ্বে ব্যবহার করা হবে কিনা)।

একটি চতুর্ভুজ সমীকরণের ফর্ম রয়েছে:

ax²+bx+c = 0

ক্রসিং পয়েন্ট গণনা করতে, p = b/a দিয়ে x²+px+q = 0 দিয়ে ফর্মটি ভাগ করুন; q = c/a

PQ সূত্র:

x1 = -p/2 + sqrt ((p/2) ² -q)

x2 = -p/2 -sqrt ((p/2) ² -q)

ফলাফল x 0, 1 বা 2 মান পেতে পারে। এটি বর্গমূলের অধীনে মূল্যের উপর নির্ভর করে।

মান> 0, তাহলে PQ- সূত্র দুটি সমাধান আছে।

মান = 0, তাহলে PQ- সূত্রের একটি সমাধান আছে

মান <0, তারপর PQ ফর্মুলার কোন সমাধান নেই। ফাংশন X- অক্ষ অতিক্রম করে না।

ধাপ 2: সফটওয়্যার

সফটওয়্যার

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

PQ- সূত্রটি সমাধান করার জন্য, আমি উপরের কাঠামোটি তৈরি করি:

নিশ্চিতভাবে, আমি চাকা পুনরায় উদ্ভাবন করি না। কোড তৈরির জন্য, আমি মডিউলটি ব্যবহার করেছি:

- বিদায়

- প্রদর্শন

নিম্নলিখিত পয়েন্টগুলি সবচেয়ে বড় চ্যালেঞ্জ ছিল:

- আমি কিভাবে সাইন নির্বাচন করতে পারি? আমি ফাংশন মডুলো (লিঙ্ক) দিয়ে এই চ্যালেঞ্জটি সমাধান করেছি। কোডটি ইনপুটকে 2 দ্বারা ভাগ করে।

- সকল স্তরের মধ্য দিয়ে চলার পর, আমাকে সকল মান 0 এ ঘোষণা করতে হবে।

- প্রদর্শিত পাঠ্য কেবল পাঠানো অক্ষর মুছে দেয়। যদি কোডগুলি 4 টি অক্ষর সহ একটি শব্দ পাঠায়, তবে এই 4 টি অক্ষর পুনরায় লোড করা হবে। যদি আগের শব্দটিতে আরও অক্ষর থাকত, অক্ষরগুলি থাকবে। এটি ঠিক করার জন্য, প্রদর্শিত পাঠ্যটি ফাঁকা দিয়ে পূরণ করা হবে। পরপর 16 টি অক্ষর পুনরায় লোড করা হবে।

চূড়ান্ত কোড সংযুক্ত করা হয়েছে।

ধাপ 3: হার্ডওয়্যার

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

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

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

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

বিদ্যুৎ সরবরাহের জন্য, আমি রিচার্জেবল 9V ব্লক ব্যাটারি সুপারিশ করি। আমি ব্যাটারিকে পাওয়ার সুইচের মাধ্যমে আরডুইনোতে সংযুক্ত করি। ব্যাটারি একটি ছোট ধাতু কোণ দিয়ে বাক্সে স্থির করা হয়। ব্যাটারির জন্য সংযোগকারী কেবল তারের বন্ধন দ্বারা সংশোধন করা হয়।

মাইক্রোপ্রসেসর হল একটি Arduino ন্যানোর ক্লোন। এই ব্যবহারের ক্ষেত্রে, কর্মক্ষমতা যথেষ্ট। একটি Attiny 85, উদাহরণস্বরূপ একটি Digispark মাইক্রোপ্রসেসর, প্রত্যাখ্যাত হয়। আরডুইনো ডিসপ্লের পাশে "ব্রেড বোর্ডেড"।

ডিসপ্লে একটি 1602 LCD ডিসপ্লে। আপনি দুটি সারিতে 16 টি অক্ষর ব্যবহার করতে পারেন। আপনি এই ডিসপ্লেটি বিভিন্ন মেশিন এবং একটি সরঞ্জামগুলিতে খুঁজে পেতে পারেন। এই ডিসপ্লেটি ব্যবহার করার দুটি ভিন্ন উপায় রয়েছে। আপনি ডিসপ্লেটি সরাসরি কন্ট্রোলারের সাথে সংযুক্ত করতে পারেন অথবা I2C এর মাধ্যমে ডিসপ্লেতে যোগাযোগের জন্য আপনি একটি অ্যাড-অন ব্যবহার করতে পারেন। I2C একটি আদর্শ প্রোটোকল। আমি এটি ব্যবহার করেছি, কারণ ডিসপ্লেটিকে কন্ট্রোলারের সাথে সংযুক্ত করা সহজ। আপনার 16 এর পরিবর্তে 4 টি কেবল দরকার, VCC থেকে 5V, GND থেকে GND, SDA থেকে A4, SCL থেকে A5। ডিসপ্লেটি স্ক্রু দ্বারা বক্স কভারে স্থির করা হয়েছে।

বোতামগুলি বিশাল! তাদের সাধারণ আর্কেড গেম স্টাইল রয়েছে। আমি এটা পছন্দ করি! বোতামগুলি ডিজিটাল পিন 4 এবং 7 এর সাথে সংযুক্ত। অনুগ্রহ করে 10K প্রতিরোধককে ভুলবেন না

কভারটি খোলার জন্য, উদাহরণস্বরূপ ব্যাটারি বিনিময় করার জন্য, আমি রুটিবোর্ডে লাগানো লম্বা তারগুলি ব্যবহার করেছি।

ধাপ 4: তারের

তারের
তারের

ধাপ 5: ভবিষ্যতের উন্নতি

ভবিষ্যতের উন্নতি

একটি প্রকল্প শেষ করার পরে, আপনি সবসময় উন্নতির জন্য বাগ বা বৈশিষ্ট্যগুলি খুঁজে পান। এই প্রকল্পে, আমি কেবল কয়েকটি পয়েন্ট পেয়ে খুশি, আমি ভবিষ্যতের জন্য উন্নতি করব।

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

এই মুহুর্তে আমার কাছে চতুর্ভুজ সমীকরণ সমাধানের জন্য একটি ব্যবহার কেস নেই। টুলটি উন্নত করার জন্য, আমি আরও গাণিতিক বিষয়গুলির সাথে টুলটি প্রসারিত করতে চাই, উদাহরণস্বরূপ মৌলিক ক্যালকুলাস বা সূত্র যেমন দ্বিপদী সূত্র বা পাইথাগোরাসের বাক্য।

প্রস্তাবিত: