قراءة حالة زر
جزء من قسم الدوائر الأولى في رحلة Arduino على Coddy. الدرس 22 من 22.
يمكن أن يكون المنفذ أيضًا مدخلًا: تقرأ اللوحة ما إذا كانت قيمته HIGH أو LOW.
يوصل هذا الزر المنفذ 2 بالأرضي (0 فولت) أثناء ضغطك عليه. وعندما يكون مرفوعًا، لا يكون المنفذ متصلًا بأي شيء، وقد يقرأ قيمًا عشوائية. يفعّل INPUT_PULLUP مقاومة سحب لأعلى داخل اللوحة، تُبقي المنفذ عند HIGH حتى يسحبه الزر إلى LOW:
pinMode(2, INPUT_PULLUP);تعطي digitalRead(2) مستوى المنفذ. مع مقاومة السحب لأعلى، يقرأ الزر المضغوط LOW:
if (digitalRead(2) == LOW) {
// الزر مضغوط
}if وelse للاختيار، وdigitalWrite() للتحكم في LED، وSerial.println() للإبلاغ.
التحدي
سهلالزر موصول بالمنفذ 2 ومصباح LED بالمنفذ 13. اجعل مصباح LED يضيء أثناء الضغط على الزر:
- اضبط المنفذ 2 على
INPUT_PULLUP - عندما تكون قيمة
digitalRead(buttonPin)هيLOW، شغّل مصباح LED، واطبعPressedوانتظر 200 ms (حتى لا يمتلئ السجل) - وإلا، أطفئ مصباح LED
اضغط على Run، واضغط باستمرار على الزر الأخضر على اللوحة، ثم اضغط على Check.
جرّب بنفسك
const int buttonPin = 2;
const int ledPin = 13;
void setup() {
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الدوائر الأولى
تدرّب بنفسك: Playground لـ Arduino