বাটন রাষ্ট্র এলোমেলোভাবে পরিবর্তন হচ্ছে


14

আমার আড়ডিনোতে আমার কাছে একটি পুশ বোতাম আছে তবে এটি এলোমেলোভাবে ট্রিগার করছে বলে মনে হচ্ছে।

আমার বোতামের একটি পিন আর্দুইনোতে পিন 2 এর সাথে সংযুক্ত এবং অন্যটি স্থলভাগে সংযুক্ত।

void setup() {
    Serial.begin(9600);

    pinMode(2, INPUT);
}

void loop() {
    Serial.println(digitalRead(2));
}

আমি আশা করি এটি অবিচ্ছিন্নভাবে 1 টি মুদ্রণ করবে এবং আমি বোতামটি নীচে চাপলে 0 এ চলে যাব তবে কখনও কখনও এটি 0 টি প্রদর্শিত না হয়েও আমি এটি স্পর্শ না করি।

উত্তর:


17

যখন একটি কনফিগারেশনে একটি বোতাম সংযুক্ত থাকে, তখন ইনপুটটিকে ভাসমান বলা হয় , যার অর্থ এটি 0 বা 1 নয় When যখন বোতামটি টিপানো হয় তখন এটি স্থলভাগের সাথে সংযুক্ত থাকে, তবে এটি অবশ্যই 0 টি হয় তবে এটি যখন চেপে না যায়, আমরা পিনের মান জানি না।

টান আপ প্রতিরোধক

যখন বোতামটি টিপবে না তখন একটি লজিক 1-এ সিগন্যালটি টানতে আমাদের "পুল-আপ" রোধকারী হিসাবে অন্তর্ভুক্ত করতে হবে।

প্রতিরোধক টানুন

স্পার্কফুন থেকে চিত্র

এর অর্থ হ'ল যখন বোতামটি টিপানো হয় না, আরডুইনো একটি যুক্তি পড়েন the বোতাম টিপলে, বর্তমান প্রতিরোধকের মধ্য দিয়ে প্রবাহিত হয় এবং আরডুইনো একটি যুক্তি 0 পড়ে reads

অভ্যন্তরীণ পুল আপ প্রতিরোধক

আরডুইনোরও অভ্যন্তরীণ টান প্রতিরোধক রয়েছে যাতে অগত্যা আপনার সার্কিটে কোনও অতিরিক্ত উপাদান যুক্ত করতে হবে না। এটি ব্যবহার করার কয়েকটি উপায় রয়েছে।

আপনি এটি এইভাবে করতে হবে:

pinMode(pin, INPUT);           // set pin to input
digitalWrite(pin, HIGH);       // turn on pullup resistors

এখন আমরা কেবল এক লাইনে এটি করতে পারি:

pinMode(pin, INPUT_PULLUP);

এটি সেই পিনের উপর 20k টান আপ প্রতিরোধক সক্ষম করে। বোতামটি টিপানো না হলে ইনপুটটি আর ভাসবে না।

দ্রষ্টব্য: এটি কেবল তখনই কাজ করে যখন অন্য প্রান্তটি মাটির সাথে সংযুক্ত থাকে।


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