ক্যালকুলেটর কিভাবে তৈরি করবেন?


15

আমি ইলেক্ট্রনিক্সের নবাগত। আমাকে ব্যস্ত রাখতে আমি একটি সাধারণ প্রকল্প এবং পাশের শখ হিসাবে স্ক্র্যাচ থেকে একটি ক্যালকুলেটর তৈরির চেষ্টা করছি।

আমার লক্ষ্যটি একটি সাধারণ ক্যালকুলেটর তৈরি করা, কোনও বৈজ্ঞানিক বা গ্রাফিকিং ক্যালকুলেটর নয়, তবে কীভাবে কেবল কিক্সের জন্য তা কীভাবে করা যায় সে সম্পর্কে তথ্য গ্রহণ করতে আমার আপত্তি নেই।

এর জন্য কি কোনও ভাল টিউটোরিয়াল আছে? আমি কিভাবে শুরু করব?


2
এখানে একটি বেসিক 4-ফাংশন ক্যালকুলেটর তৈরির জন্য একটি কিট রয়েছে: স্পিকেনজিএলবস
ক্যাটালগ

উত্তর:


26

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

হ্যাঁ আমি রসিকতা করছি, এটিকে খুব গুরুত্বের সাথে নেবেন না


হাঃ হাঃ হাঃ. এটা কি? আমি মনে করি আমি এটি আগে দেখেছি, যদিও আমি নিশ্চিত নই। খুব কৌতূহল যে আমি তাদের মধ্যে আমার হাত পেতে পারি কিনা তা দেখার জন্য। আপনার কোনওটির কোনও নাম বা কোনও লিঙ্ক আছে?
ফিলোসোফার


এটি আমার প্রশ্নের অনুপ্রেরণা
জাগিয়েছে

@ কেরাক্সফিলো - হাহাহাহাহাহাহাহাহাহাহাহাহাহাহাহাহাহাহাহাহাহাহাহাহাহাহ> times times
কনার ওল্ফ

@ মার্কেজগুলি, আপনার প্রশ্নের কুডোস, খুব আকর্ষণীয় :)
ফিলোকসফার

18

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

