মনিটরিং স্টেট অফ অফ স্যুইচ (ডিজিটাল রিড সিরিয়াল) - আরডুইনো বেসিক্স

মনিটরিং স্টেট অফ অফ স্যুইচ (ডিজিটাল রিড সিরিয়াল) - আরডুইনো বেসিক্স

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



ডিজিটাল পঠন সিরিয়াল

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

আপনার আরডুইনো বোর্ডের অতিরিক্ত, আপনার নিম্নলিখিত মৌলিক আইটেমগুলির প্রয়োজন হবে:





হার্ডওয়্যার

একটি ক্ষণস্থায়ী সুইচ, বোতাম, বা একটি পুশ-টু-অন স্যুইচ

10 কে, 1/4 ওয়াট ওহম প্রতিরোধক



রুটিবোর্ড
হুক-আপ বা জাম্পারের তারের লিঙ্কগুলি।

সার্কিট অপারেশন

অপারেশন নিম্নলিখিত পদক্ষেপগুলি দ্বারা সম্পন্ন করা যেতে পারে:

জাম্পারের তারের টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো করে আপনার আরডিনো বোর্ডের সাথে আঁকুন red তারে দুটি, লাল এবং কালো, ব্রেডবোর্ডের পাশের দুটি দীর্ঘ উল্লম্ব সারিগুলিতে যায় যা বোর্ড বহন করার জন্য বোর্ডের সরবরাহ কর্ড হয়ে যায় the বোর্ডে 5V ডিসি লাগবে।

তৃতীয় তারটি ডিজিটাল পিনকে 2-তে পুশ-টু-ওএন স্যুইচের একটি শীর্ষে সংযোগ করার জন্য ব্যবহৃত হয়।

বোতামের এই নির্দিষ্ট সীসাটি নেতিবাচক সরবরাহ রেল বা গ্রাউন্ডে একটি পুল-ডাউন 10 কে রেজিস্টারের সাথে যুক্ত হয়। স্যুইচ এর অন্যান্য বিনামূল্যে সীসা 5 ভোল্ট সরবরাহের ইতিবাচক সাথে যুক্ত করা হয়।

উপরের সংযোগগুলি তৈরি করার সাথে সাথে স্যুইচটি টোকল দেওয়া হয় বা একটি পুশ দেওয়া হলে সার্কিটটিতে দ্বৈত ক্রিয়া সম্পাদন করে।

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

চাপযুক্ত পরিস্থিতিতে স্যুইচটি তার দুটি সীসাগুলির একটি ব্রিজিং একটি ক্ষণিকের জন্য কার্যকর করে, যেমন এর শীর্ষগুলি + 5 ভোল্টের সাপেক্ষে, এইচআইএইচ রেন্ডারিং করে বা তাদের চারপাশে 1 লজিক যুক্ত করে।

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

স্কিম্যাটিক

কোড বোঝা

নীচের নীচের প্রোগ্রামে, আমরা সেটআপ ফাংশনটির মধ্যে প্রতি সেকেন্ডে 9600 বিটের ডেটার হারে ক্রমিক যোগাযোগ শুরু করি, এটি আরডুইনো বোর্ড এবং সংযুক্ত কম্পিউটারের মধ্যে শুরু করা হয়: সিরিয়াল.বেগিন (9600)

পরবর্তী পদক্ষেপে আমরা ডিজিটাল পিন 2 ট্রিগার করি, ইনপুট হিসাবে পুশ সুইচটি দিয়ে আউটপুটটির জন্য যে পিনটি দায়বদ্ধ হবে: পিনমোড (2, ইনপুট) এটি আমাদের 'সেটআপ' সম্পূর্ণ করে, এখন আমরা আমাদের কোডের মূল লুপটিতে যাত্রা করি ।

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

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

প্রোগ্রামের মূল লুপে আমাদের যে মৌলিক ক্রিয়াটি সম্পাদন করতে হবে তা হ'ল পুশ বোতামের মাধ্যমে প্রেরিত তথ্যগুলিকে ঠিক রাখার জন্য একটি ভেরিয়েবল প্রয়োগ করা।

সিগন্যালগুলি একটি '1' বা '0' আকারে থাকায় উপরে যেমন আলোচনা করা হয়েছে, আমরা এখানে একটি ইনটা ডাটাটাইপ নিযুক্ত করি। আমরা এই ভেরিয়েবলটির নাম সেন্সরভ্যালু হিসাবে রাখতে পারি এবং এটি ডিজিটাল পিন 2 এ যা পড়া হচ্ছে তার সাথে মিলে এটি ঠিক করতে পারি these এগুলি কোডের এক লাইনের মাধ্যমে অর্জনযোগ্য হয়ে ওঠে:

ইন্টি সেন্সরভ্যালু = ডিজিটাল রিড (২) আরডুইনো একবার ইনপুট পড়ার পরে দশমিক মান আকারে কম্পিউটারে আবার মুদ্রণ করুন।

কোডের শেষের লাইনে সিরিয়াল.প্রিন্টলন () কমান্ডের সাহায্যে এটি প্রয়োগ করা যেতে পারে: সিরিয়াল.প্রিন্টলন (সেন্সরভ্যালু)

এর পরে, যখনই সিরিয়াল মনিটরটি আরডুইনো ডোমেনে শুরু করা হয়, তখন আমরা ধাক্কা বোতামের সময় '0'র একটি শৃঙ্খলা খোলা অবস্থায় থাকতাম এবং বোতামটি বন্ধ অবস্থায় রাখা অবস্থায় চেইন 1 এর শৃঙ্খলা ছিল।

/*
DigitalReadSerial
Reads a digital input on pin 2, prints the result to the serial monitor
This example code is in the public domain.
*/
// digital pin 2 has a pushbutton attached to it. Give it a name:
int pushButton = 2

// the setup routine runs once when you press reset:
void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(9600)
// make the pushbutton's pin an input:
pinMode(pushButton, INPUT)
}
// the loop routine runs over and over again forever:
void loop() {
// read the input pin:
int buttonState = digitalRead(pushButton)
// print out the state of the button:
Serial.println(buttonState)
delay(1) // delay in between reads for stability
}




পূর্ববর্তী: টাইমার সার্কিট সহ কাস্টমাইজড ওয়াটার ফ্লো কন্ট্রোলার পরবর্তী: অ্যানালগকে ডিজিটাল রূপান্তর করা (অ্যানালগ রিড সিরিয়াল) - আরডুইনো বেসিক্স