সুচিপত্র:

কিভাবে একটি MCU পিন দিয়ে অনেক সুইচ পড়বেন: 4 টি ধাপ
কিভাবে একটি MCU পিন দিয়ে অনেক সুইচ পড়বেন: 4 টি ধাপ

ভিডিও: কিভাবে একটি MCU পিন দিয়ে অনেক সুইচ পড়বেন: 4 টি ধাপ

ভিডিও: কিভাবে একটি MCU পিন দিয়ে অনেক সুইচ পড়বেন: 4 টি ধাপ
ভিডিও: কারেন্টের বোর্ড ফিটিং দুই সুইচ এক সকেট এক রেগুলেটর | 2 Switch 1 Socket 1 Regulator Connection Bangla 2024, নভেম্বর
Anonim
কিভাবে একটি MCU পিন দিয়ে অনেক সুইচ পড়বেন
কিভাবে একটি MCU পিন দিয়ে অনেক সুইচ পড়বেন

আপনি কি কখনও একটি প্রকল্প (গুলি) থেকে দূরে সরে যাচ্ছেন এবং প্রকল্পটি ক্রমবর্ধমান এবং বৃদ্ধি পাচ্ছে, যখন আপনি এতে আরও কিছু যুক্ত করেন (আমরা একে ফেপিং ক্রিয়েটিউরিজম বলি)? একটি সাম্প্রতিক প্রকল্পে, আমি একটি ফ্রিকোয়েন্সি মিটার তৈরি করছিলাম এবং একটি পাঁচটি ফাংশন সিগন্যাল জেনারেটর/ফ্রিকোয়েন্সি সিনথেসাইজার যুক্ত করেছি। আমি শীঘ্রই আমার কাছে পাওয়া পিনগুলি যতটা বাকি ছিল তার চেয়ে বেশি সুইচ দিয়ে ক্ষতবিক্ষত হয়ে গেলাম, তাহলে একজন লোক কী করবে?

যাইহোক, শীঘ্রই আমার ফানবক্সে আরও সাতটি সুইচ ছিল (হ্যাঁ, এটাকেই আমি আমার ফাংশন জেনারেটর বলেছিলাম … আমি জানি, আমার কোন সৃজনশীলতা নেই) এবং এখানে একটি সংক্ষিপ্ত নির্দেশ দেওয়া হয়েছে যে আপনি কীভাবে এটি করতে পারেন। এর জন্য কোন শিফট রেজিস্টার বা নির্দিষ্ট আইসি এর প্রয়োজন নেই। প্রকৃতপক্ষে, এটি একটি মাইক্রোকন্ট্রোলার প্রয়োজন হয় না, যদি, পৃথক অর্ধপরিবাহী আপনি কিভাবে রোল। আপনার AVR (অথবা অন্যান্য মাইক্রোকন্ট্রোলার… এভির ছাড়াও অন্যান্য মাইক্রোকন্ট্রোলার আছে, কিন্তু আমি কল্পনাও করতে পারছি না) শুনেছি।:)

ধাপ 1: অপরিহার্য (সত্যিই নয়)

এটি সম্পন্ন করার জন্য, আপনার কয়েকটি উপাদান প্রয়োজন। এটি আপনাকে সুইচগুলি পরিচালনা করতে সহায়তা করে যা আপনাকে পরিচালনা করতে হবে। আপনার কিছু প্রতিরোধক এবং একটি মাইক্রোকন্ট্রোলারেরও প্রয়োজন হবে যার ADC (এনালগ-টু-ডিজিটাল রূপান্তর) বা অন্য কোনও উপায় যা আপনি ইঙ্গিত করতে চান যে একটি সুইচ সক্রিয় ছিল এবং কোনটি সুইচ ছিল।

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

ধাপ 2: ভোল্টেজ ডিভাইডার

ভোল্টেজ ডিভাইডার
ভোল্টেজ ডিভাইডার
ভোল্টেজ ডিভাইডার
ভোল্টেজ ডিভাইডার