একটি শিক্ষামূলক প্রকল্প হিসাবে আমি যা করব তা হ'ল কয়েকটি এমএসপি ৪৩০ লঞ্চচ্যাড, প্রত্যেকের অধীনে ৫০০ টাকা বা এসটিএম 32 ভ্যালু লাইন আবিষ্কার (স্টেম 32 / আর্ম ভিত্তিক এক নয়, অন্য 12 টি) প্রতিটি জন্য। অনেক লোক আপনাকে আরডুইনোর দিকে চালিত করবে, এবং এটি পাশাপাশি একটি দুর্দান্ত প্ল্যাটফর্ম, এটির উপকারিতা এবং বুদ্ধি রয়েছে, আমি এটির সাথে আমার প্রথম মাইক্রোকন্ট্রোলার হিসাবে যেতে চাই না। একটি সহজ দুটি লাইনের এলসিডি প্যানেল কিনুন, আর্থ এলসিডি একটি ভাল জায়গা হিসাবে ব্যবহৃত হত, সম্ভবত কেবল স্পার্কফুনে যান। একটি মাইক্রোকন্ট্রোলার বোর্ড এটিকে এলসিডি প্যানেল পর্যন্ত লাগান এবং কীভাবে ডিসপ্লেতে অক্ষর রাখতে হয় তা শিখুন। তারপরে আমি মাইক্রোকন্ট্রোলারটিতে কীভাবে ইউআরটি ব্যবহার করতে পারি যা প্রায়শই ব্লাস্টিং বাইটগুলি দিয়ে শুরু হয়, তারপরে পরে গ্রহণ এবং প্রতিধ্বনিত হয়। ডিসপ্লেতে লাগাতে জিনিসগুলি পেতে ইউয়ার্ট রিসিভারটি ব্যবহার করুন তারপরে বোবা টার্মিনাল (পুটি, হাইপারটার্ম, মিনিকোম) কম্পিউটার ফিড স্টাফ থেকে এবং নিশ্চিত হয়ে নিন যে এটি কাজ করে। এরপরে আরেকটি মাইক্রোকন্ট্রোলার নিন, আপনার ইউআর্টটি ইন-আউট এক্সপেরিয়েন্সটি ব্যবহার করুন এবং কোর গণিত ইঞ্জিনে কাজ করুন, আপনার কম্পিউটার থেকে এটি 0 - 9, +, -, = প্রথমে গুন এবং বিভাজন যুক্ত করুন এবং তারপরে আপনি যদি যথেষ্ট সাহসী হন তবে ভাসমান পয়েন্ট দিন তার জন্য (বা মানানসই একটি গ্রন্থাগার রয়েছে)। গণিত মডিউল থেকে আউটপুট প্রতিবেদনগুলি ইনপুট নম্বরগুলি প্রিন্ট করবে এবং প্রিন্টের ফলাফলগুলি = যখন পাঠানো হবে ইত্যাদি। তারপরে বোতামগুলির সাথে কী করবেন তা নির্ধারণ করুন, বোতামগুলির একটি অ্যারের সন্ধান করুন, সেগুলি কোনওভাবে তৃতীয় মাইক্রোকন্ট্রোলারের মধ্যে ফিড করুন, ডিবিউন করুন এবং তার মধ্যে পরিণত হবে uart 0 - 9, +, -, = থেকে গণিতের মাইক্রোকন্ট্রোলারের কাছে। তারপরে, মাঝখানে uart স্টাফ ছাড়াই এই সমস্তগুলি একটি একক মাইক্রোকন্ট্রোলারে পরিণত করুন। আপনার ইউআর্টটি আউট এবং আউট ব্যবহার করুন এবং কোর গণিত ইঞ্জিনে কাজ করুন, আপনার কম্পিউটার থেকে এটি 0 - 9, +, -, = ফিড করুন তবে প্রথমে বহুগুণ এবং বিভাজন যুক্ত করুন এবং তারপরে আপনি যদি যথেষ্ট সাহসী হন তবে ভাসমান বিন্দু (বা আছে ফিট করে একটি গ্রন্থাগার)। গণিত মডিউল থেকে আউটপুট প্রতিবেদনগুলি ইনপুট নম্বরগুলি প্রিন্ট করবে এবং প্রিন্টের ফলাফলগুলি = যখন পাঠানো হবে ইত্যাদি। তারপরে বোতামগুলির সাথে কী করবেন তা নির্ধারণ করুন, বোতামগুলির একটি অ্যারের সন্ধান করুন, সেগুলি কোনওভাবে তৃতীয় মাইক্রোকন্ট্রোলারের মধ্যে ফিড করুন, ডিবিউন করুন এবং তার মধ্যে পরিণত হবে uart 0 - 9, +, -, = থেকে গণিতের মাইক্রোকন্ট্রোলারের কাছে। তারপরে, মাঝখানে uart স্টাফ ছাড়াই এই সমস্তগুলি একটি একক মাইক্রোকন্ট্রোলারে পরিণত করুন। আপনার ইউআর্টটি আউট এবং আউট ব্যবহার করুন এবং কোর গণিত ইঞ্জিনে কাজ করুন, আপনার কম্পিউটার থেকে এটি 0 - 9, +, -, = ফিড করুন তবে প্রথমে বহুগুণ এবং বিভাজন যুক্ত করুন এবং তারপরে আপনি যদি যথেষ্ট সাহসী হন তবে ভাসমান বিন্দু (বা আছে ফিট করে একটি গ্রন্থাগার)। গণিত মডিউল থেকে আউটপুট প্রতিবেদনগুলি ইনপুট নম্বরগুলি প্রিন্ট করবে এবং প্রিন্টের ফলাফলগুলি = যখন পাঠানো হবে ইত্যাদি। তারপরে বোতামগুলির সাথে কী করবেন তা নির্ধারণ করুন, বোতামগুলির একটি অ্যারের সন্ধান করুন, সেগুলি কোনওভাবে তৃতীয় মাইক্রোকন্ট্রোলারের মধ্যে ফিড করুন, ডিবিউন করুন এবং তার মধ্যে পরিণত হবে uart 0 - 9, +, -, = থেকে গণিতের মাইক্রোকন্ট্রোলারের কাছে। তারপরে, মাঝখানে uart স্টাফ ছাড়াই এই সমস্তগুলি একটি একক মাইক্রোকন্ট্রোলারে পরিণত করুন। গণিত মডিউল থেকে আউটপুট প্রতিবেদনগুলি ইনপুট নম্বরগুলি প্রিন্ট করবে এবং প্রিন্টের ফলাফলগুলি = যখন পাঠানো হবে ইত্যাদি। তারপরে বোতামগুলির সাথে কী করবেন তা নির্ধারণ করুন, বোতামগুলির একটি অ্যারের সন্ধান করুন, সেগুলি কোনওভাবে তৃতীয় মাইক্রোকন্ট্রোলারের মধ্যে ফিড করুন, ডিবিউন করুন এবং তার মধ্যে পরিণত হবে uart 0 - 9, +, -, = থেকে গণিতের মাইক্রোকন্ট্রোলারের কাছে। তারপরে, মাঝখানে uart স্টাফ ছাড়াই এই সমস্তগুলি একটি একক মাইক্রোকন্ট্রোলারে পরিণত করুন। গণিত মডিউল থেকে আউটপুট প্রতিবেদনগুলি ইনপুট নম্বরগুলি প্রিন্ট করবে এবং প্রিন্টের ফলাফলগুলি = যখন পাঠানো হবে ইত্যাদি। তারপরে বোতামগুলির সাথে কী করবেন তা নির্ধারণ করুন, বোতামগুলির একটি অ্যারের সন্ধান করুন, সেগুলি কোনওভাবে তৃতীয় মাইক্রোকন্ট্রোলারের মধ্যে ফিড করুন, ডিবিউন করুন এবং তার মধ্যে পরিণত হবে uart 0 - 9, +, -, = থেকে গণিতের মাইক্রোকন্ট্রোলারের কাছে। তারপরে, মাঝখানে uart স্টাফ ছাড়াই এই সমস্তগুলি একটি একক মাইক্রোকন্ট্রোলারে পরিণত করুন।

