INPUT এবং INPUT_PULLUP এর মধ্যে পার্থক্য কী?


24

নতুন Arduinos উপর, এক তিনটি রাজ্যে এক pinMode সেট করতে পারেন: OUTPUT, INPUT, এবং INPUT_PULLUP

এই পৃষ্ঠাটি বলেছেন:

আরডুইনোর আটমেগা চিপের অভ্যন্তরীণ পুল-আপ প্রতিরোধক রয়েছে (প্রতিরোধকরা যা অভ্যন্তরীণভাবে পাওয়ার সাথে সংযুক্ত থাকে) যা আপনি অ্যাক্সেস করতে পারবেন। আপনি যদি বাহ্যিক পুল-ডাউন প্রতিরোধকের পরিবর্তে এগুলি ব্যবহার করতে পছন্দ করেন তবে আপনি পিনমোড () এ INPUT_PULLUP যুক্তিটি ব্যবহার করতে পারেন। এটি কার্যকরভাবে আচরণটিকে উল্টে দেয়, যেখানে HIGH এর অর্থ সেন্সরটি বন্ধ রয়েছে এবং LOW এর অর্থ সেন্সরটি চালু।

আমি বরং নিশ্চিত যে আচরণটি উল্টানো কেবল এমনটি নয় যা যদিও এটি করে।

কি করে INPUT_PULLUP? এটিকে কী থেকে আলাদা করে তোলে INPUTএবং কোনটি কোনটি ব্যবহার করবেন তা কীভাবে সিদ্ধান্ত নেবে?


INPUT_PULLUP আইডিই 1.0.1 এর সাথে যুক্ত হয়েছিল। আপনি যেটি আরডুইনো বোর্ড ব্যবহার করেন তা অপ্রাসঙ্গিক, তারা সকলেই পুলআপকে সমর্থন করে।
বাল্ডেনজিনিয়ার

উত্তর:


23

ডিফল্টটি হ'ল INPUTযা পিনটিকে একটি হিসাবে সেট করে INPUT। যদি পিনটি সম্পূর্ণ সংযোগ বিচ্ছিন্ন হয় তবে এটি এলোমেলোভাবে পড়বে HIGHএবং LOW। আপনি যদি এটি +5 ভি বা 0 ভিতে টাই করেন তবে এটি স্পষ্টতই পড়বে HIGHবা LOW

আরডুইনোর অভ্যন্তরীণ হ'ল 50k-ohm এর মান সহ পুলআপ প্রতিরোধক। এই প্রতিরোধকগুলি অভ্যন্তরীণভাবে ব্যবহার করে বিকল্পভাবে সংযুক্ত হতে পারে INPUT_PULLUP। এটি কার্যত (এবং বৈদ্যুতিন) পিন এবং + 5 ভি এর মধ্যে 50 ক-ওহম প্রতিরোধককে সংযুক্ত করার সমতুল্য, কেবলমাত্র পার্থক্য হ'ল এর জন্য কোনও বাহ্যিক উপাদান নেই এবং আপনার প্রোগ্রামটি কার্যকর করার সময় আপনি সফ্টওয়্যারটিতে এটি চালু এবং বন্ধ করতে পারেন।

তাহলে কেন পুল-আপগুলি এবং পুল-ডাউনগুলি নয়? এর বেশ কয়েকটি কারণ সম্ভবত রয়েছে, তবে তারের বোতাম বা সুইচগুলি বা কোনও কিছু "সাধারণত খোলা" থাকাকালীন আপনাকে কেবল তাদের মাটিতেই বেঁধে রাখতে হবে, আপনার তাদের কাছে + 5V চালানোর দরকার নেই। যেহেতু বেশিরভাগ বোর্ডগুলি যে কোনও উপায়ে reasonsাল দেওয়ার কারণে বৃহত্তর গ্রাউন্ড পোর দিয়ে নকশাকৃত হতে চলেছে, তাই স্থলভাগে বেঁধে রাখা কার্যত কারণে।

এআরএম চিপসের মতো আরও কয়েকটি বৈশিষ্ট্যযুক্ত আইসিগুলিতে উভয়ই পুল আপ এবং টান ডাউনগুলি রয়েছে তবে 8-বিট এভিআর লাইনটি কেবল পুল-আপগুলি নিয়ে আসে। আপনাকে কেবল মনে রাখতে হবে যে HIGHএটি "উন্মুক্ত" এবং LOW"বন্ধ"।


ভোট দিন। এফওয়াইআই, ডকুমেন্টেশন অনুসারে অভ্যন্তরীণ পুল-আপগুলি 20 কে, এটি 50 কে থেকে খুব বেশি পার্থক্য করে না। arduino.cc/en/ টিউটোরিয়াল
এসডসোলার

9

নোট করুন যে পূর্ববর্তী ১.০.১ এ আপনি ব্যবহার করে পুলআপ চালু করতে পারেন digitalWrite()। এবং আপনি এখনও করতে পারেন।

কোড:

pinMode(13, INPUT);
digitalWrite(13, HIGH); // Turns internal pull-up on
digitalWrite(13, LOW);  // Turns internal pull-up off

এটি একটি গুরুত্বপূর্ণ পার্থক্য কারণ INPUT_PULLUPস্পষ্টতই পুল-আপ প্রতিরোধকটি চালু হয়। তবে, স্পষ্টতই কম, এটি কেবল 1.0.1 দিয়ে শুরু করা, কেবল কলিংটি INPUTপুল- আপটিকে বন্ধ করতে বাধ্য করে। (পূর্বে, পুল-আপের অবস্থা একই ছিল)।

কোনও পিন কীভাবে পুল-আপগুলি ছাড়াই এবং পরিচালনা করে তা দেখতে নীচের ভিডিওগুলি দেখুন।

অসিলোস্কোপে ভাসমান পিন: http://www.youtube.com/watch?v=dBIBFLYCjMM

পুল-আপ সক্ষম সহ: http://www.youtube.com/watch?v=SAIw7LLVl-U

পুল-আপস-এ সম্পূর্ণ টিউটোরিয়াল ভিডিও (নোট করুন যে আমি এটিআরডিনো লাইব্রেরিতে INPUT_PULLUP যুক্ত করার আগে তৈরি করেছি): http://www.youtube.com/watch?&v=jJnD6LdGmUo


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