মূলত, আমরা যেভাবে এটি করতে যাচ্ছি তা হল ভোল্টেজ ডিভাইডার নামে একটি কৌশল এবং সার্কিট ব্যবহার করে। ভোল্টেজ ডিভাইডারগুলি, যেমন আপনি অনুমান করতে পারেন, V,, in, ভোল্টেজকে আপনার নির্ধারিত কিছু মান দিয়ে ভাগ করুন। আপনি ক্যাপাসিটার এবং ইন্ডাক্টর সহ বেশ কয়েকটি উপাদান দিয়ে ভোল্টেজ ভাগ করতে পারেন, কিন্তু এখানে আমি এটি 'ওল রেজিস্টর' দিয়ে করতে যাচ্ছি। আইডিয়া আমরা যা করছি তা হল সিরিজের দুটি উপাদান স্থাপন করা যা প্রত্যেকটি পৃথকভাবে কম্পোনেন্ট জুড়ে ভোল্টেজ কমিয়ে দেবে। প্রথম ছবিটি দেখুন যদি আমি বুঝতে না পারি। রেল থেকে রেল পর্যন্ত 9V এর সম্ভাব্য পার্থক্য রয়েছে। 9V এবং 0V এর মধ্যে সিরিজের দুটি প্রতিরোধক রয়েছে। এইগুলির প্রত্যেকটিই প্রতিরোধের উপর নির্ভর করে নিজেই একটি ভোল্টেজ ড্রপ অনুভব করবে, যেমনটি সম্ভবত আপনি V = IR থেকে স্মরণ করবেন। যদি আপনি দুটি প্রতিরোধকের মধ্যে একটি ভোল্টেজ পরিমাপ গ্রহণ করেন, আপনি 9V এবং 0V এর মধ্যে কিছু মান পাবেন, তার উপর নির্ভর করে প্রথম প্রতিরোধক জুড়ে কত ভোল্টেজ নেমে গেছে এবং 0V এর আগে দ্বিতীয় প্রতিরোধকের উপর কতটুকু ড্রপ বাকি আছে। এই পরিস্থিতিতে একটি প্রতিরোধক জুড়ে ভোল্টেজ ড্রপ গণনা করার জন্য একটি সহজবোধ্য সূত্র আছে এবং এটি এইরকম দেখাচ্ছে। প্রতিরোধক 1 (R1) এর উপর ভোল্টেজ V1 হতে দিন এবং প্রতিরোধক দুই (R2) এর ভোল্টেজ V2 হতে দিন। যেহেতু আমি আর বিন্যাস ব্যবহার করতে পারছি না, সূত্রের জন্য নীচের ছবি 2 দেখুন … সুতরাং, আমাদের প্রতিরোধক বিভাজকটিতে, Vout ভোল্টেজটি V2 এর জন্য আমাদের সূত্র দ্বারা নির্ধারণ করা যেতে পারে (যেহেতু আমরা GND থেকে 0V উল্লেখ করব)। এক পিন থেকে একগুচ্ছ সুইচ সনাক্ত হওয়ার সাথে এর কী সম্পর্ক আছে? আচ্ছা, পাতা উল্টান এবং আমি আপনাকে দেখাব!

ধাপ 3: ভোল্টেজ ডিভাইডার মই

ভোল্টেজ ডিভাইডার মই
ভোল্টেজ ডিভাইডার মই

