একটি আরডুইনো, একটি মাইক্রোপ্রসেসর এবং একটি মাইক্রোকন্ট্রোলারের মধ্যে পার্থক্য কী? আমি সস্তা রেজিস্টিভ টাচ স্ক্রিন পরিচালনা করতে কোনটি সবচেয়ে ভাল তা নির্ধারণ করার চেষ্টা করছি।
একটি আরডুইনো, একটি মাইক্রোপ্রসেসর এবং একটি মাইক্রোকন্ট্রোলারের মধ্যে পার্থক্য কী? আমি সস্তা রেজিস্টিভ টাচ স্ক্রিন পরিচালনা করতে কোনটি সবচেয়ে ভাল তা নির্ধারণ করার চেষ্টা করছি।
উত্তর:
সাধারণত ডেস্কটপ পিসি বা ল্যাপটপে পাওয়া যায় এবং এসপিআই, আই 2 সি, ইউআরটি, ইউএসবি, এলসিডি এবং অন্যান্যগুলির মতো বাইরের বিশ্বের সাথে সংযোগ করতে একটি সিপিইউ এবং একটি বহিরাগত মেমরি ইন্টারফেস প্লাস করে বিভিন্ন আই / ও বাস রয়েছে। একটি মাইক্রোপ্রসেসরগুলির একটি ঘড়ি সরবরাহের জন্য একটি বাহ্যিক স্ফটিকও থাকবে।
বেশিরভাগ মাইক্রোপ্রসেসরের চিপটিতে কেবল পঠনযোগ্য মেমরি নেই; পরিবর্তে মাদারবোর্ডে একটি বাহ্যিক চিপ রয়েছে যেখানে প্রাথমিক বুট কোডটি রয়েছে। ইন্টেল-ভিত্তিক পিসিগুলিতে একে বেসিক ইনপুট / আউটপুট সিস্টেম (বিআইওএস) বলা হয় এবং এতে প্রাথমিক বুট কোড ছাড়াও আই / ও রুটিন থাকে। বুট কোডটি পাওয়ার-অন সেলফি টেস্ট (POST) করে শুরু হয় এবং তারপরে বুট কোডটির পরবর্তী ধাপটি কোথায় লোড করতে হয় তা দেখতে পাওয়া যায় - একটি হার্ড ড্রাইভ, সিডি থেকে (বা পুরানো দিনগুলিতে) একটি ফ্লপি ডিস্ক। দ্বিতীয় স্তরের এই বুটটি তখন অপারেটিং সিস্টেমটি লোড করে। (কিছু সিস্টেমে তিন স্তরের বুট কোডও থাকতে পারে))
কিছু মাইক্রোপ্রসেসর (সাধারণত স্মার্ট ফোন এবং ট্যাবলেটগুলির জন্য লক্ষ্যযুক্ত, যার মধ্যে বুট অপশনগুলি সীমাবদ্ধ থাকে) এর মধ্যে খুব কম পরিমাণে পঠনযোগ্য মেমরি থাকে যা প্রাথমিক বুট কোড ধারণ করে।
আমি বুট কোডটিকে কেবল পঠনযোগ্য হিসাবে উল্লেখ করি; কিছু সিস্টেমে এটি আপডেট করা যায়। তবে এটি মোটামুটি ঝুঁকিপূর্ণ; কিছু ভুল হলে সিস্টেম আর বুট করতে পারে না।
মাইক্রোকন্ট্রোলারগুলির বিপরীতে, যারা তাদের প্রোগ্রামগুলি কেবল পঠনযোগ্য মেমরি থেকে চালিত করে, মাইক্রোপ্রসেসরগুলি বুট করার পরে তাদের প্রোগ্রামগুলি বাহ্যিক র্যামে লোড করে এবং সেখান থেকে এটি কার্যকর করে।
অন্যদিকে একটি স্ট্যান্ডেলোনাল সিঙ্গল-চিপ আইসি যাতে সিপিইউ থাকে, প্রোগ্রামটি সংরক্ষণের জন্য কেবল পঠনযোগ্য মেমরি থাকে, প্রোগ্রামটি কার্যকর করতে ব্যবহৃত ভেরিয়েবলগুলি সংরক্ষণের র্যাম এবং বাইরের বিশ্বের সাথে সংযুক্ত করার জন্য বিভিন্ন আই / ও বাস রয়েছে যেমন এসপিআই, আই 2 সি, ইউআরটি এবং অন্যান্য হিসাবে। নিজেই, এটি কোনও পিসিতে একটি বাহ্যিক ইন্টারফেসের মাধ্যমে প্রোগ্রাম না করে কোনও প্রোগ্রাম কার্যকর করতে পারে না। একটি মাইক্রোকন্ট্রোলারের একটি ঘড়ি সরবরাহের জন্য একটি বাহ্যিক স্ফটিকের প্রয়োজন হতে পারে, তবে কারও কারও অভ্যন্তরীণ ঘড়ি রয়েছে।
কিছু মাইক্রোকন্ট্রোলার (যেমন মাইক্রোচিপের পিআইসি 32) ফ্ল্যাশ মেমরির দুটি বিভাগ রয়েছে; একটিতে আরম্ভের (বুট) কোডটি রাখা এবং অন্যটি অ্যাপ্লিকেশনটি সঞ্চয় করতে। এটি জায়গায়-তে অ্যাপ্লিকেশন কোডটি আপডেট করা সহজ করে।
আপনার উদ্দেশ্যে, আপনি একটি মাইক্রোকন্ট্রোলার ব্যবহার করতে চান, কোনও মাইক্রোপ্রসেসর নয়। মাইক্রোকন্ট্রোলার ব্যবহার করার জন্য আপনাকে নিজের বোর্ডটি ডিজাইন করতে হবে, বা কোনও ধরণের উন্নয়ন বোর্ড কিনতে হবে board
এটি একটি বোর্ড, এবং একটি মাইক্রোকন্ট্রোলার, সাধারণত 8-বিট এভিআর যেমন এটিমেগ 8, এটিমেগা 168, এটিমেগ 328, এটিমেগা 1280, এবং এটিমেগা 2560, প্লাস পাওয়ার সাপ্লাই, স্ফটিক এবং বিভিন্ন পেরিফেরিয়াল বোর্ডগুলির সাথে ইন্টারফেসের জন্য মহিলা হেডার থাকে।
এই পেরিফেরাল বোর্ডগুলিকে ঝাল বলা হয় এবং একে অপরের শীর্ষে স্ট্যাক করার জন্য ডিজাইন করা হয়েছে (আরডুইনো বা অন্য কোনও ieldালের সাথে সংযোগ করার জন্য বোর্ডগুলির নীচে পুরুষ পিন রয়েছে এবং পুরুষ পিনগুলি স্বীকার করতে শীর্ষে মহিলা হেডার রয়েছে) একটি ঝাল এটির উপরে সজ্জিত)।
উদাহরণস্বরূপ শিল্ডগুলি হ'ল মোটর কন্ট্রোল বোর্ড, সাধারণ I / O বোর্ড, রিলে বোর্ডস, ইথারনেট বোর্ডস এবং এলসিডি, সাধারণত একটি টাচ স্ক্রিনযুক্ত। তবে আমি এমন কোনও প্রতিরোধী স্পর্শ পর্দা জানি না যা কেবল সনাক্তকরণের জন্য ব্যবহৃত হবে (এলসিডি ছাড়াই)।
উপরে বর্ণিত হার্ডওয়্যার ছাড়াও, আরডুইনো জাভাতে লেখা একটি ক্রস-প্ল্যাটফর্ম ইন্টিগ্রেটেড ডেভেলপমেন্ট এনভায়রনমেন্ট (আইডিই) নিয়ে আসে। এটি শিল্পীদের এবং অন্যান্য সূচনাপ্রাপ্তদের কাছে প্রোগ্রামিং পরিচয় করানোর জন্য তৈরি করা হয়েছিল, যেমনটি বেসিক ভাষা 50 বছর আগে করেছে। আরডুইনোর জন্য একটি প্রোগ্রামকে স্কেচ বলা হয় ।
আরডুইনো প্রোগ্রামগুলি সি বা সি ++ তে লিখিত হয়, তবে বিবরণীর অনেকগুলি ব্যবহারকারীর কাছ থেকে লুকানো থাকে: নিয়মিতভাবে লুপ হয় এমন একটি প্রোগ্রাম তৈরি করতে কেবল দুটি ফাংশন (সিস্টেম দ্বারা বলা হয়) সংজ্ঞায়িত করা দরকার (যা এমবেডেড প্রোগ্রামগুলির জন্য সাধারণত)
setup(): a function run once at startup that performs initialization
loop(): a function called repeatedly until the board powers off
আইডিই "ওয়্যারিং" নামে একটি সফ্টওয়্যার লাইব্রেরি নিয়ে আসে যা সাধারণ ইনপুট / আউটপুট ক্রিয়াকলাপের জন্য ব্যবহার করা যেতে পারে।
একটি আরডুইনো হ'ল একটি পিসিবি যা একটি এটমেল এভিআর মাইক্রোকন্ট্রোলারযুক্ত এবং সাধারণত একটি স্ট্যান্ডার্ড প্যাটার্নে সংযোজকদের একটি সেট সরবরাহ করে। মাইক্রোকন্ট্রোলারটি সাধারণত একটি "বুটলোডার" প্রোগ্রামের সাথে প্রিপ্রোগ্রামযুক্ত হয় যা কোনও প্রোগ্রামকে ("স্কেচ" বলে) একটি পিসি থেকে একটি টিটিওয়াই সিরিয়াল সংযোগ (বা ইউএসবি সংযোগের উপর ভার্চুয়াল সিরিয়াল) মাইক্রোকন্ট্রোলারে লোড করতে দেয়।
একটি মাইক্রোপ্রসেসর এমন একটি আইসি যা কেবলমাত্র একটি কেন্দ্রীয় প্রক্রিয়াকরণ ইউনিট (সিপিইউ) ধারণ করে। আইসিটিতে র্যাম, রম বা অন্যান্য পেরিফেরিয়াল নেই। আইসিতে ক্যাশে মেমরি থাকতে পারে তবে এটি কোনও বাহ্যিক মেমরি ছাড়াই ব্যবহারযোগ্য হওয়ার জন্য ডিজাইন করা হয়নি।
মাইক্রোপ্রসেসরগুলি অভ্যন্তরীণভাবে প্রোগ্রামগুলি সঞ্চয় করতে পারে না এবং তাই চালিত হওয়ার পরে সাধারণত সফ্টওয়্যার লোড করতে পারে, এতে সাধারণত একটি জটিল মাল্টি-স্টেজ "বুট" প্রক্রিয়া জড়িত থাকে যেখানে "ফার্মওয়্যার" বাহ্যিক রম থেকে লোড হয় এবং শেষ পর্যন্ত একটি অপারেটিং সিস্টেম অন্যান্য স্টোরেজ মিডিয়া থেকে লোড হয় (যেমন হার্ড ডিস্ক) eg )।
এটি সাধারণত একটি ব্যক্তিগত কম্পিউটারে পাওয়া যায়।
একটি মাইক্রোকন্ট্রোলার একটি আইসি যা একটি সিপিইউ পাশাপাশি কিছু পরিমাণ বা র্যাম, রম এবং অন্যান্য পেরিফেরিয়াল থাকে। মাইক্রোকন্ট্রোলাররা বাহ্যিক মেমরি বা সঞ্চয়স্থান ছাড়াই কাজ করতে পারে।
সাধারণত, মাইক্রোকন্ট্রোলারগুলি হয় কোনও পিসিবিতে সোনার আগে প্রোগ্রাম করা হয় বা ব্যক্তিগত কম্পিউটারে সংযুক্ত একটি বিশেষ "প্রোগ্রামার" ডিভাইসের মাধ্যমে ইন-সিস্টেম-প্রোগ্রামিং (আইএসপি বা আইসিএসপি) সংযোগকারীগুলি ব্যবহার করে প্রোগ্রামযোগ্য হয়।
সাধারণ মাইক্রোকন্ট্রোলারগুলি সাধারণত মাইক্রোপ্রসেসরগুলির তুলনায় অনেক সহজ এবং ধীর হয় তবে আমি বিশ্বাস করি যে পার্থক্যটি বেশিরভাগ স্কেল এবং প্রয়োগের মধ্যে একটি।
এটি পাওয়া যায়, উদাহরণস্বরূপ, বেসিক ওয়াশিং মেশিনের মতো সাধারণ সরঞ্জামগুলিতে।
"আরডুইনো" হ'ল একটি সফ্টওয়্যার বিকাশ পরিবেশ এবং একাধিক মাইক্রোকন্ট্রোলার বোর্ড যার সফ্টওয়্যার পরিবেশের জন্য প্রোগ্রামগুলি বিকাশ করতে পারে। বেশিরভাগ বোর্ড এটমেল এভিআর মাইক্রোকন্ট্রোলার ব্যবহার করে।
আরডুইনো একটি মাইক্রোকন্ট্রোলার ভিত্তিক প্ল্যাটফর্ম (ইউএনওর জন্য এটিএমজিএ 328)। সাধারণভাবে ইনপুটগুলি সেন্সিংয়ের জন্য মাইক্রো প্রসেসরের চেয়ে কোনও মাইক্রো-কন্ট্রোলার আরও উপযুক্ত। এর কারণ এটিএমটিজিএ 328 এর মতো মাইক্রো-কন্ট্রোলারগুলির ভোল্টেজগুলি বোঝার জন্য ডিজিটাল রূপান্তরকারীগুলির (এডিসি) অ্যানালগ রয়েছে এবং পিডাব্লুএমএম আউটপুট পাশাপাশি ডিজিটাল আই / ওএস রয়েছে have
আরডুইনোর সাথে আপনার কাছে আরডুইনো ডেভ সিস্টেমও রয়েছে যা নবাগতদের জন্য প্রোগ্রাম করা সহজ এবং সমর্থন এবং গ্রন্থাগারগুলির জন্য একটি ভাল সম্প্রদায় রয়েছে।
একটি প্রতিরোধী টাচ স্ক্রিনটি পেন্টিওমিটারগুলির মতো আচরণ করে; x এর জন্য একটি এবং y এর জন্য একটি। সুতরাং আপনি এটিকে আরডিনো অ্যানালগ ইনপুটগুলিতে রাখতে পারেন। বিশদ জন্য এখানে দেখুন ।
আরেকটি বিকল্প ভালো কিছু সঙ্গে SPI বা i2c রূপান্তর হয় এই , এবং Arduino সঙ্গে পড়া।
যে কোনও উপায়ে আমি মনে করি আরডুইনো একটি ভাল পছন্দ।
আরডুইনোতে একটি মাইক্রোকন্ট্রোলার থাকে (এটি ইউএনও সংস্করণে এটিমেগা 328)। সুতরাং আরডুইনো হ'ল একটি পিসিবি যা মাইক্রোকন্ট্রোলারের পিনগুলি ভালভাবে পৃথক করা হয়েছে, একটি পাওয়ারসপ্লাই, একটি স্ফটিক এবং এফটিডিআই একটি অন বোর্ডের ফার্মওয়্যারের সাথে ইউএসবি সংযোগের জন্য যাতে আপনি সহজেই এটির নিজস্ব আইডিই দিয়ে প্রোগ্রাম করতে পারেন। এখানে Arduino উপাদান সম্পর্কে একটি তালিকা রয়েছে: http://learn.adafruit.com/arduino-tips-tricks-and-techniques/arduino-uno-faq