আর একটি বিকল্প হ'ল আরএসটিএল ভাষা ব্যবহার করে প্রতিটি ফাংশনাল ব্লকের উপর কাজ করুন, knjn.com বা ল্যাটিক্স ব্রাভিয়া (এটি কি যথেষ্ট বড়?) বা অন্য বেশ কয়েকটি সংখ্যক থেকে আরএস -৩২২ এফপিগা বোর্ডগুলির মধ্যে একটি পাওয়ার জন্য। এর অংশগুলি সমতুল্য সফ্টওয়্যার সমাধানের চেয়ে অনেক সহজ হবে, কিছু অংশ সফ্টওয়্যার সমাধানের চেয়ে কিছুটা শক্ত হবে।

আপনি কী ভাবছেন সে সম্পর্কে যদি আপনি আরও তথ্য সরবরাহ করতে পারেন, ন্যানড গেটস বা মাইক্রোকন্ট্রোলার ভিত্তিক সমাধানের একটি বাক্স বা আপনি অন্য কিছু সম্পর্কে ভাবছেন?


7

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


2
কি দারুন. সিস্টেম-অন-চিপের যুগে আপনি কি চান যে তিনি প্রতি সংখ্যার জন্য বিশ গেট কেবল যুক্ত করতে চান ? এমনকি প্রথম হ্যান্ডহেল্ড ক্যালকুলেটর এটি করেনি। একক চিপ ক্যালকুলেটরগুলি প্রায় তিরিশ বছর ধরে রয়েছে।
রন

ভাল, আপনি একটি 4-বিট স্লাইসের জন্য 74181 ব্যবহার করতে পারেন। অন্য কিছু না হলে এটাই সহজ হবে।
ডাব্লু

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

বাইনারি বিট গণিতের সঠিক ধারণা পাওয়ার জন্য এটি আসলে একটি ভাল ধারণা। আমি আমার 12-বছরের কন্যার সাথে একটি অর্ধ-সংযোজক প্রকল্পটি করেছি, যখন আমরা একটি ব্রেডবোর্ডে ঘর থেকে দৌড়ে গিয়েছিলাম - তিনি মিনক্রাফ্টে কার্যত এটি "বিল্ড" করতে গিয়েছিলেন। তিনি গেটস এবং বিট যুক্ত করার ধারণাটি "পেয়েছেন", যা পুরো বিষয়টি ছিল।
রন জে