এখন ধরুন আমাদের সমস্ত সুইচ আছে, হয়তো ছয় বা আট বা ষোলটি, সবই প্রতিরোধকের মাধ্যমে সংযুক্ত যা প্রতিটি ভোল্টেজ ডিভাইডার হিসেবে কাজ করে যেমন যখন সুইচ পিনের অবস্থা পরিবর্তিত হয়, ভোল্টেজ পড়ে এবং ভোল্টেজ স্তরের উপর ভিত্তি করে, আমরা কোন সুইচটি সক্রিয় করা হয়েছে তা জানতে পারেন। নীচে দেখো. নীচের ছবিতে, আমি সুইচের দুটি ব্লক সংযুক্ত করেছি। সর্বাধিক ব্লকে দুটি সুইচ রয়েছে এবং নীচের অংশে পাঁচটি সুইচ রয়েছে। আপনি আপনার পৃথক টগল, ক্ষণস্থায়ী, স্পর্শযোগ্য, ইত্যাদি সুইচগুলিকে একইভাবে সংযুক্ত করতে পারেন। লক্ষ্য করার জন্য গুরুত্বপূর্ণ বিষয় হল যে প্রতিরোধকটি আপনার সুইচটির সাথে সংযুক্ত। আমার উদাহরণে, আমি ভোল্টেজ ফাঁক তৈরি করতে পরবর্তী প্রতিরোধকের প্রতিরোধ প্রায় দ্বিগুণ করেছি যা পরিমাপ করা সহজ এবং আগে বা পরে সুইচের জন্য ভুল নয়। যদি আপনি আগে খেয়াল না করেন, আবার দেখুন, এবং বুঝতে পারেন যে আমরা আমাদের পুরানো বন্ধু প্রতিরোধী ভোল্টেজ ডিভাইডারে ফিরে এসেছি। প্রথম প্রতিরোধক, 10k ওহম, 5V এবং দ্বিতীয় প্রতিরোধকের সাথে সংযুক্ত - প্রতিরোধক যা V নির্ধারণ করবেবাইরে SWITCH_ADC পিনের জন্য, প্রতিটি সুইচের সাথে সংযুক্ত থাকে এবং সেইজন্য, প্রতিটি সুইচ একটি নির্দিষ্ট Vout ভোল্টেজের সাথে যুক্ত থাকে যা SWITCH_ADC এ সংযুক্ত ADC পিন থেকে পড়া যায়। এরপরে, প্রতিটি সুইচ থেকে প্রত্যাশিত ভাউট নির্ধারণ করুন

Vout = Vin * (R2 / (R1 + R2))

এক সুইচ জন্য:

Vout = 5V * (500 / (10000 + 500)) = 5 * 0.048 = 0.24V বা 240 mV

সুইচ দুই জন্য:

Vout = 5V * (2200 / (10000 + 2200)) = 5 * 0.18 = 0.9V বা ~ 900mV

এবং তাই.. R2 এর জন্য আপনার নিজের মানগুলি নির্দ্বিধায় প্রতিস্থাপন করুন যদি আপনার কেবল নির্দিষ্ট প্রতিরোধক হাতে থাকে … এখানে মূল জিনিসটি হল সুইচগুলির মধ্যে ভোল্টেজের মধ্যে একটি বিস্তৃত ফাঁক রাখা যাতে ADC- এ ত্রুটির কোন মার্জিন জয়ী হয় ' টি আপনাকে প্রতিবেশী সুইচ থেকে প্রত্যাশিত ভোল্টেজের মধ্যে রাখবে। আমি সবচেয়ে সহজ কাজটি পেয়েছি ডিভাইডার সিঁড়ি তৈরি করা এবং ADC পিনে একটি মাল্টিমিটার/ভোল্টমিটার লাগানো এবং প্রতিটি পিন টিপুন এবং দেখুন আপনি কোন মানগুলি পান। আপনি যা গণনা করেন তার উপর তাদের বেশ স্পট হওয়া উচিত। একবার একটি নির্দিষ্ট প্রতিরোধক ব্যবহার করে প্রতিটি সুইচ থেকে আপনার প্রত্যাশিত ভোল্টেজের সব মান পেয়ে গেলে, আপনি আপনার MCU কে ADC পিন পড়তে এবং কোন সুইচটি চাপানো হয়েছিল তা নির্ধারণ করতে আপনার পরিচিত মানগুলির সাথে তুলনা করতে পারেন। উদাহরণস্বরূপ, বলুন যে আপনি একটি ইন্টারাপ্ট সার্ভিস রুটিন নথিভুক্ত করেছেন যা যখনই ADC পিনে সনাক্ত করা পরিবর্তন হবে তখন তাকে বলা হবে। সেই আইএসআর এর ভিতরে, আপনি এডিসি পড়তে পারেন এবং আপনার সুইচ টেবিলের সাথে সেই মানটির তুলনা করতে পারেন। যদি আপনি একটি 8-বিট ADC মান ব্যবহার করেন, আপনার ভোল্টেজটি 0 এবং 255 এর মধ্যে একটি সংখ্যায় রূপান্তরিত হবে যা 0V এবং 5V এর মধ্যে একটি ভোল্টেজের সাথে মিলে যাবে। এটি ধরে নেয় যে আপনি আপনার এডিসি এইভাবে কনফিগার করেছেন।

ধাপ 4: সারাংশ

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

প্রস্তাবিত: