লেখক: টারন ফক্সওয়ার্থ
আপনি যদি কখনো আর্ডুইনোর সাথে একটি বাটন 와য়ার করছেন, তবে এই ডায়াগ্রামটি দেখেছেন:
প্রথম প্রথম, এটি বিভ্রান্তিকর হতে পারে। আমার প্রথম চিন্তা: "রেজিস্টর কেন লাগবে? আমি শুধু চাই বাটনটি চাপা হয়েছে কিনা সেটি জানতে।"
অনেক পড়ার পরও কোনো সিম্পল ব্যাখ্যা পাওয়া যায়নি।
এখানে কী ঘটছে
Diagram 1
বাটনটি—যাকে সুইচও বলা হয়—তার ওয়্যারগুলো "H" আকারে রয়েছে। কিন্তু মাঝপথটি কানেক্টেড নয়—অথবা সার্কিটটি কানেক্টেড নয়—যতক্ষণ না বাটনটি চাপা হয়।
বাস্তবে, আমরা আর্ডুইনো থেকে একটি 0 পেতে চাই যখন কিছু কানেক্টেড নয়, এবং 1 পেতে চাই যখন বাটনটি চাপা হয়।
আর্ডুইনোতে, এটাকে জেনারেল পারপাস ইনপুট আউটপুট (GPIO) বলা হয়।
তাহলে আমরা এভাবে করতে পারি:
Diagram 2
পজিটিভ (5V, 3.3V, বা VCC) সার্কিটের বাম পাশে কানেক্ট করুন।
এখন, বাটন চাপা হলে GPIO 1 পড়বে, এবং সব ঠিক আছে।
Diagram 3
আর নয়। আবার Diagram 2 তাকান:
Diagram 2
আমরা চেয়েছিলাম 0 পাওয়া যাবে যখন কিছু কানেক্টেড নয়, কিন্তু এটি কীভাবে গ্যারান্টি করবেন? বর্তমানে GPIO-কে 0 করতে কোনো উপায় নেই।
হাওয়ায় ইলেকট্রোম্যাগনেটিক ফ্রিকোয়েন্সি রয়েছে যা আপনার GPIO-কে 0 বা 1 করে তোলতে পারে। এটা এমনকি দুটোর মাঝপথে ফ্লাকচুয়েটও করতে পারে! এইভাবে, আমরা নিশ্চিত হতে পারি না যে এটি 0 (আমি পান খুব খারাপ)। এটাকেই লজিক্যাল 0 বলা হয়।
লজিক্যাল 0 পাওয়ার একটি উপায় হলো পিনকে গ্রাউন্ডের সাথে বান্ধা:
ইয়ে! এখন এটি গ্যারান্টিড লজিক্যাল জিরো। বাটন চাপলে এখন 1 হবে। ঠিক নাকি?
আর নয়।
আপনি শুধু একটি শর্ট সার্কিট বানালেন। ?
এখানেই রেজিস্টর আসে। শর্ট সার্কিট এড়াতে, আমাদের সার্কিটে রেজিস্ট্যান্স যোগ করতে হয়। রেজিস্টর সব কিছু নিয়ন্ত্রণে রাখে।
বিদ্যুৎ সর্বদা কম রেজিস্ট্যান্সের পথ বেছে নেয়। আপনার GPIO এখন বাটন চাপলে 1 রেজিস্টার করবে। এইভাবে:
Diagram
Diagram
ওহো! এখন আমরা কিছু কাজের জিনিস পেয়েছি।
এখন বিপরীত দিকটি দেখি: পুল-আপ রেজিস্টর। এটি একই জিনিস কিন্তু উল্টো। বাটন চাপা না থাকলে GPIO 1 রেজিস্টার করবে। বাটন চাপলে GPIO 0 হবে।
বাটন চাপা না থাকলে, GPIO পজিটিভ (VCC) এর সাথে কানেক্টেড থাকে। তাই সেখানে যেকোনো কারেন্ট পুল-আপ হবে যাতে GPIO লজিক্যাল 1 রেজিস্টার করে।
Diagram
এখানে একটি গুরুত্বপূর্ণ কথা নোট করুন: বিদ্যুৎ সর্বদা গ্রাউন্ডে যেতে চায়। তাই বাটন চাপলে, যা কারেন্ট ফ্লো করছে সেটি গ্রাউন্ডে যাবে। সুতরাং, GPIO-তে যাওয়া যেকোনো কারেন্ট সেরকম যাবে, ফলে GPIO লজিক্যাল 0-এ থাকবে।
Diagram
? সমাপ্তি।
আমি কেন এই নিবন্ধটি লিখলাম?
আমি ২০১৬ সালের সেপ্টেম্বরতে Losant-এ জয়েন করলাম কোনো হার্ডওয়্যার অভিজ্ঞতা ছাড়া। প্রতিটি হার্ডওয়্যার স্টার্টার কিট আপনাকে একটি বাটন দেয় কিন্তু এই কনসেপ্টের কোনো ব্যাখ্যা দেয় না। আশা করি এটি আপনার লাইট বাল্বও জ্বালায়। ?
এটি কেবল পৃষ্ঠভাগে ছোঁয়েছে। আপনি যদি গভীরে যেতে চান, তবে এই রিসোর্সগুলো চেক করুন:
Pull-up Resistors - learn.sparkfun.com
_পুল-আপ রেজিস্ট্যান্স যত বড় হবে, পিনটি প্রতিক্রিয়া জানাতে তত স্লো হবে…_learn.sparkfun.com
আমি ফিডব্যাক পছন্দ করি। তাই জানান এটা কীভাবে উন্নত করা যায়। আমি যদি পুরোপুরি বোল ছাড়ি দিয়েছি, তবে অবশ্যই জানান! আমি অন্যদের জন্য এটি আরও ভালো করতে চাই।
ফ্রি কোড ক্যাম্পের ওপেন সোর্স কারিকুলাম ৪০,০০০+ মানুষকে ডেভেলপার হিসেবে চাকরি পেতে সাহায্য করেছে। শুরু করুন।