এটির মূল্যের জন্য, ক্যালকুলেটরগুলি (সাধারণত) বাইনারি এবং রূপান্তরিত করে না অভ্যন্তরীণভাবে, তারা সরাসরি বিসিডিতে কাজ করে। একটি চার বিট স্লাইস একটি এএলইউয়ের পক্ষে যথেষ্ট (বাস্তবে এটি इंटেল 4004 এর মূল কাজ ছিল)।
স্পিহ্রো পেফানি

6

এখানে আমি এটি কীভাবে করেছি।

উপাদান চয়ন করুন:

Input Device(আমার ক্ষেত্রে 4x4 কীপ্যাড। সংখ্যার জন্য 10 কী, অপারেটরগুলির জন্য 4, '=' এর জন্য একটি এবং 'রিসেট / রিফ্রেশ' এর জন্য একটি)

Processor(8-বিট এভিআর)

Output device(16x2 এলসিডি)

Power supply(9 ভোল্ট ব্যাটারি সহ LM7805 নিয়ন্ত্রক)

BreadBoard(পিসিবি এটি কাজ শুরু করার পরে তৈরি করুন)

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

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

এই সব সম্পন্ন এবং ভোইলা .. আমার ক্যালকুলেটর প্রস্তুত ছিল (আমি এর নাম দিয়েছি বুব!)।

খনি @ 1MHz দৌড়েছিল এবং ক্যাসিও_991 এমএস (দশমিক নির্ভুলতা এবং গুণন এবং বিভাগের ক্ষেত্রে) পরাজিত করতে সক্ষম হয়েছিল।

আমি এই অন্যদের সাহায্য করে আশা করি।


5

আপনাকে সফ্টওয়্যারটিতে ফোকাস করতে সক্ষম করতে আপনি ইতিমধ্যে বোর্ডে থাকা সমস্ত কিছু সহ একটি বিকাশ কিট ব্যবহার করতে পারেন। উদাহরণস্বরূপ http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en024858&part=DM240001 এই কিটে PIC, LCD এবং কয়েকটি বোতাম রয়েছে। অতিরিক্ত বোতাম যুক্ত করতে প্রচুর শিরোনাম রয়েছে। এর একটি অপূর্ণতা হ'ল এলসিডি বড় হয় তবে আপনি প্রথমে ব্যবহার করতে চাইতে পারেন তবে এটি অবশ্যই আপনাকে শুরু করবে।

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

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


5

আমার শেল্ফটিতে আমার এইচ। এডওয়ার্ড রবার্টসের "বৈদ্যুতিন ক্যালকুলেটর" রয়েছে, ফরেস্ট এম মিমস তৃতীয় দ্বারা সম্পাদিত। 1974।

মানুষ কীভাবে ব্যবহার করে সে সম্পর্কে এটি বেশ শিক্ষামূলক1974 সালে ক্যালকুলেটর তৈরি । একটি খসড়া টেবিল), স্বতন্ত্র অংশ, সমাবেশ লাইন, তরঙ্গ সোল্ডার মেশিন, এবং সমস্যা সমাধান।

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

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


3

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


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

এছাড়াও আপনি কি এমন একটি ভাল ওয়েবসাইট সরবরাহ করতে পারেন যা শখের শখের জন্য খুব সস্তা ব্যয়ে বৈদ্যুতিন সরঞ্জাম বিক্রি করে? আপনার সমর্থনের প্রশংসা করি!
ফিলোক্সোফার

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

2
@ কারেক্সফিলো: হ্যাঁ, এম্বেডেড সিস্টেমের বেশিরভাগ লোক সি-তে ফার্মওয়্যার লেখেন। সিটিতে ফার্মওয়্যার কীভাবে লিখতে হয় এবং মাইক্রোকন্ট্রোলারে এটি আপলোড করার পাশাপাশি একটি এলসিডি সংযুক্ত করার জন্য টিউটোরিয়াল এবং এতে স্টাফ প্রদর্শন করার জন্য টিউটোরিয়াল রয়েছে
ডেভিড্যাকারি

3

আমি বিশ্বাস করি এটি একটি ভাল প্রথম শেখার প্রকল্প হতে পারে তবে এটি তুচ্ছ নয়, আপনাকে পথের পাশাপাশি বেশ কিছুটা শিখতে হবে, পাশাপাশি ধৈর্য ধরুন কারণ প্রকল্পটি মোকাবেলায় বেশ কয়েকটি উপ-প্রকল্প রয়েছে projects উপায়।

আপনার প্রথমে ডিজাইনের অন্তরায় সিদ্ধান্ত নিতে হবে আপনি কোন প্রযুক্তি স্তরে এটি করতে চান? একটি মাইক্রোকন্ট্রোলার সহ (বিস্তৃতভাবে স্বয়ংসম্পূর্ণ মাইক্রোপ্রসেসর), পৃথক যুক্তি (যেমন ওআআআআআআআআর, নর গেটস এবং ফ্লিপ-ফ্লপস) সাথে / গাণিতিক ইউনিট (এএলইউ), প্রোগ্রামেবল লজিক (সিপিএলডি, এফপিজিএ) সহ কিছু না বা থাকতে পারে উল্লেখ করা বা বিবেচনা করা হয় না। গণনাগুলি করতে ব্যবহৃত প্রযুক্তি সম্পর্কে এটি প্রথম হওয়া উচিত, ইনপুট / আউটপুট নিয়ন্ত্রণগুলি হ'ল গৌণ সিদ্ধান্তসমূহ (এলইডি সাত-বিভাগের প্রদর্শন, এলসিডি প্যানেল) বেশিরভাগ নান্দনিকতা বা ব্যয় দ্বারা প্রভাবিত।

ডিজিটাল গণনা সম্পর্কে শেখার জন্য একটি সম্ভাব্য কার্যকর স্থান হ'ল কম্পিউটারগুলি কীভাবে ডু মাইক্রাফ্ট ক্লাইভ ম্যাক্সফিল্ডের হাও কম্পিউটার ডু ম্যাথ (আইএসবিএন: 0471732788) খুব অ্যাক্সেসযোগ্য বই । এটি "সফট" - প্রোগ্রামিং বা লজিকাল স্তরে লিখিত, যা আপনাকে অবশ্যই গণনাগুলি করার জন্য বুঝতে হবে।

অন্য কেউ ইউ -ওয়াচ (- মাইক্রো-ওয়াচ ) প্রকল্পটির উদাহরণ হিসাবে উল্লেখ করেছেন এবং ইন্টারনেটের আশেপাশে বৈদ্যুতিক প্রকৌশলী (বা ইই শিক্ষার্থীরা) এর জন্য উল্লেখ রয়েছে যা ১৯ own০ এর দশকে নিজস্ব ক্যালকুলেটর তৈরি করেছিল । এফপিজিএ (প্রোগ্রামেবল লজিক ডিভাইস) ভিত্তিক ক্যালকুলেটর তৈরির বিষয়েও কিছু বিশদ রয়েছে ।

ইলেক্ট্রনিক্সের (বা ডিজিটাল ইলেকট্রনিক্স) মোট নবাগতদের জন্য আমি আপনার নকশার প্রারম্ভিক পয়েন্ট হিসাবে একটি মাইক্রোকন্ট্রোলার ব্যবহার করার পরামর্শ দেব, প্রোগ্রামিংয়ের জটিলতার অনুভূতির জন্য উল্লিখিত বইয়ের ওয়েবসাইটটি দেখুন (আপনার যদি কোনও প্রোগ্রামিং অভিজ্ঞতা না থাকে তবে খুব বেশি) মাইক্রোকন্ট্রোলারের জন্য এবং সেখান থেকে যান।


1

ভিজ্যুয়ালটিএফটি ডিজাইনারেরএর একটি উদাহরণ হিসাবে সাধারণ টাচ স্ক্রিন ক্যালকুলেটর রয়েছে । এই সফ্টওয়্যারটি মাইক্রোলেক্ট্রোনিকা পাস্কাল, এভিআর, পিআইসি, এআরএম এবং 8051 মাইক্রোকন্ট্রোলারের জন্য বেসিক এবং সি সংকলকগুলির কোড উত্পন্ন করে।


0

হার্ডওয়্যার প্রয়োজনীয়তা

  • ব্যবহারকারী ইনপুট জন্য একটি কিপ্যাড
  • ইনপুট এবং তার ফলাফলের প্রদর্শন করার জন্য একটি এলসিডি
    একটি বাস্তব ক্যালকুলেটর পণ্য, আপনাকে মত বিশেষ অক্ষর প্রদর্শন করার জন্য একটি কাস্টম LCD র প্রয়োজন =, -এবং M(জন্য এমসি , এম আর এবং মাইক্রোসফট ক্রিয়াকলাপ) লক্ষণ। একটি কাস্টম এলসিডি ডিজাইনের ব্যয় 3000 to অবধি, তবে স্বনির্ধারিত নকশাকৃত এলসিডিগুলি তখন অন্য সাধারণ উদ্দেশ্যগুলির চেয়ে আরও বেশি অর্থনীতিতে পরিণত হয়। যেহেতু আপনার প্রকল্পটি কেবল শখের জন্য, তাই আমি আপনাকে কেএস0108 নিয়ামক সহ একটি সাধারণ উদ্দেশ্যে এলসিডি ব্যবহার করার পরামর্শ দিই।
  • একটি খুব সস্তা এবং অ-বৈশিষ্ট্যযুক্ত মাইক্রোকন্ট্রোলার
    আপনার খুব বেসিক নিয়ামক প্রয়োজন কারণ আপনি খুব সাধারণ কাজ করছেন। আপনি একটি সস্তা পিক মাইক্রোকন্ট্রোলার ব্যবহার করতে পারেন।

নকশা পদক্ষেপ

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

আপনি যদি আরও উন্নত পাটিগণিত বৈশিষ্ট্য যুক্ত করতে চান (যেমন স্কোয়ার রুটিং, সাইন / কোসাইন গণনা ইত্যাদি) আপনার নিউটনের পদ্ধতি বা টেলর সিরিজ এক্সপেনশন ব্যবহার করে প্রাসঙ্গিক গণনা অ্যালগরিদমগুলি প্রয়োগ করতে হবে ।

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


উচ্চাকাঙ্ক্ষার স্তরের উপর নির্ভর করে, খুব অশোধিত মাইক্রোকন্ট্রোলার তৈরির জন্য কেউ একটি "রম" (সম্ভবত ইপ্রোম বা সমান্তরাল ফ্ল্যাশ) সহ কয়েকটি শিফট রেজিস্টার এবং কিছুটা স্বতন্ত্র যুক্তি ব্যবহার করতে পারে। একটি সাধারণ ক্যালকুলেটর 20 চিপ বা তারও কম ব্যবহার করে সম্ভব হতে পারে, esp। যদি কেউ মোটামুটি বড় রম ব্যবহার করে। একটি সাধারণ নির্দেশ হ'ল "শিফট রেজিস্টার 1 অন আউটপুট এক্স, শিফট রেজিস্টার 2 এ ওয়াই, আউটপুট স্ট্রোবটি জেড এ সেট করুন, এবং তারপরে কিছু রেজিস্টারের মানগুলি ধ্রুবক এ এর ​​সাথে সংযুক্ত করে পরবর্তী ঠিকানাটি আনুন"।
সুপারক্যাট

বিসিডি সংযোজন করার জন্য কারও কাছে কোনও সার্কিটরি লাগবে না - এগুলি সমস্ত কোডের মধ্যেই পরিচালনা করা যেতে পারে। যদি কারও দুটি পৃথকভাবে-নিয়ন্ত্রণযোগ্য শিফট রেজিস্টার থাকে তবে তাদের প্রয়োজন অনুসারে অগ্রসর করুন যাতে উত্স এবং গন্তব্য অপারেশনগুলি সারিবদ্ধ থাকে এবং প্রতিটি মান থেকে নেওয়া চার বিটের মানের ভিত্তিতে সিপিইউকে 20 টির একটির মধ্যে রাখার জন্য চারটি নির্দেশাবলী ব্যবহার করুন; পরবর্তী চারটি নির্দেশাবলী প্রতিটি শিফট রেজিস্টার থেকে পরবর্তী চারটি বিট গ্রহণ করতে পারে এবং এর মধ্যে একটির গুণমান ফলাফলের প্রথম চারটি বিট দিয়ে ওভাররাইট করে।
সুপারক্যাট

আমি "কাস্টম এলসিডি" প্রয়োজনীয়তার বিষয়ে বিতর্ক করব। প্যাড পিচ, সাধারণ বনাম বৈজ্ঞানিক (যা সাধারণত 8 বনাম 10 অঙ্কের বোঝায়) - ক্যালকুলেটর এলসিডি কেবলমাত্র কয়েকটি বৈচিত্রের সাথে পণ্য আইটেমের উপস্থিতি দেয়। উপরের একটি প্রদত্ত নির্বাচনের মধ্যে কয়েকশ আইটেম থাকবে যা কার্যকরীভাবে সমতুল্য, এমনকি মাত্রা বা ফন্ট শৈলীতে কিছুটা পৃথক হলেও।
ক্রিস স্ট্রাটন

@ ক্রিসট্রেটটন: যদি কেউ 8 টি অংকের ডিসপ্লে চায় যেখানে কোনও অ্যানিক্যুটিয়েটর না থাকে, অফ-শেল্ফ অংশগুলি উপলব্ধ থাকে যা সেই বিবরণটি পূরণ করতে পারে। আমি মনে করি না যে আমি কোনও অফ-শেল্ফ প্রদর্শনগুলি দেখেছি যা সাধারণ ক্যালকুলেটরের সাথে কার্যত সমতুল্য হয়। নোট করুন যে ক্যালকুলেটরগুলি জেব্রা-স্ট্রিপ সংযোগগুলি ব্যবহারের জন্য উপযুক্ত, যা পিনের তুলনায় সস্তা, তবে একটি ডিআইওয়াই প্রকল্পে কাজ করা আরও শক্ত।
সুপারক্যাট

@ সুপের্যাট - সস্তা ক্যালকুলেটরগুলিতে ব্যবহৃত এলসিডিগুলিতে একটি জেব্রা স্ট্রিপ নয়, হিট অ্যাক্টিভেটেড আঠালোযুক্ত একটি ফিতা ব্যবহার করার প্রবণতা রয়েছে। তারা হয় মূলত মান বন্ধ-বালুচর আইটেম যা উত্পাদন রানে মধ্যে আন্তঃপরিবর্তন করা যেতে পারে।
ক্রিস স্ট্রাটন

0

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


0

নতুনদের জন্য, আপনার প্রকল্পের জন্য আমার প্রস্তাবিত বিওএম এখানে রয়েছে:

  • 1x আরডুইনো ইউনো বা লিওনার্দো বোর্ড, যার উপরে প্রয়োজনীয় মাইক্রোকন্ট্রোলার রয়েছে
  • 1x HD44780ভিত্তিক এলসিডি, সর্বব্যাপী 16x2 টির মতো
  • 1x 4x4 ম্যাট্রিক্স কিপ্যাড

এটি একটি বেসিক ক্যালকুলেটর তৈরি করার অনুমতি দেবে।

আরও উন্নত উদ্দেশ্যে, আমার প্রস্তাবিত বিওএম এখানে:

  • 1x আরডুইনো মেগা 2560 বা আরডুইনো ডিউ (এই ক্ষেত্রে প্রোগ্রামটি বড় হবে)
  • 1x ST7920ভিত্তিক ম্যাট্রিক্স এলসিডি, যা অক্ষর এবং গ্রাফিক উভয় সমর্থন করে
  • কীবোর্ডের জন্য 1 এক্স আরডুইনো ইউএসবি হোস্ট শিল্ড (কেবল মেগা 2560, ডিউ নেটিভ ইউএসবি হোস্ট বৈশিষ্ট্য রয়েছে)

এটি আপনাকে সেই টিআই -83 প্লাস বা টিআই-এনস্পায়ার সিরিজের মতো একটি প্রশস্ত গ্রাফিং ক্যালকুলেটর তৈরি করতে অনুমতি দেবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.